Após o Primeiro seminário de andamento, foi definido e estabelecido o cenário de testes, as ferramentas a serem utilizadas, bem como a instalação dos sistemas à serem explorados.
Foram definidos 2 cenários, são eles:
Ambiente Virtualizado para simulação de ataques com regras específicas
Este cenário consiste em um ambiente totalmente virtualizado, onde algumas regras específicas foram configuradas nos IDS/IPS. Os ataques são direcionados as próprias interface dos sistemas explorando o que foi especificado na regra. Exemplos: PortScan, DDoS, dentre outros.
O objetivo e identificar como o sistema apresenta os resultados, como são identificados os pacotes “maliciosos” e se algum dos sistemas se mostra mais prático no sentido de apresentação dos resultados.
Preparando o cenário
Instalação e configuração das VMs do Projeto
1º - Cenário Virtual
4 VMs
2 - Ubuntu 14.4 AMD64
(Snort / Suricata)
1 - Kali Linux
(Realizar ataques)
1 - Centreon
(Monitoramento)
- Ativando o usuário root
# sudo password root
após definir a senha de root basta:
# su root
Após a ativação do root, a maquina foi atualizada
# apt-get update
Como a maquina para os dois IDS/IPS serão idênticas, a VM foi clonada e renomeada.
Estando as maquinas Snort e Suricata funcionando, o próximo passo nessas maquinas foi a instalação dos sistemas IDS/IPS.
Antes disso, foram criadas as demais VMs que fazem parte do cenário.
# Install Updates and reboot: # sudo apt-get update # sudo apt-get dist-upgrade -y # sudo apt-get install -y openssh-server # sudo reboot
Configuração de interfaces
Adicionar linhas ao arquivo:
# nano /etc/network/interfaces
post-up ethtool -K eth0 gro off post-up ethtool -K eth0 lro off
A interface eth1 é opcional, neste caso foi configurada para gerenciamento local da maquina.
Pré requisitos para instalação do Snort
O Snort tem basicamente 4 pré requisitos:
- pcap
(libpcap-dev)
available from the Ubuntu repository
- PCRE
(libpcre3-dev)
available from the Ubuntu repository
- Libdnet
(libdumbnet-dev)
available from the Ubuntu repository
- DAQ
(http://www.snort.org/downloads/)
compiled from source
# apt-get install -y build-essential # apt-get install -y libpcap-dev libpcre3-dev libdumbnet-dev # apt-get install -y bison flex
Criamos uma pasta para manter os pacotes agrupados
# mkdir ~/snort_src # cd ~/snort_src
Depois de acessar a pasta, devemos baixar e instalar a versão mais recente do DAQ no site do Snort.
# wget https://snort.org/downloads/snort/daq-2.0.6.tar.gz # tar -xvzf daq-2.0.6.tar.gz # cd daq-2.0.6 # ./configure # make # sudo make install
A saída após executar ./configure, deve ser conforme a imagem abaixo, mostrando quais os módulos estão sendo configurados.
Para instalar o Snort no Ubuntu, há um pré-requisito adicional necessário que precisa ser instalado, que não é mencionado na documentação:
zlibg que é uma biblioteca de compressão.
Há quatro bibliotecas opcionais que melhoram a funcionalidade: liblzma-dev, três das quais fornecem descompressão de arquivos swf (adobe flash), ssl e libssl-dev que fornecem ambas as assinaturas de arquivos SHA e MD5:
sudo apt-get install -y zlib1g-dev liblzma-dev openssl libssl-dev
Finalmente precisamos das bibliotecas de desenvolvimento para Nghttp2: uma biblioteca HTTP/2C que implementa o HPAC Algoritmo de compressão de cabeçalho. No Ubuntu 16 a instalação é fácil:
Ubuntu 14 only (not Ubuntu 16)
sudo apt-get install -y autoconf libtool pkg-config cd ~/snort_src wget https://github.com/nghttp2/nghttp2/releases/download/v1.17.0/nghttp2-1.17.0.tar.gz tar -xzvf nghttp2-1.17.0.tar.gz cd nghttp2-1.17.0 autoreconf -i --force automake autoconf ./configure --enable-lib-only make sudo make install
cd ~/snort_src wget https://snort.org/downloads/snort/snort-2.9.9.0.tar.gz tar -xvzf snort-2.9.9.0.tar.gz cd snort-2.9.9.0 ./configure --enable-sourcefire make sudo make install
sudo ldconfig
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
A instalação do Kali é bem simples e sem nenhuma peculiaridade, a versão instalada foi a 2017.1 AMD64bit.