Instalação e configuração do IDS snort
Snort é um software livre de detecção de intrusão para rede (NIDS) desenvolvido inicialmente por Martin Roesch, capaz de desenvolver análise de tráfego em tempo real e registro de pacote em redes IP. Executa análise de protocolo, busca/associa padrões de conteúdo e pode ser usado para detectar uma variedade de ataques, tais como buffer overflows, stealth port scans, ataques CGI, SMB probes, OS fingerprinting, entre outras. Esta ferramenta é suportada em arquiteturas RISC e CISC e em plataformas das mais diversas, como várias distros Linux (Red Hat, Debian, Slackware, Mandrake, etc.), OpenBSD, FreeBSD, NetBSD, Solaris, SunOS, HP-UX, AIX, IRIX, Tru64 e MacOS X.
No Brasil existe o projeto Snort-BR, um esforço para a criação de uma comunidade de usuários da ferramenta open-source para IDS no país.
[fonte: http://pt.wikipedia.org/wiki/Snort]
Instalação:
# apt-get install mysql-server mysql-client
Preencha o campo com a senha do administrador do mysql e depois redigite a senha.
# mysql -u root -p
mysql> create database snort;
mysql> grant all privileges on snort.* to snort@localhost identified by ‘senha_adm_mysql’;
mysql> flush privileges;
mysql> quit
Configurando a base de dados
# zcat /usr/share/doc/snort-mysql/create_mysql.gz | mysql -u root -h localhost -p snort
# apt-get install snort-mysql snort-rules-default
Editar algumas configurações do snort
# vi /etc/snort/snort.debian.conf
DEBIAN_SNORT_HOME_NET=”127.0.0.0/8,10.1.1.0/24″
Debian_SNORT_INTERFACE=”eth0″
—–
Vamos configurar o snort para usar o mysql
# vi /etc/snort/database.conf
database: log, mysql, user=snort password=senha_snort_mysql dbname=snort host=localhost
——-
Temos de remover o arquivo db-pending-config sem o qual não seria possível iniciar o snort.
# rm /etc/snort/db-pending-config
Reiniciar o snort
# /etc/init.d/snort restart
Se a intenção era apenas a instalação do snort o mesmo já está instalado e funcionando, mas não irei ficar apenas com isso.
Vamos a instalar o BASE (Basic Analysis and Security Engine) para a análise de alertas gerado pelo snort.
Instalar alguns pacotes necessários
# apt-get install php5 php5-mysql php5-gd php-pear libapache2-mod-php5 zip unzip
Vamos reiniciar o apache2 para ter suporte ao php
# /etc/init.d/apache2 restart
Download do BASE
# wget http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gz
vamos descompactar o arquivo baixado
# tar xzvf base-1.4.5.tar.gz -C /var/www
# cd /var/www
# mv base-1.4.5/ base
Trocar o dono/grupo
# chown www-data:www-data base -R
Vamos baixar também o adodb para acesso a base de dados
# wget http://sourceforge.net/projects/adodb/files/adodb-php5-only/adodb-513-for-php/adodb513.zip
Descompactar
# unzip -d /var/www adodb513.zip
# chown www-data:www-data adodb5 -R
Vamos configurar o BASE
# cd /var/www/base
# cp -a base_conf.php.dist base_conf.php
# vi base_conf.php
$BASE_urlpath = ‘/base’;
$DBlib_path = ‘/var/www/adodb5’;
$alert_dbname = ‘snort’;
$alert_host = ‘localhost’;
$alert_port = ”;
$alert_user = ‘snort’;
—————————-
Instalar dependências pear Image_Canvas e Image_Graph
# pear install -a pear/Image_Graph-0.8.0
Ao invés de trazer o que foi pedido ele trouxe o Numbers_Words, mas precisamos dela então vamos resolver outra dependencia
# pear install -a pear/Image_Canvas-0.3.0
E agora sim o Image_Graph
# pear install -a pear/Image_Graph-0.8.0
Vamos abrir o navegador e verificar se está tudo OK
http://10.1.1.11/base
Como nada é tão simples está pedindo para configurar DB utilizado pelo BASE, clique em Setup page.
Clique em Create BASE AG
Pronto, agora podemos clicar em Main page e teremos a tela principal do BASE, como na figura a seguir.
Agora fica mais fácil analisar os alertas gerados pelo SNORT, o BASE não é o único com esse propósito existe outro que é o snorby com uma bela GUI e muito versátil.
Espero que tenham gostado do post e mais uma vez assinem o nosso portal e continuem votando no topblog.
Legal so uma duvida
Como instalo os agentes. nos servidores as serem monitorados
obrigado
Jonas,
De qual agente estamos falando? O snort possui alguns agentes (plugins) que podem ser utilizados no próprio servidor e cada um com sua própria forma de configuração. Ele é um IDS e não há agente para ser instalado em clientes.
Abraços
Onde é recomendavél instalar o snort ? No servidor firewall/proxy ? ou Um servidor dedicado pegando informação do firewall/proxy?
Claudio,
O snort apenas detecta, por padrão ele não irá tomar nenhuma ação quando detectar qualquer tentativa de intrusão, apesar de ser possível a adição de algum plugin que vá fazer isso.
Recomendo a utilização de um IPS (como o HLBR) e depois uma máquina firewall/proxy com o snort só para garantia.
Abraços
Galera do cooperati, vamos fazer como slogan do Bernades, – “Não falo de instalação, configuração básica, etc. Aqui no CooperaTI só publicamos o “algo a mais” , – instalação e configuração tem em todo lugar, o interessante é saber onde o ids é colocado no perímetro, simulações de ataque(exploits) contra o mesmo, plguins mas interessados, teste de falso positvo e falso negativo(esse é o pior)…etc.
Paulo,
Obrigado pelo comentário, nesse momento estou atendendo alguns pedidos de instalação e configuração, mesmo sabendo que estão em todo lugar.
Abraços
[…] Dica dos amigos do CooperaTi […]
Qual foi a versão do Debian que você usou pra instalar?
Sival,
Foi Debian 6.0 na época.