Agora vamos instalar uma ferramenta que vai nos auxiliar no monitoramento dos alertas do
Snort.
Vamos entrar no diretório root do
Apache e vamos baixar os arquivos necessários.
# cd /var/www
# wget -c http://ufpr.dl.sourceforge.net/project/secureideas/BASE/base-1.4.5/base-1.4.5.tar.gz
# wget -c http://ufpr.dl.sourceforge.net/project/adodb/adodb-php5-only/adodb-510-for-php5/adodb510.tgz
Agora vamos descompactar o BASE:
# tar -xzvpf base-1.4.5.tar.gz
Vamos renomear o diretório do base para Snort para ficar mais fácil:
# mv base-1.4.5 snort
Ajustar as permissões:
# chown -R root:www-data snort/
# chmod -R g+w snort/
Agora vamos descompactar o Adodb:
# tar -xzvpf adodb510.tgz
Vamos ajustar as permissões:
# chown -R root:root adodb5
Pronto, já temos os pacotes que precisamos, mas antes precisamos instalar as dependências de algumas extensões para o PHP.
Vamos lá então.
# pear upgrade PEAR
# pear install Mail Mail_Mime Image_Color Log Numbers_Roman
# pear install channel://pear.php.net/Numbers_Words-0.16.1
# pear install Image_Graph-alpha
# pear install Image_Canvas-alpha
Pronto, já temos um ambiente com o que precisamos.
Agora vamos acessar pelo navegador o nosso BASE.
http://ip_servidor/snort
Na tela principal de configuração, se não aparecer nem um erro a respeito de permissões vai ter um link "Continue", clique nele para continuarmos a nossa configuração.
Na próxima tela escolha o idioma e informe o caminho para o diretório Adodb: /var/www/adodb5
Na próxima tela temos que informar os dados da nossa base MySQL que configuramos nos pré-requisitos.
Como estamos utilizando o MySQL deixamos a primeira opção como está, as outras opções podem seguir o modelo abaixo.
- Em Database Name: snort
- Em Database Host: localhost
- Database Port Leave blank for default!: 3306
- Database User Name: snort
- Database Password: senha que foi definida para o usuário snort "senha"
Agora pode clicar no botão continue no final da tela.
Na próxima tela não precisa informar nada, pois podemos efetuar essas configurações na tela do Snort mais tarde, só clique em continue.
Na próxima clique no botão Create BASE AG.
Ele vai criar a configuração e vai aparecer do lado esquerdo da tela o status.
Se não aparaceu nenhum erro é só clicar no link Now continue to step 5... no final da página.
Caso tenha ocorrido algum erro verifique se foi concedida as permissões necessárias para o usuário no banco de dados.
Se tudo ocorreu sem problemas essa é a tela de gerenciamento do Snort.
Não vou entrar em detalhes nesta tela pois não é o meu foco neste artigo.
Mas nesta tela podemos ver gráficos a respeito dos alertas por protocolos, podemos criar grupos de alertas.
Enviar emails dos alertas
Já que toquei no assunto de emails, antes de tentarem enviar emails dos alertas façam as configurações de smtp no arquivo
/var/www/snort/base_conf.php.
Essas configurações estão ali pela linha 162 do arquivo. Elas tem que ser feitas caso você queira enviar emails dos alertas. Podemos informar o servidor smtp, um usuário valido e uma senha para a autenticação.
O arquivo está bem comentado e em /var/www/snort/docs temos vários arquivo explicando as configurações que podem ser feitas.
$action_email_smtp_host = 'smtp.example.com';
$action_email_smtp_localhost = 'localhost';
$action_email_smtp_auth = 1;
$action_email_smtp_user = 'username';
$action_email_smtp_pw = 'password';
$action_email_from = 'smtpuser@example.com';
$action_email_subject = 'BASE Incident Report';
$action_email_msg = '';
$action_email_mode = 0;
Quando for efetuar o envio de e-mail e gerar um erro a respeito da linha 316 em /usr/share/php/Mail/smtp.php. comente-a que não vai mais aparecer o erro.
Do Snort é isso, agora é só monitorar/acompanhar a tela do BASE para verificar se existe algum problema.
O Snort gera um arquivo em /var/log/snort/alert.
Exemplo de alerta gerado pelo Snort:
[**] [128:4:1] (spp_ssh) Protocol mismatch [**]
[Priority: 3]
03/11-12:51:02.455053 192.168.0.2:60094 -> 192.168.0.1:22
TCP TTL:127 TOS:0x0 ID:27834 IpLen:20 DgmLen:76 DF
***AP*** Seq: 0xE105D520 Ack: 0x9C5CDAD3 Win: 0x3EDC TcpLen: 20
Pode notar que temos uma origem que é o 192.168.0.2 na porta 60094 destino a 192.168.0.1:22 este é um alerta do pré-processador ssh.
Mas como temos essa informação de origem e destino podemos melhorar o nosso IDS, com o bloqueio automático de endereços baseados nos alertas. Porém tome cuidado com isso, pois podem haver falsos-positivos e falsos-negativos.
Para efetuarmos o bloqueio automático dos endereços que estão sendo acusados pelo nosso IDS vamos usar o Guardian.