Virus en el repository de Subversion, ¿qué hacer?

Imagina la siguiente situación:

  1. Un file infectado con virus se envió a un repository de Subversion.
  2. Un escáner antivirus se ejecuta en el server y también escanea el repository de Subversion.

El escáner antivirus eliminará la revisión afectada o la moverá a cuarentena. La consecuencia es un repository roto.

Si el file de revisión es recuperable (de cuarentena), ¿cómo resolver este problema?
Tengo algunos objectives que lograr:

  1. El AV no puede ser deshabilitado o excluido de los directorys.
  2. El file infectado con virus no se debe almacenar en el repository
  3. El repository debe ser coherente y utilizable.

¿Cuál es la mejor solución para este pequeño problema?

De las preguntas frecuentes :

Hay casos especiales en los que es posible que desee destruir toda la evidencia de un file o confirmación. (Tal vez alguien accidentalmente haya confiado un documento confidencial.) Esto no es tan fácil, porque Subversion está diseñada deliberadamente para nunca perder información. Las revisiones son treees inmutables que se construyen unos sobre otros. Eliminar una revisión de la historia provocaría un efecto dominó, creando caos en todas las revisiones posteriores y posiblemente invalidando todas las copys de trabajo.

El proyecto tiene planes, sin embargo, de implementar algún día un command svnadmin obliterate que logre la tarea de eliminar permanentemente la información. (Ver el problema 516 )

Mientras tanto, tu único recurso es svnadmin volcar tu repository, luego canalizar el file dump a través de svndumpfilter (excluyendo la ruta incorrecta) en un command de carga svnadmin. Vea el capítulo 5 del libro de Subversion para más detalles sobre esto.

¿Lo más fácil? Restaurar desde una copy de security desde antes de la confirmación con el virus …

Si creó el repository en modo file (file repo único por file fuente), entonces probablemente pueda corregir / editar / replace el file infectado.
Si lo creó en modo DB, entonces es más difícil: puede svndump y luego svncreate un nuevo repository, pero probablemente sea más fácil excluir el repository SVN del escaneo de virus.

"El AV no puede ser deshabilitado o excluido de los directorys".

Lucha con tu departamento de TI para agregar tus repositorys en exclusiones. MEJOR, si el AV admite el "modo solo informativo", hágalo funcionar con sus repositorys en modo solo informativo. La mayoría de las veces, esos viejos virus son simplemente falsos positivos. Agregue los ganchos de precomisión a la exploración de virus de cualquier file y rechace la confirmación si está marcada por un virus.

Si el AV informa que el file anterior está infectado, verifique si no es falso positivo. Si no es así, y el file es realmente un virus antiguo, simplemente compromételo a eliminarlo e ignore por completo su existencia en su historial.

    Intereting Posts