Integridade de arquivos e persistência
Os arquivos de sistema que o InfraFence vigia com bases SHA-256 - contas, sudoers, chaves SSH, cron, unidades systemd, ld.so.preload - e como as alterações são reportadas.
Última atualização:
Os atacantes que entram tentam permanecer: uma nova chave SSH, um job no cron, uma unidade systemd, uma biblioteca pré-carregada. O agente guarda uma impressão digital SHA-256 dos arquivos que eles usam e reporta cada alteração.
Arquivos vigiados
| Arquivos | Gravidade de uma alteração |
|---|---|
/etc/sudoers, /etc/sudoers.d/* |
crítico |
/root/.ssh/authorized_keys, /home/*/.ssh/authorized_keys |
crítico |
/etc/ld.so.preload |
crítico |
/etc/shadow, /etc/ssh/sshd_config |
atenção |
/etc/crontab, /etc/cron.d/*, /var/spool/cron/crontabs/*, /var/spool/cron/* |
atenção |
/etc/systemd/system/*.service, /etc/systemd/system/*.timer |
atenção |
/etc/passwd, /etc/group, /etc/hosts, /etc/resolv.conf |
info |
Como funciona
- O agente registra a impressão digital e o tamanho de cada arquivo quando inicia, depois os compara a cada 30 minutos.
- Uma alteração é reportada como um evento
integrity_change, com o arquivo, o SHA-256 antigo e o novo, e o tamanho antigo e o novo. O mesmo arquivo não é reportado de novo por 6 horas. - Arquivos maiores que 10 MB são ignorados.
- As impressões digitais são tiradas de novo a cada início do agente, então uma alteração feita enquanto o agente estava parado não é reportada.
- Um arquivo novo em um diretório vigiado, como um novo arquivo em
/etc/cron.d, é adicionado à lista de vigilância e reportado a partir da próxima alteração.
A tela Ocorrências dos plugins para painéis de hospedagem mostra essas alterações ao lado das detecções de malware.
O que diz a análise imediata
A análise imediata de uma alteração lê o arquivo e como ele mudou, não só o evento:
| Arquivo | Alteração | Nível |
|---|---|---|
authorized_keys de qualquer conta |
maior, ou conteúdo em um arquivo que estava vazio: provavelmente foi adicionada uma chave | Alto |
authorized_keys |
mesmo tamanho, conteúdo diferente: uma chave pode ter sido substituída | Alto |
authorized_keys |
menor ou vazio: chaves foram removidas | Baixo |
/etc/sudoers, /etc/sudoers.d/* |
alterado / menor | Alto / Médio |
/etc/ld.so.preload |
conteúdo adicionado / esvaziado | Alto / Médio |
/etc/passwd, /etc/group |
maior / menor / mesmo tamanho | Médio / Baixo / Médio |
/etc/shadow |
qualquer alteração | Médio |
/etc/ssh/sshd_config |
qualquer alteração | Médio |
| arquivos do cron, unidades do systemd | adicionados ou alterados / menores | Médio / Baixo |
programas do sistema em /usr/bin, /usr/sbin, /bin, /sbin |
qualquer alteração | Alto |
/etc/hosts, /etc/resolv.conf |
qualquer alteração | Baixo |
Um arquivo esvaziado é reconhecido pelo tamanho ou pelo SHA-256 de um arquivo vazio (e3b0c442…). A análise mostra o tamanho e a impressão digital antes e depois, e os comandos para verificar o arquivo: para chaves SSH, listá-las, comparar as impressões digitais com ssh-keygen -lf e ver quem estava conectado.
O agente compara os arquivos a cada 30 minutos, então a análise procura sessões SSH no mesmo servidor de 40 minutos antes do evento até 10 minutos depois. Depois diz, por exemplo, "Mudou durante a sessão SSH de root a partir de 203.0.113.9 (Itália)", ou que nenhuma sessão SSH foi registrada perto da alteração.
Marcar como esperado
Quando a alteração foi feita por você ou por um colega, abra o incidente e escolha Marcar como esperado, com uma observação opcional. Owners e admins podem fazer isso; os membros veem quem marcou, quando e a observação. A alteração deixa de contar como aberta ou crítica, o evento continua no histórico, Reabrir desfaz, e as duas ações ficam no registro de atividades. Uma alteração posterior do mesmo arquivo volta a ficar aberta. Com o agente 1.0.34 ou posterior, o plugin do WHM e o infrafence-agent panel também mostram a alteração como resolvida. Veja Eventos e atividade para saber como os problemas são resolvidos.
O agente não precisa de nada: logo depois de informar uma alteração, ele passa a usar o novo conteúdo como referência, então a mesma alteração não é informada de novo.
Monitorar, não bloquear
A integridade de arquivos apenas reporta: nunca reverte um arquivo. Combinada com o risco das sessões SSH, uma alteração feita durante uma sessão SSH aberta aumenta a pontuação de risco dessa sessão.
