Visite também: Viva o Linux · Dicas-L · NoticiasLinux · SoftwareLivre.org



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


[Artigo] Snoopy e Auditd - fazendo auditoria no Linux

Linux user
osvaldohp
17/01/2011
Todo administrador de sistemas Linux tem que ter a prática de analisar os logs, depurar problemas, analisar, analisar e analisar. E o nosso grande amigo nessas horas são os logs. Neste post vou mostrar como configurar o Snoopy e o Auditd que são ótimas ferramentas no que diz respeito auditoria.
[ Hits: 10632 ] Por: osvaldo

Introdução

No Linux um dos primeiros logs que você deve analisar em caso de suspeita de invasão é o auth.log. Nele por padrão são registrados as conexões SSH,
atividades do cron e do comando su. Em caso de falha ao tentar logar via SSH será registrado no auth. Veja abaixo um exemplo dos registros do auth:

Dec 30 09:49:58 debian su[2441]: Successful su for root by osvaldo
Dec 30 09:49:58 debian su[2441]: + pts/0 osvaldo:root
Dec 30 09:49:58 debian su[2441]: pam_unix(su:session): session opened for user root by osvaldo(uid=1000)
Dec 30 10:00:01 debian CRON[2564]: pam_unix(cron:session): session closed for user root
Dec 30 10:00:17 debian sshd[2569]: Invalid user naoexiste from 192.168.56.101
Dec 30 10:00:17 debian sshd[2569]: Failed none for invalid user naoexiste from 192.168.56.101 port 61959 ssh2
Dec 30 10:00:21 debian sshd[2569]: pam_unix(sshd:auth): check pass; user unknown
Dec 30 10:00:50 debian sshd[2569]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.56.101
Dec 30 10:00:50 debian sshd[2569]: PAM service(sshd) ignoring max retries; 6 > 3
Dec 30 10:01:01 debian CRON[2572]: pam_unix(cron:session): session opened for user root by (uid=0)
Dec 30 10:01:01 debian CRON[2572]: pam_unix(cron:session): session closed for user root

Veja que tem algumas entradas de atividades do serviço SSHD, onde várias tentativas de acesso foi realizado porém sem sucesso devido a problemas de
login. Podemos ver também atividades do comando “su” e do cron.

O problema é que ele não vai mostrar exatamente o que o usuário fez depois que realizou o login com sucesso. Nas primeiras linhas temos o usuário
“osvaldo” utilizando o “su” para se tornar root no sistema e obteve sucesso em fazer isso, porém todo comando realizado pelo usuário Osvaldo que esta
na máquina como root não será registrada, imagine que você tenha dois usuários normais o Osvaldo e o Matthew que usaram o comando su para se
tornar root no sistema, como você vai saber quais comandos eles usaram como root? E como você vai fazer auditoria no seu sistema se não tem log dos
comandos que foram executados?

A chave deste post é implementar um sistema que registre tudo o que o usuário faça no seus sistema, logar todos os comandos executados com o
comando sudo, até mesmo o sudo -s e registrar as alterações em arquivos específicos.

Próxima página >>


Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por bertelle em 31/01/2011 - 12:25h:

Ola osvaldohp! gostei muito do seu artigo, e resolvi experimentar o snoopy em meu sistema para ver como ele se comportava, o ambiente é um debian 5.0 com um servidor LAMP. Tudo tranquilo, tenho blokhosts, logwath, rkhunter e algumas coisinhas mais... só que... depois de instalado o snoopy, ele passou a ser reportado pelo logwath toda manha, e qual a minha duvida? entradas como estas:

2.108.127.138 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20
12.46.129.15 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20
128.10.19.53 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20
128.223.8.113 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20
129.240.67.17 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20
131.179.112.70 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20
132.239.17.225 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20
137.99.11.86 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3788]: /usr/sbin/traceroute -n -q 1 -m 20

ou ainda estas:

72.36.112.74 : 1 Time(s)
snoopy: [unknown, uid:0 sid:3871]: /usr/lib/apt/methods/bzip2 : 4 Time(s)
snoopy: [unknown, uid:0 sid:3871]: /usr/lib/apt/methods/gpgv : 6 Time(s)
snoopy: [unknown, uid:0 sid:3871]: /usr/lib/apt/methods/gzip : 2 Time(s)
snoopy: [unknown, uid:0 sid:3871]: /usr/lib/apt/methods/http : 21 Time(s)
snoopy: [unknown, uid:0 sid:3871]: /usr/lib/apt/methods/rred : 2 Time(s)
snoopy: [unknown, uid:0 sid:3871]: apt-get update : 3 Time(s)
snoopy: [unknown, uid:0 sid:3871]: apt-show-versions : 3 Time(s)
snoopy: [unknown, uid:0 sid:3871]: df -k / : 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: df -k /arq : 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: dpkg --list : 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: ifconfig -a : 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: ifconfig eth0 : 382 Time(s)
snoopy: [unknown, uid:0 sid:3871]: ps --cols 2048 -eo
user:80,ruser:80,group:80,rgrou: 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: uname -m : 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: uname -r : 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: uname -s : 191 Time(s)
snoopy: [unknown, uid:0 sid:3871]: vmstat 1 2 : 191 Time(s)

Voce poderia me ajudar a identificar, ou me explicar o que isso significa?

[2] Comentário enviado por osvaldohp em 04/02/2011 - 20:07h:

Como foi dito no artigo o Snoopy grava as atividades de comandos executados pelos usuários e como todo programa roda com a permissão de um usuário, sendo esse o root ou não, essas linhas podem ter sido executadas por algum programa instalada na sua máquina. Uma coisa temos certeza, nosse log podemos ver que o uid do usuário é 0, ou seja, foi executado com a permissão de root. No primeiro bloco do log podemos ver que foi executado o comando "traceroute", já no segundo bloco temos vários comandos. Você tem algum programa de monitoramento instalado nessa máquina? Que tipo de aplicativos você esta usando com o LAMP?


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Contribuir com: [ Artigo | Conf | Dica | Notícia ]
Responsáveis pelo site: Fábio Berbert de Paula / OYS Academy
Site hospedado por:

Segurança Linux

Site especializado em conteúdo de segurança para Linux.