Agora iremos testar nossa montagem de perímetro, assim precisamos
verificar se o mesmo está atendendo as nossas necessidades e
gerando os logs que necessitamos.
Para isso vamos utilizar algumas ferramentas simples para gerar
pacotes que não são aceitos dentro da nossa rede.
Com o
Hping vamos gerar protocolos em determinadas portas
diferentes das liberadas.
Primeiro verifique se tudo está funcionando de acordo:
# ps aux | grep snort
root 2079 77.8 12.9 37392 32208 ? R 13:34 0:06 snort -c /etc/snort/snort.conf -o -i ppp0 -D
root 2081 2.0 0.4 3240 1104 pts/0 S 13:35 0:00 grep snort
# ps | grep Guardian
2084 pts/0 00:00:00 Guardian.pl
Bom, estamos prontos:
Primeiramente vamos gerar tráfego normal e permitido para ver se
o Snort não vai gerar logs desnecessários:
(Como permitimos o FTP, vamos nos conectar ao servidor FTP)
$ ftp 192.168.11.1
Connecting...
Hello Welcome to the New World FTP
192.168.10.2:root:(user):
fulano
Password for (fulano):
****
Welcome!!
Unix system type.
ftp>
Muito bem, conectamos no servidor ftp, vamos ver se o Snort gerou algo diferente:
# tail /var/log/snort/alert
Por enquanto tudo sob controle!
Agora que tal tentarmos algo diferente? Vamos simular uma tentativa de conexão em um servidor FINGER:
# hping --syn 192.168.11.1 -p 79
HPING 192.168.11.1 (eth0 192.168.10.2): S set, 40 headers + 0 data bytes
len=40 ip=192.168.11.1 ttl=64 DF id=0 sport=79 flags=RA seq=0 win=0 rtt=5.0 ms
len=40 ip=192.168.11.1ttl=64 DF id=0 sport=79 flags=RA seq=1 win=0 rtt=0.5 ms
len=40 ip=192.168.11.1ttl=64 DF id=0 sport=79 flags=RA seq=2 win=0 rtt=0.5 ms
len=40 ip=192.168.11.1ttl=64 DF id=0 sport=79 flags=RA seq=3 win=0 rtt=0.5 ms
Como vimos, o pacote voltou com Flag RA (ou seja foi rejeitado), primeiro porque, mesmo que houvesse um servidor
fingerd rodando, o iptables não deixaria o tráfego passar. E agora vamos olhar o log do Snort:
[**] Snort Alert! [**]
[Priority: 0]
11/23-13:49:09.475269 192.168.10.2.154:32793 -> 192.168.11.1:79
TCP TTL:57 TOS:0x0 ID:52727 IpLen:20 DgmLen:60 DF
******S* Seq: 0xACD76464 Ack: 0x0 Win: 0x16D0 TcpLen: 40
TCP Options (5) => MSS: 1412 SackOK TS: 60598675 0 NOP WS: 0
BINGO!!!
Viram como ele gerou um alerta contendo o IP que tentou acessar o
serviço bloqueado e também várias informações sobre o pacote?
Com isso temos que nosso sistema de IDS está bem adequado e sugiro
que cada um teste todos os serviços que estão discriminados no IDS
para evitar surpresas depois.
Agora vamos ver no Snort Snarf como ficou o alerta: