Integridad de archivos y persistencia
Los archivos del sistema que InfraFence vigila con huellas SHA-256 - cuentas, sudoers, claves SSH, cron, unidades systemd, ld.so.preload - y cómo se notifican los cambios.
Última actualización:
Los atacantes que consiguen entrar intentan quedarse: una nueva clave SSH, una tarea cron, una unidad systemd, una biblioteca precargada. El agente guarda una huella SHA-256 de los archivos que usan y notifica cada cambio.
Archivos vigilados
| Archivos | Gravedad de un cambio |
|---|---|
/etc/sudoers, /etc/sudoers.d/* |
critical |
/root/.ssh/authorized_keys, /home/*/.ssh/authorized_keys |
critical |
/etc/ld.so.preload |
critical |
/etc/shadow, /etc/ssh/sshd_config |
warning |
/etc/crontab, /etc/cron.d/*, /var/spool/cron/crontabs/*, /var/spool/cron/* |
warning |
/etc/systemd/system/*.service, /etc/systemd/system/*.timer |
warning |
/etc/passwd, /etc/group, /etc/hosts, /etc/resolv.conf |
info |
Cómo funciona
- El agente registra la huella y el tamaño de cada archivo al arrancar, y después los compara cada 30 minutos.
- Un cambio se notifica como un evento
integrity_changecon el archivo, el SHA-256 anterior y el nuevo, y el tamaño anterior y el nuevo. El mismo archivo no se vuelve a notificar durante 6 horas. - Los archivos de más de 10 MB se omiten.
- Las huellas se vuelven a tomar en cada arranque del agente, así que un cambio hecho mientras el agente estaba detenido no se notifica.
- Un archivo nuevo en un directorio vigilado, como un archivo nuevo en
/etc/cron.d, se añade a la lista de vigilancia y se notifica a partir de su siguiente cambio.
La pantalla Hallazgos de los plugins para paneles de hosting muestra estos cambios junto a los hallazgos de malware.
Qué dice el análisis inmediato
El análisis inmediato de un cambio lee el archivo y cómo cambió, no solo el evento:
| Archivo | Cambio | Nivel |
|---|---|---|
authorized_keys de cualquier cuenta |
más grande, o contenido en un archivo que estaba vacío: probablemente se añadió una clave | Alto |
authorized_keys |
mismo tamaño, contenido distinto: puede que se haya sustituido una clave | Alto |
authorized_keys |
más pequeño o vacío: se quitaron claves | Bajo |
/etc/sudoers, /etc/sudoers.d/* |
modificado / más pequeño | Alto / Medio |
/etc/ld.so.preload |
contenido añadido / vaciado | Alto / Medio |
/etc/passwd, /etc/group |
más grande / más pequeño / mismo tamaño | Medio / Bajo / Medio |
/etc/shadow |
cualquier cambio | Medio |
/etc/ssh/sshd_config |
cualquier cambio | Medio |
| archivos de cron, unidades systemd | añadidos o modificados / más pequeños | Medio / Bajo |
programas del sistema en /usr/bin, /usr/sbin, /bin, /sbin |
cualquier cambio | Alto |
/etc/hosts, /etc/resolv.conf |
cualquier cambio | Bajo |
Un archivo vaciado se reconoce por su tamaño o por el SHA-256 de un archivo vacío (e3b0c442…). El análisis muestra el tamaño y la huella antes y después, y los comandos para revisar el archivo: para las claves SSH, listarlas, comparar sus huellas con ssh-keygen -lf y ver quién estaba conectado.
El agente compara los archivos cada 30 minutos, así que el análisis busca sesiones SSH en el mismo servidor desde 40 minutos antes del evento hasta 10 minutos después. Luego dice, por ejemplo, "Cambió durante la sesión SSH de root desde 203.0.113.9 (Italia)", o que no se registró ninguna sesión SSH en torno al cambio.
Marcar como esperado
Cuando el cambio lo hiciste tú o un compañero, abre el incidente y elige Marcar como esperado, con una nota opcional. Pueden hacerlo los owners y admins; los miembros ven quién lo marcó, cuándo y la nota. El cambio deja de contar como abierto o crítico, el evento sigue en el historial, Reabrir lo deshace, y ambas acciones quedan en el registro de actividad. Un cambio posterior del mismo archivo vuelve a estar abierto. Con el agente 1.0.34 o posterior, el plugin de WHM e infrafence-agent panel también muestran el cambio como resuelto. Consulta Eventos y actividad para ver cómo se resuelven los problemas.
El agente no necesita nada: justo después de informar de un cambio toma el nuevo contenido como referencia, así que el mismo cambio no se vuelve a informar.
Vigilar, no bloquear
La integridad de archivos solo notifica: nunca revierte un archivo. Combinada con el riesgo de las sesiones SSH, un cambio hecho durante una sesión SSH abierta aumenta la puntuación de riesgo de esa sesión.
