You are on page 1of 153

FERRAMENTAS DE RESPOSTAS A INCIDENTES DE

SEGURANA

Bolsista: Eric Barbosa Jales de Carvalho


Coordenador: Nathan Franklin Saraiva de Sousa

Teresina
Dezembro/2008

SUMRIO
1.0 INTRODUO ....................................................................................................................9
2.0 JUSTIFICATIVAS DE EXECUO DO PROJETO..................................................... 10
3.0 OBJETIVOS E METAS.................................................................................................... 11
4.0 TIPOS DE IDS .................................................................................................................. 12
4.1 HIDS ...............................................................................................................................................12
4.1.1 Pontos positivos do HIDS: .............................................................................................................12
4.1.2 Pontos negativos do HIDS: ............................................................................................................13
4.2 NIDS ...............................................................................................................................................13
4.2.1 Pontos positivos do NIDS: .............................................................................................................14
4.2.2 Pontos negativos do NIDS: ............................................................................................................15
4.3 IDS Hbrido.....................................................................................................................................15
4.4 KIDS ...............................................................................................................................................15

5.0 MTODOS DE DETECO ........................................................................................... 17


5.1 Baseados em assinaturas (conhecimento)......................................................................................17
5.1.1 Vantagens .....................................................................................................................................17
5.1.2 Desvantagens ................................................................................................................................17
5.2 Baseados em comportamento (anomalias) ....................................................................................17
5.2.1 Vantagens .....................................................................................................................................17
5.2.2 Desvantagens ................................................................................................................................18

6.0 COMPORTAMENTOS PS-DETECO .................................................................... 19


6.1 Passivo ...........................................................................................................................................19
6.2 Ativo ..............................................................................................................................................19

7.0 HONEYPOT...................................................................................................................... 20
7.1 Vantagens ......................................................................................................................................20
7.2 Desvantagens.................................................................................................................................20
7.3 Tipos de HoneyPot .........................................................................................................................20
7.3.1 Baixa Interatividade ......................................................................................................................20
7.3.2 Alta Interatividade ........................................................................................................................21

8.0 FERRAMENTAS .............................................................................................................. 22


8.1 Labrador ........................................................................................................................................22
8.2 Osiris..............................................................................................................................................22
8.3 OSSEC.............................................................................................................................................22
8.3.1 OSSEC-WUI....................................................................................................................................23
8.4 Tripwire .........................................................................................................................................23
8.5 AIDE ...............................................................................................................................................23
8.6 Snort ..............................................................................................................................................24
8.6.1 SnortNotify....................................................................................................................................25
8.6.2 Snort-inline....................................................................................................................................25
8.7 OSSIM ............................................................................................................................................25
8.8 Prelude ..........................................................................................................................................26
8.8.1 Prewikka........................................................................................................................................27
8.9 Guardian ........................................................................................................................................27
8.10 Fwsnort........................................................................................................................................28
8.11 HLBR ............................................................................................................................................28
8.12 Honeyd ........................................................................................................................................28
8.13 Nessus..........................................................................................................................................29
8.13.1 Inprotect .....................................................................................................................................30
8.14 Nikto ............................................................................................................................................30

9.0 CENRIO .......................................................................................................................... 31

10.0 CONCLUSO.................................................................................................................. 32
11.0 DIFICULDADES ENCONTRADAS ............................................................................ 33
12.0 BIBLIOGRAFIA............................................................................................................. 34
ANEXOS ................................................................................................................................... 37
ANEXO 1 TUTORIAL PARA INSTALAO DO SNORT + PHP5 + APACHE2 +
MYSQL + BASE + SNORTNOTIFY + POSTFIX ............................................................... 37
PCRE-7.8 Verso utilizada at o momento da criao do tutorial......................................................37
Libpcap_1.0.0 - Verso utilizada at o momento da criao do tutorial ...............................................37
SNORT 2.8.3.1 - Verso utilizada at o momento da criao do tutorial ...........................................38
SNORTRULES........................................................................................................................................38
ADODB5.04 - Verso utilizada at o momento da criao do tutorial ..................................................39
BASE-1.4.1 - Verso utilizada at o momento da criao do tutorial....................................................39
SNORTNOTIFY 2.1 - Verso utilizada at o momento da criao do tutorial......................................41
MYSQL .................................................................................................................................................42
PostFix para fazer um relay em um servidor SMTP autenticado: .........................................................44

ANEXO 2 TUTORIAL PARA INSTALAO DO SNORT + PHP5 + APACHE2 +


MYSQL + BASE + GUARDIAN VIA APT-GET E COM ATUALIZAO PARA A
VERSO UNSTABLE ............................................................................................................. 48
SNORT via APT-GET (stable) .................................................................................................................48
Instalao e Configurao do MySQL.....................................................................................................48
Instalao e Configurao do Snort com suporte a MySQL ...................................................................49
Instalao e Configurao do Apache2 ..................................................................................................51
Instalao e Configurao do PHP5 .......................................................................................................52
Instalao e Configurao do AcidBase .................................................................................................53
Apache com suporte a SSL .....................................................................................................................55
Atualizao do Snort ..............................................................................................................................58
SNORT via APT-GET (unstable).............................................................................................................62
Remontar pacotes do tipo .deb: ............................................................................................................62
Criar pacote .deb sem chaves assinadas:...............................................................................................63
Configurao do Snort com suporte a MySQL .......................................................................................63

ANEXO 3 TUTORIAL PARA INSTALAO DO SNORT EM MODO BRIDGE....... 67


Configurao das Interfaces.................................................................................................................67
Configurao do Snort .........................................................................................................................68

ANEXO 4 TUTORIAL PARA INSTALAO DO SNORT-INLINE COM SUPORTE


AO MYSQL............................................................................................................................... 70
Instalao e Configurao do MySQL ...................................................................................................70
Libdnet-1.1 Verso utilizada at o momento da criao do tutorial ..................................................71
Snort_inline-2.6.1.5 - Verso utilizada at o momento da criao do tutorial......................................71
Compilando e Instalando o Snort-Inline:..............................................................................................72
Transformando-o em um IPS ...............................................................................................................73

ANEXO 5 TUTORIAL PARA INSTALAO DO HIDS AIDE ..................................... 74


Instalao e Configurao do AIDE.......................................................................................................74
Fazendo uma auditoria com o AIDE .....................................................................................................75
Realizando a auditoria: ........................................................................................................................76

ANEXO 6 TUTORIAL PARA INSTALAO DO HIDS OSSEC .................................. 77


Instalao e Configurao do OSSEC ....................................................................................................77
Testando o OSSEC ................................................................................................................................80
Instalao do Postfix: .............................................................................................................................80
Instalando o OSSEC como servidor.......................................................................................................81
Configurando Clientes (Agentes) ...........................................................................................................81
Adicionando Clientes ao servidor ..........................................................................................................81
OSSEC-WUI ..........................................................................................................................................82
Instalao do Servidor com suporte ao php: .........................................................................................82

ANEXO 7 TUTORIAL PARA INSTALAO DO HIDS TRIPWIRE .......................... 85


Instalao e Configurao do Tripwire .................................................................................................85
Gerar a base inicial de dados. ..............................................................................................................89
Vericao de integridade do sistema: ................................................................................................89
Atualizando a base de dados: ..............................................................................................................89

ANEXO 8 TUTORIAL PARA INSTALAO DO HIDS OSIRIS.................................. 90


Instalao do Servidor .........................................................................................................................90
Acessando pelo console.......................................................................................................................91
Adicionar o servidor para ser monitorado: ..........................................................................................94
Adicionar um cliente para ser monitorado...........................................................................................98

ANEXO 9 TUTORIAL PARA INSTALAO DO SCANNER DE


VULNERABILIDADES WEB NIKTO............................................................................... 100
Instalao e Configurao ..................................................................................................................100
Atualizar a base de dados do nikto ....................................................................................................100
Realizar um teste na mquina local: ..................................................................................................101
Utilizar uma forma para driblar um possvel IDS:............................................................................101

ANEXO 10 TUTORIAL PARA INSTALAO DO HIDS LABRADOR................... 102


Instalao e Configurao ..................................................................................................................102
Verificando mdulos do Perl necessrios para a execuo do Labrador:............................................102
Listar os arquivos que o arquivo de regras ir ler:..............................................................................103
Criar a base de dados.........................................................................................................................103
Fazer a verificao nos arquivos ........................................................................................................104
Fazer a restaurao dos arquivos.......................................................................................................104
Instalao e Configurao ..................................................................................................................105
Gerar o arquivo necessrio para adicionar as regras ao firewall. .......................................................105
Adicionar as regras do firewall baseadas no Snort a partir do fwsnort: .............................................106

ANEXO 12 TUTORIAL PARA INSTALAO DO IPS HLBR.................................. 107


Instalao e Configurao ..................................................................................................................107
Configurao das interfaces...............................................................................................................107
Configurao do arquivo hlbr.config ..................................................................................................107
Acrescentar regra ..............................................................................................................................108
Iniciar o daemon do HLBR:.................................................................................................................109
Verificar se o HLBR est executando:.................................................................................................109
Visualizar os arquivos de log:.............................................................................................................109

ANEXO 13 TUTORIAL PARA INSTALAO DO HONEYPOT HONEYD ........... 110


Instalao e Configurao ..................................................................................................................110
Direcionar o trfego para o HoneyPot: ..............................................................................................110
Alterando as configuraes default: ..................................................................................................110
Configurao do honeyd.conf ............................................................................................................111
Iniciar o daemon do Honeyd:.............................................................................................................112
Alguns testes .....................................................................................................................................112

ANEXO 14 TUTORIAL PARA INSTALAO DO SCANNER DE


VULNERABILIDADES NESSUS ....................................................................................... 113
Instalao e Configurao ..................................................................................................................113
Criar um usurio para acessar o servidor: ..........................................................................................113
Iniciar o servidor Nessus. ...................................................................................................................114
Atualizar a lista de plugins do Nessus. ...............................................................................................115
Realizando um scaneamento: ............................................................................................................118

ANEXO 15 TUTORIAL PARA INSTALAO DO OSSIM........................................ 122


Instalao e Configurao ..................................................................................................................122
Instalar o Ossim com o MYSQL no Debian..........................................................................................123
Adicionar as tabelas de plugins:.........................................................................................................124
Instalar o servidor do Ossim: .............................................................................................................124

Instalar o um agente localmente: ......................................................................................................128


Modificar as configuraes do Agente: ..............................................................................................129
Instalar o Servidor de Web: ...............................................................................................................129
Instalar o pacote phpgacl...................................................................................................................130
Instalar os Plugins ..............................................................................................................................132
snort .....................................................................................................................................................132
ntop......................................................................................................................................................135
nagios ...................................................................................................................................................137
Outros plugins......................................................................................................................................140
Osiris ....................................................................................................................................................140
Instalar o FrameWork: .......................................................................................................................140

ANEXO 16 TUTORIAL PARA INSTALAO DO PRELUDE ................................. 146


Instalao e Configurao ..................................................................................................................146
O registro do cliente no servidor........................................................................................................149
Instalar o Web Front Prewikka...........................................................................................................150
Instalar o servidor de Web:................................................................................................................152

NDICE DE FIGURAS
Figura 1 - Cenrio idealizado....................................................................................................... 31
Figura 2 - Pgina inicial do Setup do AcidBase............................................................................ 43
Figura 3 Criar as tabelas ........................................................................................................... 43
Figura 4 Tabelas adicionadas.................................................................................................... 44
Figura 5 - Pgina inicial do AcidBase ........................................................................................... 44
Figura 6 - Pgina inicial do OSSEC-WUI ....................................................................................... 84
Figura 7 Autorizao da criao da site key do Tripwire.......................................................... 85
Figura 8 - Autorizao da criao da local key do Tripwire......................................................... 86
Figura 9 Reconstruir o arquivo de configurao do Tripwire................................................... 86
Figura 10 Reconstruir o arquivo de polticas do Tripwire ........................................................ 86
Figura 11 Informar senha para site key do Tripwire ................................................................ 87
Figura 12 Confirmar senha para site key do Tripwire .............................................................. 87
Figura 13 Informar senha para local key do Tripwire............................................................... 87
Figura 14 Confirmar senha para local key do Tripwire ............................................................ 87
Figura 15 Instalao do Tripwire concluda.............................................................................. 88
Figura 16 Baixar plugins Nessus I ........................................................................................... 115
Figura 17 Baixar plugins Nessus II .......................................................................................... 115
Figura 18 Baixar plugins Nessus III ......................................................................................... 116
Figura 19 Baixar plugins Nessus IV ......................................................................................... 116
Figura 20 Baixar plugins Nessus V .......................................................................................... 117
Figura 21 Tela de logins do Nessus-Client .............................................................................. 118
Figura 22 Tela de seleo de plugins do Nessus-Client.......................................................... 118
Figura 23 Iniciar um scaneamento no Nessus........................................................................ 119
Figura 24 Tela de verificao do Nessus................................................................................. 119
Figura 25 Relatrio do Nessus................................................................................................ 120
Figura 26 Salvar relatrio ....................................................................................................... 120
Figura 27 Relatrio do Nessus gerado em html ..................................................................... 121
Figura 28 Interface usada no Debconf ................................................................................... 123
Figura 29 Prioridade das perguntas do Debconf.................................................................... 123
Figura 30 Nome do servidor do OSSIM .................................................................................. 125
Figura 31 IP do servidor OSSIM .............................................................................................. 125
Figura 32 Nome do Framework.............................................................................................. 125
Figura 33 IP do Framework .................................................................................................... 125
Figura 34 Porta do Framework............................................................................................... 126
Figura 35 Nome do banco do servidor OSSIM ....................................................................... 126
Figura 36 Hostname do servidor MYSQL................................................................................ 126
Figura 37 Nome do administrador do banco ossim ............................................................... 126
Figura 38 Senha do usurio do banco do servidor MYSQL .................................................... 126
Figura 39 Nome do banco pertencente ao Snort................................................................... 127
Figura 40 Hostname do servidor MYSQL................................................................................ 127

Figura 41 Nome do administrador do banco snort ................................................................ 127


Figura 42 Senha do administrador do banco ......................................................................... 127
Figura 43 Nome do banco pertencente ao Osvdb ................................................................. 128
Figura 44 Hostname do servidor MYSQL................................................................................ 128
Figura 45 Nome do administrador do banco osvdb............................................................... 128
Figura 46 Senha do administrador do banco ......................................................................... 128
Figura 47 Tela inicial de configurao do libphp-adodb ........................................................ 130
Figura 48 Seleo das verses do Apache.............................................................................. 130
Figura 49 Configurao da base de dados do phpgacl........................................................... 130
Figura 50 Escolha do banco a ser utilizado pelo phpgacl ....................................................... 131
Figura 51 Senha do administrador do banco MYSQL............................................................. 131
Figura 52 Senha do MYSQL para o phpgacl............................................................................ 131
Figura 53 Confirmao da senha............................................................................................ 131
Figura 54 Interface utilizada pelo Snort ................................................................................. 132
Figura 55 Rede a ser monitorada pelo Snort ......................................................................... 132
Figura 56 Usurio que ir receber os emails do Snort ........................................................... 132
Figura 57 Configurar a base de dados .................................................................................... 133
Figura 58 Hostname do servidor MYSQL................................................................................ 133
Figura 59 Nome do banco utilizado pelo Snort...................................................................... 133
Figura 60 Nome do administrador do MYSQL........................................................................ 133
Figura 61 Senha do administrador do MYSQL........................................................................ 134
Figura 62 Interface que o Ntop ir escutar ............................................................................ 135
Figura 63 Nome do usurio que ir rodar o daemon do Ntop............................................... 136
Figura 64 Pgina inicial do Ntop............................................................................................. 136
Figura 65 Nome do Domnio do servidor ............................................................................... 137
Figura 66 Opo de escolha para uso de senhas no servidor ................................................ 137
Figura 67 Opo de escolha para configuraes vindas de um servidor WINS ..................... 137
Figura 68 Seleo das verses do Apache.............................................................................. 138
Figura 69 Senha para administrar o Nagios via web .............................................................. 138
Figura 70 Opo de habilitar os comandos externos do Nagios ............................................ 138
Figura 71 Opo de escolha da configurao do banco do nagios-mysql.............................. 139
Figura 72 Senha do administrador do MYSQL........................................................................ 139
Figura 73 Senha do MYSQL para o phpgacl............................................................................ 139
Figura 74 Confirmao da senha............................................................................................ 139
Figura 75 Configurao da base de dados do acidbase ......................................................... 140
Figura 76 Escolha do banco a ser utilizado pelo acidbase ..................................................... 140
Figura 77 Senha do administrador do banco MYSQL............................................................. 141
Figura 78 Senha do MYSQL para o acidbase .......................................................................... 141
Figura 79 Confirmao da senha............................................................................................ 141
Figura 80 Seleo das verses do Apache.............................................................................. 141
Figura 81 Nome do banco do servidor OSSIM ....................................................................... 142
Figura 82 Hostname do servidor MYSQL................................................................................ 142
Figura 83 Nome do administrador do banco ossim ............................................................... 142

Figura 84 Senha do usurio do banco do servidor MYSQL .................................................... 142


Figura 85 Nome do banco do OSSIM ACL .............................................................................. 142
Figura 86 Hostname do servidor MYSQL................................................................................ 143
Figura 87 Nome do administrador do banco ossim ............................................................... 143
Figura 88 Senha do usurio do banco do servidor MYSQL .................................................... 143
Figura 89 Pgina de configurao do phpGACL I.................................................................... 143
Figura 90 Pgina de configurao do phpGACL II................................................................... 144
Figura 91 Pgina de configurao do phpGACL III.................................................................. 144
Figura 92 Pgina de configurao do phpGACL IV ................................................................. 144
Figura 93 Pgina de configurao do phpGACL V .................................................................. 145
Figura 94 Pgina de login do OSSIM....................................................................................... 145
Figura 95 Pgina de atualizaes das aplicaes instaladas pelo OSSIM............................... 145
Figura 96 Configurao da base de dados do acidbase ......................................................... 147
Figura 97 Escolha do banco a ser utilizado pelo prelude-manager ....................................... 147
Figura 98 Senha do administrador do banco MYSQL............................................................. 147
Figura 99 Senha do MYSQL para o prelude-manager ............................................................ 147
Figura 100 Confirmao da senha.......................................................................................... 147
Figura 101 Configurao da base de dados do acidbase ....................................................... 150
Figura 102 Escolha do banco a ser utilizado pelo prewikka................................................... 151
Figura 103 Senha do administrador do banco MYSQL........................................................... 151
Figura 104 Senha do MYSQL para o prewikka........................................................................ 151
Figura 105 Confirmao da senha.......................................................................................... 151
Figura 106 Tela de login do Prewikka..................................................................................... 153

1.0 INTRODUO
Com o passar dos anos, o nmero de incidentes de segurana em informtica
teve um grande aumento. A disponibilidade de conexo a todo o momento, e com taxas
de transmisso cada vez mais elevadas juntamente com o uso difundido da utilizao
das redes de computadores e servios usados para Internet, tem contribudo para o
crescimento do nmero de ataques, tais como worms, prospeco (port scan), negao
de servio (DoS), fora bruta (bruteforce), estouro de memria (buffer overflow), entre
outros.
A definio de intruso ou ataque se d como qualquer conjunto de aes que
tentam, de alguma forma, comprometer a integridade, confidencialidade ou
disponibilidade de um recurso computacional, mesmo que este obtenha xito ou no
destas aes.
Os sistemas de deteco de intruso (IDS) tm sido utilizados para proteo,
monitorao de atividades maliciosas e diversos tipos de ataques. O IDS funciona como
um monitoramento do ambiente buscando indcios de ataques para enviar diferentes
alertas aos responsveis. De uma forma muito bsica, o IDS funciona como um sniffer
de rede que compara o contedo da informao dos pacotes que trafegam pelo meio,
com uma base de dados de assinaturas de ataques e/ou anomalias que indicam potencial
atividade maliciosa. Em outra forma, o IDS analisa as modificaes realizadas na
mquina e as compara com uma base de dados, gerada anteriormente, atrs de
modificaes realizadas.
notrio lembra que, no vale apenas se proteger com o IDS ou um firewall.
preciso ter outros mecanismos de rede que possam auxiliar nessa tarefa, como
ferramentas de auditoria usadas com o intuito de detectar e indicar as possveis
vulnerabilidades encontradas nos computadores.

2.0 JUSTIFICATIVAS DE EXECUO DO PROJETO


O tema foi escolhido devido ao nosso Estado ser deficiente em assuntos
relacionados segurana de redes. Alm disso, o projeto se mostrou interessante devido
a ser um tema atual e por ser pouco abordado.
Este projeto procura reunir um conjunto de boas prticas em instalao,
configurao e administrao de ferramentas de respostas a incidentes de segurana em
redes conectadas Internet. A implantao destas ferramentas minimiza as chances de
ocorrerem falhas de segurana e contribuem para a administrao das redes e recursos
de forma segura.
Algumas das ferramentas apresentadas so independentes da plataforma que as
utiliza. O trabalho em conjuntos delas ajuda na segurana em profundidade, onde
necessrio a criao de diversos nveis de defesa a serem utilizados para a proteo de
um ambiente. O firewall pode funcionar como a primeira linha de defesa, realizando o
controle de acesso no nvel de rede. A autenticao pode ser usada como segunda linha
de defesa, bem como um sistema de deteco de intruso (IDS).
Em outro ambiente poderia colocar o IDS como a primeira linha de defesa,
realizando aes antes do acesso ao firewall, tornando este como a segunda linha de
defesa. Mas adiante estaria a terceira linha de defesa formada por um sistema de
autenticao ou um scanner de vulnerabilidades.

10

3.0 OBJETIVOS E METAS


Esse projeto tem como objetivo o estudo de ferramentas de Respostas a
Incidentes de Segurana, utilizando Sistemas de Deteco de Intruso e de
Vulnerabilidades. Focaram-se as ferramentas mais utilizadas e com os melhores
desempenhos usados em diversas redes, bem como a instalao e configurao das
mesmas.
A meta analisar, planejar e implementar uma rede com nfase em segurana.
Utilizando-se dos logs gerados pelos daemons na busca de possveis anomalias, para s
ento encontrar solues. Dessa forma, garantindo um ambiente mais propcio e seguro
para o trfego de informaes.

11

4.0 TIPOS DE IDS


Os IDS so classificados quanto arquitetura em quatro tipos:
Baseado em host, Host-Based Intrusion Detection System (HIDS);

Baseado em rede, Network-Based Intrusion Detection System (NIDS);

IDS hbrido (Hybrid IDS), que aproveita as melhores caractersticas do


HIDS e do NIDS.
Baseado em kernel, Kernel Intrusion Detection (KIDS);
A combinao de diferentes tipos de IDS importante para que a organizao
fique protegida contra todos os tipos de ameaas, principalmente dos ataques realizados
internamente e daqueles vindos da internet. Por exemplo, as invases vindas da internet
podem ser detectadas pelo uso de IDS baseado em rede (NIDS), enquanto os servidores
da DMZ e da rede interna podem ser monitorados tambm com o uso de IDS baseado
em host (HIDS) ou IDS hbridos. J os kernels IDS so a mais nova e recente fronteira
da segurana computacional, podendo at mesmo impossibilitar maiores danos a um
sistema que tenha sido comprometido.

4.1 HIDS
Faz o monitoramento do sistema com base em informaes de arquivos de logs
ou de eventos de auditoria. Os eventos de auditoria so gerados pelo kernel do sistema
operacional, portanto, possuem mais proteo e detalhes do que os arquivos de logs. O
HIDS fiscaliza acessos e alteraes em importantes arquivos do sistema, modificaes
nos privilgios dos usurios, processos do sistema e programas em execuo, uso da
CPU e deteco de port scanning.
O HIDS pode tambm verifica a checagem da integridade dos arquivos do
sistema, fazendo com que arquivos corrompidos, que podem vir a ser backdoors, so
detectados antes que causem problemas mais srios.
4.1.1 Pontos positivos do HIDS:
Verificar o sucesso ou a falha de um ataque;
Atividades especficas do sistema podem ser monitoradas detalhadamente, como
o acesso a arquivos, modificao em permisses de arquivos, logon e logoff do
usurio e funes do administrador;
12

Ataques que utilizam criptografia podem no ser notados pelos NIDS, mas
descobertos pelos HIDS, pois o Sistema Operacional primeiro decifra os
pacotes;
Ataques que ocorrem fisicamente no servidor podem ser detectados;
independente da topologia da rede, podendo ser utilizado em redes separadas
por switches;
Gera poucos falsos positivos, ou seja, poucos alarmes falsos de ataques;
No necessita de hardware adicional.
4.1.2 Pontos negativos do HIDS:
Dificuldade de gerenciar e configurar em todos os hosts da rede que devem ser
monitorados;
Dependncia do sistema operacional, ou seja, um HIDS que funciona no Linux
totalmente diferente de um HIDS que opera no Windows;
No capaz de detectar ataques de rede, como o scanning de rede ou o Smurf,
por exemplo;
Caso o HIDS seja invadido, as informaes podem ser perdidas;
Necessita de espao de armazenamento adicional para os registros do sistema;
No tm bom desempenho em sistemas operacionais que geram poucas
informaes de auditoria, como o caso do Windows 98;
Apresenta diminuio de desempenho no host monitorado.

4.2 NIDS
O sistema de deteco de intruso baseado em rede (NIDS) monitora o trfego
do segmento da rede e os hosts nele conectados, geralmente posicionado em um
segmento de rede ou switch e com a interface de rede atuando em modo promscuo.
O NIDS eficiente principalmente contra ataques sute de protocolos TCP/IP,
como port scanning, IP spoofing ou SYN flooding, buffer overflow, entre outros. A
deteco realizada com a captura e anlise dos cabealhos e contedos dos pacotes,
que so comparados em uma base de dados de assinaturas de ataques e/ou anomalias
conhecidos. Exemplos de NIDS so o RealSecure, o NFR e o Snort.

13

Os NIDS podem ser divididos em duas partes que atuam em conjunto, que so
os sensores (hosts) e o gerenciador ou console. Os sensores devem ser espalhados pelos
segmentos de rede e so os responsveis pelo monitoramento do trfego de rede,
executando toda a anlise localmente, e reportando os ataques para um console de
gerenciamento central. Muitos desses sensores atuam em modo oculto (stealth),
tornando mais difcil para um atacante determinar a presena e localizao de um
determinado sensor. J o gerenciador ou console faz com que os sensores sejam
administrados de modo integrado, com a definio dos tipos de resposta a serem
utilizados para cada tipo de comportamento suspeito percebido. A comunicao entre
sensores e gerenciador criptografada.
Uma caracterstica importante do NIDS sua capacidade de detectar ataques na
rede em tempo real. Ele pode capturar os pacotes referentes ao ataque, analisar e
responder invaso praticamente ao mesmo tempo em que o servidor atacado. A
resposta poderia ser, por exemplo, o envio de alertas ou o trmino da conexo. Aps a
anlise feita pelo sistema de deteco, os resultados possveis em um IDS so:
Trfego suspeito detectado (comportamento normal);
Trfego suspeito no detectado (falso negativo);
Trfego legtimo que o IDS analisa como sendo suspeito (falso positivo);
Trfego legtimo que o IDS analisa como sendo legtimo (comportamento
normal).
Para um administrador de rede, uns dos principais problemas encontrados no uso
de IDS so os falsos positivos, que nada mais so do que os alarmes falsos, como um
alarme indicando ataque a um servio inexistente no ambiente. preciso conhecer bem
o ambiente a ser monitorado, refinar as regras e/ou assinaturas baseadas nesse ambiente
para diminuir o nmero de falsos positivos.
4.2.1 Pontos positivos do NIDS:
O monitoramento pode ser realizado em um ambiente com mltiplas
plataformas;
Com a anlise de cabealhos e do payload de pacotes, ataques de rede como o
port scanning, IP Spoofing ou Teardrop podem ser detectados;
Pode monitorar portas conhecidas como a porta TCP 80 do HTTP.
14

Os ataques podem ser detectados e identificados em tempo real e o usurio pode


determinar rapidamente o tipo de resposta apropriada;
O NIDS capaz de perceber no s as invases, mas tambm as tentativas de
ataque que no tiveram resultado;
Com o NIDS funcionando, difcil que um cracker possa apagar seus rastros;
O cracker ter dificuldades em saber se existe ou no um NIDS monitorando
suas atividades;
No causa impacto no desempenho da rede.
4.2.2 Pontos negativos do NIDS:
Perda de pacotes em redes saturadas;
Dependncia de base de assinaturas de ataques atualizada;
Dificuldade de compreenso de protocolos de aplicao especficos, conto o
SMB;
No so capazes de monitorar o trfego cifrado;
Dificuldade de utilizao em redes segmentadas;
Dificuldade de implementao em redes rpidas.

4.3 IDS Hbrido


O HIDS e o NIDS possuem suas vantagens e desvantagens. Isso nos leva a crer
que no mundo de hoje, a melhor estratgia utilizar ambos os tipos para a proteo dos
recursos da organizao. Por exemplo, o NIDS detectaria SYN Flooding, Smurf,
Teardrop, port scanning e no caso de uma pichao do site (web defacement), por
exemplo, o HIDS se encarregaria de detectar.
Assim, a utilizao dos dois tipos de IDS ao mesmo tempo traz grandes
benefcios. O IDS hbrido (Hybrid IDS) tem como objetivo combinar os pontos fortes
do HIDS e do NIDS, a fim de oferecer uma melhor capacidade de deteco de intruses.
Por outro lado, ele herda tambm os pontos negativos de ambos, como o caso da
escalabilidade. Seria necessrio instalar um IDS hbrido em cada equipamento.

4.4 KIDS
O Kernel Intrusion Detection System (KIDS) nada mais que um sistema de
deteco de intrusos, porm a funo de capturar e comparar pacotes com regras pr15

existentes exercido no kernel em forma de mdulo. Possui as idias bsicas de um


IDS, sem a utilizao da biblioteca libpcap (como o tcpdump, wireshark, SNORT, etc)
tratando os pacotes no prprio kernel, obtendo assim um ganho no desempenho do
sistema.
Dessa forma, pode-se criar uma ltima fronteira de auditoria e tambm de
barreira para um invasor que possa ganhar acesso ao sistema.

16

5.0 MTODOS DE DETECO


5.1 Baseados em assinaturas (conhecimento)
O funcionamento desse mtodo se baseia na procura por um padro ou uma
assinatura de ataque que esteja em uma base de dados com informaes sobre ataques
conhecidos. Essas assinaturas indicam o contedo que deve ser procurado no cabealho
e no payload dos pacotes.
5.1.1 Vantagens

So mais eficientes, gerando um numero bem menor de falsos positivos;

As assinaturas so fceis de serem desenvolvidas.

5.1.2 Desvantagens
Identificam apenas ataques conhecidos, necessitando de uma constante
atualizao no conjunto de assinaturas;
Como grande parte das assinaturas so muito especificas, ataques
variantes no so detectados.
Pode ser enganado por meio de tcnicas como a insero de espaos em
branco no stream de dados do ataque.

5.2 Baseados em comportamento (anomalias)


Esse mtodo baseado em desvios de comportamento dos usurios ou dos
sistemas. O IDS estabelece uma base com padres de uso normal, e qualquer
comportamento que desviar do padro ser considerado como uma possvel intruso.
Em outras palavras, tudo que no foi visto ou relacionado como padro anteriormente,
pode ser perigoso e, portanto, deve ser evitado.
A deciso tomada por meio de uma analise estatstica ou heurstica, a fim de
encontrar possveis mudanas de comportamento, tais como aumento de trfego,
utilizao da CPU, atividade de disco, logon de usurios, acesso a discos etc.
5.2.1 Vantagens
Por detectar comportamentos e no usurios possvel detectar um ataque
desconhecidos;
17

Gera informaes que podem ser usadas para definir assinaturas.


5.2.2 Desvantagens
comum produzir grande numero de alarmes falsos, tanto positivos como
negativos. Isso se deve a comportamentos imprevisveis dos usurios e de
sistemas;
Devem ser realizadas muitas sesses para coletar dados para o sistema, com o
intuito de caracterizar os padres normais de comportamento.

18

6.0 COMPORTAMENTOS PS-DETECO


Aps a deteco do possvel ataque, o IDS realiza algum tipo de
comportamento. Esse tipo de comportamento pode vir a ser de duas formas, passivo ou
ativo. De modo geral, IDS (Intrusion Detection System) uma soluo passiva de
segurana ao passo que IPS (Intrusion Prevention System) uma soluo ativa de
segurana.

6.1 Passivo
Em um sistema passivo, o IDS detecta uma potencial violao da segurana,
registra a informao (log) e dispara um alerta.

6.2 Ativo
Nesse sistema, o IPS responde atividade suspeita finalizando a sesso de
usurio ou acrescentando regras no Firewall para bloquear o trfego de rede da fonte
suspeita, que pode ser maliciosa ou no. Por outro lado, o IPS tem como ponto negativo
a sua suscetibilidade a ataques de negao de servios, maior do que em IDS, o que
exige uma configurao eficiente sem comprometer a disponibilidade do ambiente.

19

7.0 HONEYPOT
Honeypot (Pote de Mel) so recursos computacionais dedicados a serem sondados,
atacados ou comprometidos, com o propsito de reunir o mximo de informaes
possveis sobre os atacantes, como a anlise de suas aes e sua identificao na rede.
Como no possui nenhum servio rodando em produo, apenas servios feitos
para captura, qualquer interao com o honeypot, como uma sondagem ou verificao,
pode ser, a princpio, suspeita.
Diversos servios podem ser simulados ou atendidos por um Honeypot, como FTP,
servidor de e-mail, SSH, telnet, portas especficas para alguns programas, etc. Um
conjunto formado por vrios HoneyPot subtende-se como uma HoneyNet.

7.1 Vantagens
Facilidade de deteco de pragas que se propagam aleatoriamente pela rede;
Baixa incidncia de falsos positivos;
Fcil de implantar e baixa necessidade de recursos;
Possibilidade de detectar novas formas de ataques.

7.2 Desvantagens
Anlise restrita, s consegue enxergar o trfego direcionado a eles;
Pode servir como porta para o invasor, sendo um risco adicional se mal
configurado.

7.3 Tipos de HoneyPot


7.3.1 Baixa Interatividade
Emulam servios e Sistemas Operacionais;
Fcil de configurar e manter;
Maior flexibilidade;
Atacantes no tm acesso mquina real, ou seja, no tem a possibilidade ter o
controle da mquina;
Difceis de iludir atacantes avanados/determinados;
Ataques e aes no idealizadas podem no funcionar e no ser detectadas;
20

Por serem razoavelmente seguros, so apropriados para redes de produo;


Excelentes complementos para Sistemas de Deteco de Intruso (SDI).
Exemplos: Back Of_cer Friendly, Deception Toolkit(DTK), Specter, Honeyd,
Labrea, Tarpit.
7.3.2 Alta Interatividade
Servios e Sistemas reais;
Mais difcil de instalar e manter;
Menor flexibilidade;
Atacante pode assumir controle total do honeypot;
Coleta extensa de informaes, incluindo ferramentas e comandos;
Identifica novas vulnerabilidades;
Difcil de distinguir de um sistema de produo
Exemplos: UML, VMware, Mantrap, sistemas e aplicativos reais; instalao
padro de sistemas operacionais; artifcios de monitorao das atividades dos
atacantes(LKM, patches).

21

8.0 FERRAMENTAS
8.1 Labrador
Labrador ou labrador-ids um HIDS desenvolvido em Perl. uma ferramenta
multi-plataforma criada para identificar quaisquer modificaes indesejadas feitas em
seu sistema.
A instalao do Labrador pode ser vista no anexo 10.

8.2 Osiris
Osiris um HIDS que pode ser usado para monitorar alteraes em uma rede de
hosts ao longo do tempo e comunicar essas alteraes para o administrador. Incluindo
quaisquer alteraes nos sistemas de arquivos. De tempos em tempos, o Osiris tira
snapshots do sistema de arquivos e armazena em um banco de dados. Esses bancos de
dados, bem como as configuraes e logs, so armazenados em um host de
gerenciamento central. Quando alteraes so detectadas, ele ir registrar estes eventos
no log do sistema e opcionalmente enviar e-mail para um administrador. Alm disso, ele
capaz de monitorar outras informaes de sistema, incluindo listas de usurios, listas
de grupo e os mdulos do kernel ou extenses.
O Osiris possui uma arquitetura cliente/servidor e no um software baseado em
assinaturas, ele detecta e comunica as alteraes em um sistema de arquivos e permite
que o administrador determine que (caso tenha alguma) ao precisa ser feita.
Pode ser feito a instalao em diversos sistemas operacionais, bem como
Windows, sistemas BSD, Linux, Mac OS X, AIX, IRIX.
A instalao do Osiris pode ser vista no anexo 8.

8.3 OSSEC
O ossec hids software HIDS de cdigo aberto que possui como desenvolvedor
principal o brasileiro Daniel Cid. Ele tem a capacidade de trabalhar localmente, ou
trabalhar em uma rede como cliente e servidor. Pode realizar operaes de anlise de
logs, checagem de integridade de sistemas e arquivos, monitora registro do Windows,
deteco de rootkits, alertas em tempo real e respostas pr-ativas (regras no firewall).
22

O OSSEC multiplataforma e pode ser instalado na maioria dos Sistemas


Operacionais, incluindo Linux, OpenBSD, FreeBSD, MacOS, Solaris e Windows
(somente o agente).
Ele pode trabalhar de trs formas:
Local funciona na maquina localmente.
Agente funciona como cliente e envia todas as informaes para o
servidor processar e analisar
Servidor analisa e une os log's e informaes de vrios agentes.
8.3.1 OSSEC-WUI
Interface Web front do OSSEC desenvolvido em PHP. Ele serve para ajudar no
monitoramento do OSSEC, seja localmente, servidor ou agente. Algumas de suas
verses possuem alguns pr-requisitos. A ltima verso tem como pr-requisitos PHP
na verso 4 ou 5, alm de ter instalado o OSSEC com verso igual ou superior a 0.9-3.
A instalao do OSSEC, juntamente com sua interface grfica, pode ser vista no
anexo 6.

8.4 Tripwire
O Tripwire um software HIDS, e como tal serve para notificar o administrador
da ocorrncia de modificaes em arquivos vitais do sistema, e, conseqentemente,
minimizar o impacto de invases que no puderam ser impedidas por seu firewall.
Ele gera uma base de dados contendo informaes como hash, permisses e data
de modificao de cada arquivo pr-estabelecido para proteo. No processo de
verificao, una nova base de dados gerada e comparada primeira, emitindo um
relatrio para o administrador.
A instalao do Tripwire pode ser vista no anexo 7.

8.5 AIDE
O AIDE (Advanced Intrusion Detection Environment) tambm um software de
HIDS e para muitos considerado um substituto para a ferramenta de verificao de
integridade de arquivo Tripwire, fazendo coisas alm da capacidade deste. O AIDE cria
um banco de dados atravs de expresses regulares de regras que so encontrados em
23

um arquivo de configurao, e uma vez que esse banco de dados inicializado, ele pode
ser usado para verificar a integridade de arquivos crticos e de usurios.
AIDE utiliza os mais populares algoritmos de digesto de mensagens (md5,
sha1, rmd160, tiger, haval, etc) para checar a integridade de arquivo. Outros algoritmos
podem ser adicionados com facilidade. Todos os atributos de arquivo tambm podem
ser verificados a procura de inconsistncias. Ele pode ler tambm, os bancos de dados
de verses mais antigas ou mais recentes.
O AIDE pode ser executado em qualquer sistema baseado no Unix, como
Solaris, Linux, FreeBSD, Unixware, BSDi, OpenBSD, AIX, HP-UX, Cygwin, etc.
A instalao do AIDE pode ser vista no anexo 5.

8.6 Snort
Snort uma ferramenta de NIDS, bastante utilizada, pois, alm de gratuito,
open source. Ele sniffer que tem como diferencial a capacidade de inspecionar o payload do
pacote, rea que contm os dados do mesmo, fazendo os registros dos pacotes, alm de detectar
as invases.

Possui recursos de farejamento de pacotes para a captura dos dados e um


mecanismo de registro de pacotes (baseado em assinaturas) e de deteco de invaso.
Tambm pode ser configurado para enviar alertas em tempo real evitando assim a
necessidade de monitorar o sistema continuamente, seja proveniente da rede externa, da
rede internet ou de um segmento de rede.

A arquitetura do Snort composta por quatro componentes bsicos:


O farejador;
O pr-processador;
O mecanismo de deteco;

Alerta/registro.

Assim como o TCPDump, o Snort faz uso de uma biblioteca chamada libcap
para realizar a captura dos pacotes. Esta biblioteca alm de capturar os dados destinados
prpria mquina capaz de receber os pacotes destinados a outras mquinas dentro do
mesmo segmento de rede.

24

O Snort considerado um SDI leve, no requer grandes recursos de hardware e


por isso pode ser instalado em diversas plataformas, tais como sistema Solaris, Linux,
sistemas BSD, HP-UX, IRIX, Windows, Power PC, MacOS X e PA-RISC.
A instalao do Snort pode ser vista nos anexos 1,2 e 3.
8.6.1 SnortNotify
uma aplicao desenvolvida em Perl. Ela procura incio de sesses de alertas,
atravs do banco do snort e as envia, como relatrio, para o email cadastrado. Devido ao
grande nmero de alertas que o Snort gera, aconselhvel usar o SnortNotify apenas em
redes pequenas. Caso contrrio, o servidor SMTP est sempre ocupado e a caixa de
emails sempre cheia.
A instalao do SnortNotify pode ser vista no anexo 1.
8.6.2 Snort-inline
Snort-Inline um IPS que utiliza as assinaturas de um IDS (Snort) existente para
tomar as decises sobre os pacotes que passam por ele. basicamente uma verso
modificada do Snort para se tornar um IPS. Ele aceita pacotes de iptables e ipfw via
libipq (linux) ou divert sockets (FreeBSD), em vez de libpcap. Usa, em seguida, a nova
regra do tipo (drop, sdrop, reject) para dizer iptables/ipfw se o pacote que passa por ele
deve ser eliminado, rejeitado, modificados, ou se tem permisso para transmitir com
base um conjunto de regras do Snort.
A instalao do Snort-inline pode ser vista no anexo 4.

8.7 OSSIM
OSSIM um conjunto de softwares de cdigo-fonte aberto integrados com o
intuito de fornecer uma infra-estrutura de controle de segurana e monitoramento da
rede, permitindo a correlao entre as funcionalidades de cada um dos produtos.
O objetivo do OSSIM proporcionar um framework capaz de centralizar,
organizar e melhorar a deteco e exibio dos eventos para um melhor gerenciamento
do administrador, obtendo uma viso detalhada sobre todo e qualquer aspecto das suas
redes, hosts, acesso fsico, dispositivos, servidor etc.

25

Softwares que integram o OSSIM:

Arpwatch usado para detectar anomalias no MAC;

P0f usado para a deteco passiva de Sistemas Operacionais;

Pads - usado para deteco de anomalias de servio;

Nessus usado para obter avaliao de vulnerabilidades;

Snort IDS que ser usado junto com o Nessus;

Spade - usada para obter conhecimentos sobre ataques sem assinatura;

Tcptrack - usado para obter informaes de dados de sesso que podem


conceder informao til para identificao de ataque;

Ntop - cria o banco de dados de informaes do qual possamos obter a


deteco de anomalias por comportamento;

Nagios - monitora informaes de disponibilidade do host e servio;

Osiris - HIDS usado para monitorar alteraes em uma rede de hosts;

OCS-NG - inventaria os computadores de uma rede;

OSSEC HIDS que checa integridade, rootkits, alteraes no registro, etc.

O OSSIM possui um centro de operao de segurana, no qual todas as


informaes e eventos crticos so apresentados a ele. Com a utilizao de sensores,
tanto de hardwares como de softwares espalhados na rede, os dados so coletados e
enviados para esse centro. Isso se deve graas a um agente localizado no sensor, que
tem como seu papel coletar e enviar as informaes ao servidor.
A arquitetura do OSSIM pode ser definida da seguinte maneira:

Sensores;

Servidor de gerenciamento;

Banco de dados;

Frontend.

A instalao do OSSIM pode ser vista no anexo 15.

8.8 Prelude
O Prelude um IDS Hbrido, que suporta diversas aplicaes open-source ou
no. Ele reporta os eventos a um sistema centralizado, atravs de sensores.

26

O Hbrido significa a vantagem de combinar eventos detectados por qualquer


aplicao de segurana, seja IDSs, qualquer analisador de log's, aplicaes de
segurana, shell script, ou qualquer tipo de aplicao que reporte eventos de incidente
de segurana.
As aplicaes de segurana utilizam o Prelude graas a sua estrutura feita em C,
Python e Perl.
O Prelude composto de:
Sensores - so responsveis pela deteco de intruso, e reportar eventos
para um servidor predule-manager, utilizando conexes TLS;
prelude-manager - processa os eventos, e os envia para armazenamento
(mysql, postgresql,XML, etc);
prelude console - visualizao dos eventos.
8.8.1 Prewikka
Interface Web front do Prelude desenvolvido em Python. Ele serve para ajudar
no monitoramento o Prelude-Manager. Pode ser utilizado com uma porta diferente da
porta padro do servidor.
A instalao do Prelude, juntamente com o Prewikka, pode ser vista no anexo
16.

8.9 Guardian
Guardian um IPS que trabalha junto com o Snort. Ele capaz de atualizar
automaticamente as regras do firewall baseado nos alertas gerados pelo Snort. As regras
atualizadas do firewall bloqueiam todos os dados oriundos da mquina na qual o Snort
gerou o alerta, possivelmente um IP do atacante.
Como o Snort tambm gera muitos falsos positivos, possvel deixar mquinas
em que o administrador da rede tenha a certeza de que no comprometem o trfego ou
que no so mquinas de atacantes, como servidores DNS, servidores de EMAIL,
gateways ou qualquer outra mquina que desejar.
Ele trabalha com script e pode gerar regras de bloqueio/desbloqueio em diversos
firewalls, dentre eles ipchains, iptables, ipfwadm, ipfw, ipfilter, etc.

27

A instalao do Guardian pode ser vista no anexo 2.

8.10 Fwsnort
Fwsnort um IPS que tambm trabalha junto com o Snort. Ele cria as regras de
iptables baseado nas regras do Snort. Assim, assinaturas conhecidas de ataques crticos
podem ser interpretadas antes de passar para a rede. Alm disso, assinaturas da camada
de aplicativo que existem em regras do Snort, podem ser facilmente detectadas. No
caso, ele adiciona uma opo --hex-string para o iptables permitir que as regras do snort
que contenham caracteres hexadecimais sejam tratadas pelo iptables sem que aja
qualquer modificao.
A instalao do FWsnort pode ser vista no anexo 11.

8.11 HLBR
O HLBR (Hogwash Light Brasil) tambm classificado como IPS. Ele foi
baseado no IPS desenvolvido por Jason Larsen, chamado de IPS HOGWASH. Ele
funciona como uma bridge, tornando-o invisvel na rede, sendo capaz de interceptar
trfego malicioso baseado em arquivos de regras e assinaturas de ataques.
O HLBR no usa a libpcap para fazer a ponte entre as placas de rede da mquina.
Portanto, o trabalho de capturar, desmontar, analisar e remontar feito pelo prprio
HLBR. O HLBR capaz de analisar o pacote TCP em todas as camadas do Modelo OSI
e TCP.
Os valores dos campos dos cabealhos de camada 2, 3 e 4 so testados pelas suas
regras. Ele reconhece o formato dos cabealhos sem o auxlio da pilha TCP/IP do
sistema operacional. Dessa forma, o HLBR poder negar ataques na camada 3 do
Modelo OSI mesmo a mquina onde ele est instalado no possuir nmero IP.
A instalao do HLBR pode ser vista no anexo 12.

8.12 Honeyd
O Honeyd um software para HoneyPot de baixa interao. Foi desenvolvido
por Niels Provos, da Universidade de Michigan, e pode ser instalado tanto em Windows
como na maioria dos sistemas baseados em Unix.

28

Por ele ser de baixa interatividade, significa que ele vai emular sistemas e
servios de forma simultnea ao nvel da pilha TCP/IP. Os sistemas virtuais podem ter
servios falsos como e-mail, SSH, Telnet, FTP, DNS, backdoors do Windows como o
MyDoom, etc. Ele permite tambm criar estrurura de ligao em rede, ligao com
outros honeypots e at mesmo ligar mquinas reais a ele.
Cada sistema virtual possui o seu prprio IP. Assim, o honeyd tem a capacidade
de enganar scanners de rede, como o Nmap e o XPROBE, e retornar o campo do
Sistema emulado, baseado no arquivo de assinaturas nmap.prints. Dessa fora, permite
aos Sistemas virtuais responder exatamente como o sistema operacional que ele emula,
quando testado pelo Nmap, por exemplo.
A instalao do Honeyd pode ser vista no anexo 13.

8.13 Nessus
O Nessus uma ferramenta de auditoria muito usada para detectar e indicar uma
maneira de solucionar as possveis vulnerabilidades encontradas nos PCs da rede. Ele
varre todas as portas TCPs detectando servidores ativos e simula invases para detectar
vulnerabilidades.
Alm de simular invases para detectar vulnerabilidades, o Nessus faz uma
varredura de portas usando a ferramenta Nmap (portscan) no apenas nas portas padro,
mas em todas as portas TCP.
O Nessus, at a verso 2.2.8, era uma ferramenta open-source e gratuita. Em sua
verso mais nova e por questes de concorrncias com outras empresas de segurana,
que faziam modificaes no Nessus e colocavam em seus produtos proprietrios para
competir com ele, passou a ser cdigo fechado e gratuito.
Uma das principais caractersticas do Nessus a sua tecnologia cliente-servidor.
O usurio basta apenas ter instalado o cliente em sua mquina e os servidores podem ser
alocados em pontos estratgicos da rede, permitindo testes de vrios pontos diferentes.
Um cliente central ou mltiplos clientes podem controlar todos os servidores. Dessa
forma, o servidor executa os teste e o cliente configura e emite os relatrios.
O Nessus pode ser instalado na maioria dos sistemas baseados no Unix e no
Windows.
29

A instalao do Nessus pode ser vista no anexo 14.


8.13.1 Inprotect
Inprotect um Web-front para o Nessus e o Nmap. Foi escrito em PHP, Perl e
utiliza o MySql, como banco de dados, para fazer as consultas. Ele apresenta os
resultados da verificao atravs de algum navegador, notificao por email ou
exportados para um arquivo de formato PDF.
A instalao do Inprotect em Sistemas GNU Debian possui alguns erros. Ele foi
melhor desenvolvido para Sistemas baseados em Red Hat.

8.14 Nikto
O Nikto nada mais , que um scanner, escrito em Perl, de busca ou deteco de
vulnerabilidades em webservers. Tem a capacidade de descobrir mais de 625 servidores
e conhecer quais so as principais vulnerabilidades de mais de 230 verses especficas
de webservers.
Possui um banco de dados em formato CSV, no qual possvel realizar
atualizaes da base de dados de vulnerabilidades, assim como seu prprio cdigo
fonte. Ele determina qual o diretrio que contm CGIs, alem de trocar as verses
HTTP conforme necessrio para fazer as requisies ao servidor, usando ou no
suporte a SSL. Pode passar por Proxy autenticado e ainda varre vrias portas no
servidor para conseguir encontrar um webserver. Tambm pode ser acrescido de plugins
desenvolvidos em Perl para ter um melhor desempenho e a sada do relatrio
direcionada para arquivos do tipo TXT, HTML e CVS.
O Nikto no esconde sua prpria identificao porque uma ferramenta de
auxlio ao administrador de redes, no necessariamente direcionada ao pblico com
interesse na prtica de invases. Porm, ele tambm suporta algumas tcnicas de evaso
de IDSs presentes na LibWhisker, na qual baseado.
A instalao do Nikto pode ser vista no anexo 9.

30

9.0 CENRIO
Um dos possveis cenrios que poderia ser feito com a utilizao das ferramentas
estudadas apresentado abaixo:

Figura 1 - Cenrio idealizado

31

10.0 CONCLUSO
As ferramentas de respostas a incidentes de segurana foram feitas para auxiliar
o administrador de redes, e no para operarem no seu lugar. As ferramentas fazem um
excelente trabalho no que diz respeito ao seu propsito, mas no adianta instalar um
IDS ou ter um scanner de vulnerabilidades se os logs gerados no so lidos diariamente.
preciso ficar atento as atualizaes ou correes das aplicaes, atualizando as
mesmas e o Sistema Operacional sempre que possvel, tomando cuidado quando a
correo da vulnerabilidade no afetar outras aplicaes.
A melhor forma de fazer um permetro de segurana eficaz :
Analisar a sua prpria rede;
Estudar o seu comportamento e identificar algo de perigoso para a
mesma.
Criar as prprias regras dos IDS baseadas nesse levantamento e no
utilizar apenas as regras padres.
Ter um servidor de tempo rodando para na hora da auditoria dos logs das
ferramentas no ocorrer surpresas.
Analisar diariamente os logs, verificar possveis vulnerabilidades e ficar
sempre atento as atualizaes das aplicaes.
Pela anlise das ferramentas estudadas, conclui-se que o OSSIM, por possuir
um conjunto de ferramentas, j bem aceitas por analistas de segurana, em seu
no framework, apresenta como uma das melhores ferramentas de reposta a
incidentes de segurana. Em casos isolados, o SNORT, como IDS, o OSIRIS,
como HIDS, o GUARDIAN, como IPS, o NESSUS, como scanner de
vulnerabilidades, e o HONEYD, como honeypot de baixa interatividade, so
considerados as melhores opes.

32

11.0 Dificuldades Encontradas


Inicialmente as dificuldades eram em relao insuficincia de equipamentos ou
at mesmo de equipamentos com pouco processamento e memria. Dessa forma,
utilizando ferramentas de incidentes de segurana, inviabilizava os testes em possveis
redes vulnerveis. Com a chegada de novos recursos pde-se criar uma rede virtual na
qual os testes puderam ser realizados.
Outra dificuldade foi encontrar o lugar no qual cada ferramenta ir se encontrar
na rede. Comprometendo a rede ou at mesmo bloqueando os acessos de sadas e
entradas para a internet.

33

12.0 Bibliografia
[1] Labrador Intrusion Detection. Disponvel em: http://labradorids.sourceforge.net/
[2] OSIRIS. Disponvel em: http://osiris.shmoo.com/
[3] OSSEC. Disponvel em: http://www.ossec.net/
[4] Tripwire. Disponvel em: http://sourceforge.net/projects/tripwire/
[5] AIDE. Disponvel em: http://cs.tut.fi/~rammer/aide.html
[6] Snort. Disponvel em: http://www.snort.org/
[7] SnortNotify. Disponvel em: http://www.780inc.com/snortnotify.html
[8] Snort-Inline. Disponvel em: http://snort-inline.sourceforge.net/
[9] OSSIM. Disponvel em: http://www.ossim.net/
[10] PRELUDE. Disponvel em: http://www.prelude-ids.com/
[11] Guardian. Disponvel em: http://www.chaotic.org/guardian/
[12] FWSnort. Disponvel em: http://cipherdyne.org/fwsnort/
[13] HLBR. Disponvel em: http://hlbr.sourceforge.net/
[14] Honeyd. Disponvel em: http://www.honeyd.org/
[15] NESSUS. Disponvel em: http://www.nessus.org/nessus/
[16] Inprotect. Disponvel em: http://inprotect.sourceforge.net/
[17] Nikto. Disponvel em: http://www.cirt.net/code/nikto.shtml
[18] Jr,Brivaldo Alves da Silva, Melhorando a segurana do Firewall com
Bridges usando Snort_Inline no Debian Etch. Disponvel em:
http://www.vivaolinux.com.br/artigo/Melhorando-a-seguranca-do-Firewall-comBridges-usando-Snort_Inline-no-Debian-Etch?pagina=5
[19] Polesso, Rodrigo, Snort_INLINE: Proteo total. Disponvel em:
http://www.vivaolinux.com.br/artigo/Snort_INLINE-Protecao-total/?pagina=3
[20] Polesso, Rodrigo, Sistema de Segurana Linux para Usurio Final.
Disponvel em: http://www.dainf.ct.utfpr.edu.br/~cristina/MShield.pdf

34

[21] Brams, Miguel, Intrusion Detection: Snort (IDS), OSSEC (HbIDS) And
Prelude (HIDS) On Ubuntu Gutsy Gibbon. Disponvel em:
http://www.howtoforge.com/snort-ossec-prelude-on-ubuntu-gutsy-gibbon
[22] LEHMANN, Guillaume, INSTALLATION DE PRELUDE-IDS. Disponvel em:
http://lehmann.free.fr/PreludeInstall/
[23] Ramesh, Tripwire Tutorial: Linux Host Based Intrusion Detection
System. Disponvel em: http://www.thegeekstuff.com/2008/12/tripwire-tutoriallinux-host-based-intrusion-detection-system/
[24] Santos, Ricardo Iramar dos, Osiris - Host Integrity Monitoring System.
Disponvel em: http://www.dicas-l.com.br/dicas-l/20040930.php
[25] Xenlab, Security Testing your Apache Configuration with Nikto.
Disponvel em: http://www.howtoforge.com/apache_security_testing_with_nikto
[26] Augusto, Keynes, Checando vulnerabilidades com o Nikto. Disponvel
em: http://www.vivaolinux.com.br/artigo/Checando-vulnerabilidades-com-o-Nikto/
[27] Rafael, Labrador, um detector de intrusos. Disponvel em:
http://www.vivaolinux.com.br/artigo/Labrador-um-detector-de-intrusos/
[28] Linux Firewalls, DEPLOYING FWSNORT. Disponvel em:
http://www.tinker.tv/download/firewalls_ch10.pdf
[29] McRee, Russ, fwsnort-1.0.5: iptables intrusion detection. Disponvel em:
http://www.receptiveit.com.au/files/eBooks/Linux%20Firewalls%20%20Attack%20Detection/Linux%20Firewalls%20Attack%20Detection%20and%20
Response%20with%20Iptables,%20PSAD,%20and%20Fwsnort.pdf
[30] Fernandes, Dailson, Blindando sua rede com o HLBR - Um IPS invisvel e
brasileiro. Disponvel em: http://www.vivaolinux.com.br/artigo/Blindando-suarede-com-o-HLBR-Um-IPS-invisivel-e-brasileiro/
[31] Suzuki, Luiz Henrique, Implantao de um Honeypot e proposta para
metodologia de Gerenciamento de Projetos de Honeynets. Disponvel em:
http://monografias.cic.unb.br/dspace/bitstream/123456789/102/1/LuizAlexandre.pdf
[32] Morimoto, Carlos E., Usando o Nessus 3.x. Disponvel em:
http://www.guiadohardware.net/tutoriais/usando-nessus/
[33] Montoro, Rodrigo Ribeiro, Anlise de logs usando o
OSSEC HIDS. Disponvel em:
[34] Sampaio, Miguel, Manual de Instalao do Snort@Ubuntu. Disponvel
em:
http://www.snort.org/docs/setup_guides/intl/portuguese/Snort_Install_Portuguese.p
df

35

[35] Rodrigues, Jos Ricardo Simes, O tripwire e a integridade de sistemas


GNU/Linux. Disponvel em: http://ricardosimoes.com/docs/arl/cripto.pdf
[36] Chaves, Marcelo H. P. C., The Brazilian Honeypots Alliance. Disponvel
em: http://www.cert.br/docs/palestras/certbr-ripe53.pdf
[37] Montoro, Rodrigo Ribeiro, Criando um IDS com resposta ativa com
OSSEC / Snort. Disponvel em: http://www.dynsec.com.br/arquivos/ossec-snortactiveresponse_pt-BR.pdf

36

ANEXOS

ANEXO 1 TUTORIAL PARA INSTALAO DO SNORT + PHP5


+ APACHE2 + MYSQL + BASE + SNORTNOTIFY + POSTFIX
Fazer downloads dos pacotes necessrios para a compilao do SNORT
PCRE-7.8 Verso utilizada at o momento da criao do tutorial
Baixe dependncias necessrias:

# aptitude install build-essential


Download http://www.pcre.org
Obs.: Por motivo de organizao todos os downloads ficaro na pasta /opt/Downloads

# cd /opt/Downloads
# tar xzvf pcre-7.8.tar.gz
# cd pcre-7.8
# ./configure
# make && make install
Libpcap_1.0.0 - Verso utilizada at o momento da criao do tutorial
Baixe dependncias necessrias:

# aptitude install bison flex


Download http://www.tcpdump.org

37

# cd /opt/Downloads
# tar xzvf libpcap-1.0.0.tar.gz
# cd libpcap-1.0.0
# ./configure
# make && make install
Aps a instalao da biblioteca ser necessria a atualizao:

# ldconfig
SNORT 2.8.3.1 - Verso utilizada at o momento da criao do tutorial
Utilizaremos juntamente com o MYSQL, portanto:

# aptitude install mysql-server-5.0 libmysqlclient15-dev


Download http://www.snort.org/dl/

# cd /opt/Downloads
# tar xzvf snort-2.8.3.1.tar.gz
# cd snort-2.8.3.1
# ./configure - -with-mysql
# make && make install
Configuraes necessrias do sistema:

# groupadd snort
# useradd -g snort snort
# mkdir /etc/snort
# mkdir /var/log/snort
# cp /opt/Downloads/snort-2.8.3.1/etc/* /etc/snort
SNORTRULES
Faa o seu registro em http://www.snort.org e baixe as regras para o SNORT
38

Donwload http://www.snort.org/pub-bin/downloads.cgi
Baixe a verso corrente para usurios registrados
Baixe e descompacte dentro de /etc/snort:

# cd /etc/snort
# tar xzvf snortrules-snapshot-CURRENT.tar.gz
Configurao do snort.conf. No exemplo criado, foi utilizado a rede
10.10.10.0/24. Modifique apenas as linhas necessrias:

# vim /etc/snort/snort.conf
var HOME_NET [127.0.0.0/8,10.10.10.0/24]
var EXTERNAL_NET !$HOME_NET
var DNS_SERVERS [200.137.160.130,200.137.160.135]
var RULE_PATH /etc/snort/rules
output database: log, mysql, user=snort password=snort dbname=snort host=localhost
Aps realizada as modificaes reinicie o snort:

# snort -c /etc/snort/snort.conf -D
ADODB5.04 - Verso utilizada at o momento da criao do tutorial
# aptitude install apache2 libapache2-mod-php5 php5 php5-gd php-pear php5-cli php5common php5-mysql php-net-socket php-net-smtp php-mail php-http php-db php-xmlparser
Download http://sourceforge.net/project/showfiles.php?group_id=42718
Baixe e descompacte o adodb dentro de /var/www:

# cd /var/www
# tar xzvf adodb5.tgz

39

BASE-1.4.1 - Verso utilizada at o momento da criao do tutorial


Donwload http://sourceforge.net/projects/secureideas
Retire o redirecionamento para o apache2-default:

# vim /etc/apache2/sites-available/default
Comente a linha que possui:

RedirectMatch ^/$ /apache2-default/


Baixe e descompacte o base dentro de /var/www:

# cd /var/www
# tar xzvf base-1.4.1.tar.gz
# mv base-1.4.1 base
# cd base
Configurao do arquivo base_conf.php:

# cp base_conf.php.dist base_conf.php
# vim base_conf.php
$BASE_Language = 'portuguese';
$BASE_urlpath = '/base';
$DBlib_path = '/var/www/adodb/';
$DBtype = 'mysql';
$alert_dbname = 'snort';
$alert_host = 'localhost';
$alert_port = '';
$alert_user = 'snort';
$alert_password = 'snort';
$archive_exists = 0;
$archive_dbname = 'snort';
$archive_host = 'localhost';
$archive_port = '';
$archive_user = 'snort';

40

$archive_password = 'snort';
Baixar os arquivos necessrios para gerar os grficos
Download http://download.pear.php.net/package/Image_Canvas-0.3.1.tgz
Download http://download.pear.php.net/package/Image_Color-1.0.2.tgz
Download http://download.pear.php.net/package/Image_Graph-0.7.2.tgz
Descompacte e instale:

# cd /opt/Downloads
# tar xzvf Image_Canvas-0.3.1.tar.gz
# tar xzvf Image_Color-1.0.2.tar.gz
# tar xzvf Image_Graph-0.7.2.tar.gz
# pear install Image_Canvas-0.3.1 Image_Color-1.0.2 Image_Graph-0.7.2

Enviar alertas por email


SNORTNOTIFY 2.1 - Verso utilizada at o momento da criao do tutorial
Download - http://www.780inc.com/snortnotify/
Baixar arquivos Perl necessrios:

# perl MCPAN e install DBI


# perl MCPAN e force install DBD::mysql
# perl MCPAN e install Net::SMTP
Faa uma cpia do arquivo de configurao para o diretrio padro:

# cp /opt/Downloads/snortnotify-v2.1/SnortNotify.conf /etc

41

Modificar o arquivo de configurao:

# vim /etc/SnortNotify.conf
$workto = 'security@pop-pi.rnp.br';
$offto = 'pager@example.com';
$startworkhr = '08';
$endworkhr = '18';
@workdays = ('1', '2', '3', '4', '5', '6', 7'') ;
$sender = 'Snort Alerts <snort@pop-pi.rnp.br>';
$return = 'snort@pop-pi.rnp.br';
$subject = 'Alertas do Snort';
$message = 'snortsensor detected signature from src to dst count times last at
timestamp';
$usesendmail = '1';
$sendmail = '/usr/sbin/sendmail';
$mailserver = 'localhost';
$dbhost = 'localhost';
$dbname = 'snort';
$dbuser = 'snort';
$dbpass = 'snort';
$priority = '3';
$threshold = 'on';
MYSQL
Configurao do MySQL:

# mysql
mysql> set password for root@localhost=password(senhaparaoroot);
mysql> create database snort;
mysql> grant insert, select on root.* to snort@localhost;
mysql> set password for snort@localhost=password(snort);
mysql> grant create, insert, select, delete, update on snort.* to snort@localhost;
mysql> grant create, insert, select, delete, update on snort.* to snort;
mysql> exit

42

Criar as tabelas do banco snort:

# mysql -u root -p < /opt/Downloads/snort-2.8.0.1/schemas/create_mysql snort


Digite a senha do root para o banco
Checar se foram feitas as alteraes:

# mysql -p
Digite a senha do root para o banco:

mysql> show databases;


mysql > use snort;
mysql > show tables;
mysql > exit

Abra um Browser e acesse http://localhost/base. Clique em pgina de Setup:

Figura 2 - Pgina inicial do Setup do AcidBase

Na prxima pgina clique em Create BASE AG:

43

Figura 3 Criar as tabelas

A pgina que aparece ser exibido a criao das tabelas com sucesso. Para
continuar clique em Main Page para ir para a pgina principal

Figura 4 Tabelas adicionadas

44

Pgina
Principal

Figura 5 - Pgina inicial do AcidBase

PostFix para fazer um relay em um servidor SMTP autenticado:


# aptitude install sasl2-bin libsasl2 libsasl2-modules postfix postfix-tls
O aptitude executar o Debconf para fazer algumas perguntas para voc e ajustar
algumas configuraes ps-instalao de alguns pacotes.
Sobre o Postfix, o Debconf perguntar:
Qual o tipo de configurao do Postfix?
o Internet with smarthost
Onde redirecionar as mensagens de sistemas para os usurios de sistema e root?
o seu_usuario
Qual o FQDN (Fully Qualified Domain Name)?
o dominio.com.br
45

Qual o servidor a ser usado como relay?


o smtp.provedor.com.br ou IP do servidor
Outros destinos que o servidor de e-mail responder? Pode deixar o padro j
descrito como resposta.
o localhost
Forar a atualizao sincronizada?
o No.
De quais segmentos de rede voc receber as mensagens?
o 127.0.0.1/8 10.10.10.0/24
Usar o procmail para entrega local?
o Sim.
Limite da caixa de email?
o 0 (Zero)
Caracter de extenso para endereo local?
o +

Configurao:
Caso esteja usando Debian ou derivados, dever editar tambm o
/etc/default/saslauthd, retirando o comentrio da seguinte linha:

START=yes
Edite o Arquivo /etc/postfix/main.cf, adicionando no final do arquivo:

# Habilita ou no autenticao usando SASL.


smtp_sasl_auth_enable = yes
# Configura o mecanismo de autenticao do Postfix, no nosso caso est vazio, pois a
autenticao enviada como texto.
smtp_sasl_security_options =
# Aponta o arquivo com mapa de senha para autenticar no provedor.
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl
# Configura o servidor ao qual o Postfix enviar as mensagens.
46

srelayhost = smtp.provedor.com.br
Configurar o arquivo /etc/postfix/sasl/sasl para realizar a autenticao:

smtp.provedor.com.br <usuario>@<servidor smtp relay>:<senha_do_usuario>


Ex.: parnaiba.smtp.provedor.com.br snort@pop-pi.rnp.br:snort123
Obs.: Entre as colunas necessrio usar tabulao ao invs do espao (TAB).
Agora, devemos criar o arquivo.db do sasl com o comando:

# postmap /etc/postfix/sasl/sasl
Reinicie o Postfix:

# invoke-rc.d postfix restart

Faa o teste:

# echo "teste" | mail -s "teste $(hostname)" email@dominio.com.br


E veja os logs em:

# tail /var/log/mail.log -f

47

ANEXO 2 TUTORIAL PARA INSTALAO DO SNORT + PHP5


+ APACHE2 + MYSQL + BASE + GUARDIAN VIA APT-GET E
COM ATUALIZAO PARA A VERSO UNSTABLE
SNORT via APT-GET (stable)
Instalao e Configurao do MySQL
Instale o mysql-server:

# aptitude install mysql-server


Verifique se o MySQL est rodando e se os sockets esto ativos:

# ps aux | grep mysql


# netstat -nlpt
Defina uma senha para o usurio root do MySQL:

# mysqladmin -u root password <nova senha>


Agora, conecte no MySQL:

# mysql -u root -p
Conectado no MySQL crie uma base de dados para o Snort:
# mysql -u root -p
mysql> show databases;
mysql> create database snort;
mysql> quit

48

Instalao e Configurao do Snort com suporte a MySQL


Instale o Snort com suporte a MySQL:

# aptitude instal snort-mysql


Detalhes de configurao:
Faixa de endereo na qual o Snort deve ouvir(exemplo):
10.10.10.0/24
Deseja configurar uma base de dados para snort-mysql gravar os logs:
Sim
necessrio criar as tabelas dentro da base de dados snort. O Snort traz um exemplo
das tabelas na sua documentao. Entre no seguinte diretrio:

# cd /usr/share/doc/snort-mysql
Utilize o arquivo create mysql.gz para criar as tabelas dentro da base de dados snort:

# zcat create_mysql.gz | mysql -u root -h localhost -p snort


Acesse o servidor MySQL e verifique as tabelas na base de dados snort:

# mysql -u root -p
mysql> show databases;
mysql> use snort;
mysql> show tables;
mysql> status;
mysql> quit;

49

Verifique os arquivos de configurao do snort:

# cd /etc/snort
# ls -l
Faca um cpia do snort.conf original e mantenha um novo arquivo sem os comentrios:

# mv snort.conf snort.conf.orig
# cat snort.conf.orig | grep v ^# | grep . > snort.conf
Edite o snort.conf e modifique-o da seguinte maneira:

# vi snort.conf
var HOME_NET 10.10.10.0/24
var EXTERNAL NET any
var DNS_SERVERS $HOME_NET
var SMTP_SERVERS $HOME_NET
var HTTP_SERVERS $HOME_NET
output database: log, mysql, user=root
host=localhost

password=123456

dbname=snort

Verifique tambm o arquivo de configurao snort.debian.conf:


Antes de reiniciar o snort, apague o arquivo de pendncia da configurao do
banco de dados que ele criou dentro de /etc/snort:

# cd /etc/snort
# rm db-pending-config
Reinicie o snort:

# /etc/init.d/snort restart

50

Para finalizar essa etapa, d permisso de acesso remoto na base de dados snort e
suas tabelas:

# mysql -u root -p
mysql> grant all privileges on snort.* to root@10.10.10.102 identified by "123456";
mysql> grant all privileges on snort.* to root@microX identified by "123456';
mysql> quit
Instalao e Configurao do Apache2
Instale o Apache2:

# aptitude install apache2


Edite o arquivo de configurao do apache2 e defina um FQDN:

# vi /etc/apache2/apache2.conf
ServerName 10.10.10. X
Edite o arquivo /etc/default/apache2, para permitir que o apache seja iniciado:

# vi /etc/default/apache2
NO_START=0
Reinicie o Apache2:

# /etc/init.d/apache2 restart

51

Procedimentos Bsicos de Segurana para o Apache2


Remova o diretrio padro apache2-default:

# cd /var/www
# rm -rf apache2-default
Retire a opo de Indexes para o diretrio padro do apache2 e retire o
redirecionamento para a pasta apache2-default:

# vi /etc/apache2/sites-available/default
<Directory /var/www/>
Options FollowSymLinks MuitiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# RedirectMatch ^/$ /apache2-default/
</Directory>
.
.
.
ServerSignature Off
Reinicie o Apache2:

# /etc/init.d/apache2 restart
Instalao e Configurao do PHP5
Instale o PHP5 e alguns mdulos necessrios:

# aptitude install php5 php5-mysql php5-pear libapache2-mod-php5

52

Edite o arquivo php.ini do Apache2 e descomente a seguinte linha para dar


suporte ao MySQL e acrescente parmetros para deix-lo mais seguro:

# vi /etc/php5/apache2/php.ini
; Example lines:
extension=mysql.so
; Safe Mode
safe_mode = 0n
safe_mode_gid = 0n
Reinicie o Apache2:

# /etc/init.d/apache2 restart
Instalao e Configurao do AcidBase
O AcidBase a ferramenta que ser utilizada para visualizar os eventos de alerta
que sero gerados pelo Snort e gravados dentro do MySQL.
Instale o Acidbase:

# aptitude install acidbase


Edite o arquivo de configuraro de base de dados do AcidBase, informando os
valores corretos:

# vi /etc/acidbase/database.php
$alert _user=' root ';
$alert_password=' 123456';
$basepath=' ';
$alert_dbname='snort ';
$alert_host=' 10.10.10.102';
$alert_port=' 3306';
$DBtype='mysql ';

53

Libere acesso pgina do AcidBase nas configuraes do Apache2:

# vi /etc/acidbase/apache.conf
<IfModule mod_alias .c>
Alias /acidbase "/usr/share/acidbase"
</IfModule>
<DirectoryMatch /usr/share/acidbase/>
Options +FollowSymLinks
AllowOverride None
order deny,allow
deny from all
allow from 10.10.10.0/255.255.255.0
allow from 127.0.0.0/255.0.0.0
<IfModule mod_php4.c>
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_value include_path .:/usr/share/php
</IfModule>
</DirectoryMatch>
Crie o link simblico para a pasta do apache2:

# ln -s /etc/acidbase/apache.conf /etc/apache2/conf.d/acidbase.conf
Reinicie o Apache2:

# /etc/init.d/apache2 restart
Permita que o Mysql trabalhe no IP da mquina e no s em localhost:

# vi /etc/mysql/my.cnf
bind-address

= 10.10.10.102

54

Reinicie o Mysql:

# /etc/init.d/mysql restart
Acesse o AcidBase no browser:

http://10.10.10.102/acidbase/
Importante: No primeiro acesso, a interface do AcidBase dar um erro reclamando a
falta de algumas das tabelas que o AcidBase utiliza. Para resolver esse erro, clique em
Setup Page e depois em Create Base A G
Apache com suporte a SSL
Vamos verificar se temos o mdulo ssl ativo:

# apache2ctl -M
ou
# ls -l /etc/apache2/mods-enable
Se no, ative o mdulo ssl:

# a2enmod ssl
Vai pedir para reiniciar o apache, mas antes vamos fazer mais algumas modificaes.
Vamos acrescentar ao arquivo /etc/apache2/ports.conf a porta padro que o
protocolo http sobre TLS/SSL ouve:

# vi /etc/apache2/ports.conf
Listen 443
55

Nos prximo passas mostraremos o que preciso para criao de um certificado


padro X.509. c como ns mesmos podemos assin-1. Utilizaremos o programa
openssl para isto.
Verifique se tem o pacote instalado:

# dpkg -l openssl
Instalando o openssl caso no possua:

# aptitude install openssl


Crie um diretrio para nosso certificado:

# mkdir /etc/apache2/ssl
# cd /etc/apache2/ssl
Agora criaremos um certificado com algoritmo padro que aceito pela maioria
dos browsers:
Primeiro a chave:

# openssl genrsa -out hostname.key 1024


Depois o certificado(sero feitas algumas perguntas):

# openssl req -new -key hostname.key -out hostname.csr


Country Name (2 letter code) [AU]:BR[ENTER]
State or Province Name (full name) [Some-State]:Piaui[ENTER]
Locality Name (eg, city) []:Teresina[ENTER]
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PoP-PI[ENTER]
Organizational Unit Name (eg, section) []: Infra[ENTER]
Common Name (eg, YOUR name) []:.[ENTER]
Email Address []:admin@pop-pi.rnp.br [ENTER]

56

Please enter the following 'extra' attributes to be sent with your certificate request A
challenge password []:[ENTER]
An optional company name []:[ENTER]
Neste ponto voc tem duas opes, pode tanto enviar seu certificado (CSR) para
uma das vrias autoridades certificadoras para que assinem e tornem seu certificado
vlido ou voc mesmo pode assinar:

# openssl x509 -req -days 365 -in hostname.csr -signkey hostname.key -out
hostname.crt
Obs.: O arquivo hostname.crt nosso certificado e o hostname.key nossa chave
Alterando nosso Domnio Virtual e adicionando as diretivas necessrias para
ativar o SSL:

# vi /etc/apache2/sites-enable/000-default
NameVirtualHost *
<VirtualHost *>
........
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/hostname.crt
SSLCertificateKeyFile /etc/apache2/ssl/hostname.key
........
</VirtualHost>
Reinicie o servio:

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
Verifique os processos do Apache2 que foram inicializados:

# ps auxf | grep apache2 | grep -v grep

57

Confira as portas que foram abertas para o servidor web com https:

# netstat -nltp | grep apache2


Atualizao do Snort
Para fazer a atualizao do Snort, ser necessrio realizar um cadastro no site
oficial do snort, e obter o chamado Oink Code, que o cdigo que permite ter acesso as
atualizaes.
Acesse o site oficial do Snort e faa um novo registro utilizando um e-mail
verdadeiro:

http://www.snort.org
Feito o cadastro, acesse o seu e-mail e utilize o usurio e senha que foram
enviados para fazer login no site do Snort.
Aps o login, clique no boto "Get Code" para obter o "Oink Code", que ser
semelhante ao seguinte:

5aO8f649c16a278e1012e1c84bdc8fab9a70e2a4
Agora acesse a seguinte url, colocando o seu cdigo, para baixar o pacote de
atualizao:

http://www.snort.org/pub-bin/oinkmaster.cgi/5aO8f649cla278elO12elc34bdc3fab9a
70e2a4/snortrules-snapshot-2.3.tar.gz
Aps ter baixado o pacote, descompate-o dentro do diretrio do snort:

# tar xzvf snortrules-snapshot-2.3 tar.gz -C /etc/snort

58

Entre no diretrio do Snort e mova o diretrio doc/signatures para dentro do


diretrio do AcidBase:

# cd /etc/snort/doc
# mv signatures /usr/share/acidbase
Reinicie o Snort:

# /etc/init.d/snort restart

Instalando o Guardian
Obs.: Por uma limitao do Guardian, seu sistema precisa estar com o idioma em ingls,
pois o Guardian se baseia nos parmetros que esto no ifconfig. Em seu script ele
procura pela string inet end e em portugus estaria inet addr. Caso j tenha
instalado a verso do S.O. em portugus existem 2 solues:
1. Modifica o script em Perl
2. # LANG = en_us
o Somente em memria
O Guardian basicamente um script em Perl, e no est nos repositrios Debian.
Podemos obt-lo pelo seguinte site:
http://www.chaotic.org/guardian/
Aps baixar o Guardian, iremos descompact-lo:

# cd /root
# tar xzvf guardian-l X.tar.gz

59

Primeiro vamos modificar o arquivo de configurao guardian.conf:

# vi guardian.conf
Interface eth0
LogFile /var/log/guardian. Log
AlertFile /var/log/snort/alert
IgnoreFile
/etc/guardian.ignore
TimeLimit
3600
Colocar o arquivo de configurao no diretrio padro:

# cp guardian.conf /etc
Podemos criar o arquivo guardian.ignore, e colocar os IP's que no precisam ser
checados, no caso podemos colocar o nosso prprio IP:

# vi /etc/guardian.ignore
10.10.10.7
Agora precisamos preparar os scripts que o guardian vai utilizar par bloquear e
desbloquear os IP's:

# cd scripts
# cp iptables_block. sh /sbin/guardian_block. Sh
# cp iptables_unblock.sh /sbin/guardian_unblock.sh
Para colocar o Guardian em funcionamento, vamos jogar o script guardian.pl
para um dos diretrios do PATH:

# cd ..
# cp guardian.pl /sbin
Crie o arquivo de log do Guardian:
60

# touch /var/log/guardian.log
Agora vamos iniciar o Guardian:

# guardian.pl -c /etc/guardian.conf
# ps ax
Para testar, acompanhe o log do Guardian enquanto outra mquina faz uma
varredura com nmap:

# tail -f /var/log/guardian.log
Crie um script no nvel de execuo padro para o Guardian ser iniciado
automaticamente no boot do sistema:

# vi /etc/init.d/guardian
#!/bin/bash
test -f /sbin/guardian.pl || exit 0
case "$1" in
start)
guardian.pl -c /etc/guardian.conf
;;
stop)
kill -9 $(pgrep guardian.pl)
;;
*)
echo "Opo invalida. Use start ou stop."
exit 2
;;
esac
exit 0

Modificar as permisses do arquivo:


61

# chmod 755 /etc/init.d/guardian


Adicionar no momento do boot:

# update-rc.d guardian defaults


Reiniciar o servio:

# /etc/init.d/guardian stop
# /etc/init.d/guardian start
SNORT via APT-GET (unstable)
Remontar pacotes do tipo .deb:
# aptitude install dpkg-dev
Modificar o repositrio no sources.list:

# vi /etc/apt/sources.list
deb http://ftp.debian.org/debian unstable main contrib non-free
deb-src http://ftp.debian.org/debian unstable main contrib non-free
Fazendo o download do cdigo-fonte:

# cd /opt
# apt-get update
# apt-get source snort-mysql
Obs: Aps concluir o download do source, colocar o repositrio no stable e dar um aptget update.

# cd /opt/snort-2.7.0

62

Criar pacote .deb sem chaves assinadas:


# dpkg-buildpackage -us -uc
Ir reclamar e listar as dependncias, ento iremos instal-las:

# aptitude install todas_as_dependncias


Por questo de segurana ir dar um erro nos manuais desse pacote:

# vi /opt/snort-2.7.0/debian/snort-docs.docs
Remova o doc/snort_manual.pdf e o doc/faq.pdf
Construa o pacote novamente:

# dpkg-buildpackage -us -uc


Entre no diretrio em que foram criados os .deb e instale-os:

# cd /opt
# dpkg -i pacote.deb
Obs: Vai dar um erro no snort-mysql. Ser preciso realizar alguns ajustes:
Configurao do Snort com suporte a MySQL
# mysql -u -p > drop database snort .

Conectado no MySQL crie uma base de dados para o Snort:


63

# mysql -u root -p
mysql> show databases;
mysql> create database snort;
mysql> quit
Instalao e Configurao do Snort com suporte a MySQL
Instale o Snort com suporte a MySQL:

# aptitude instal snort-mysql


Detalhes de configurao:
Faixa de endereo na qual o Snort deve ouvir: 10.10.10.0/24
Deseja configurar uma base de dados para snort-mysql gravar os logs: Sim
necessrio criar as tabelas dentro da base de dados snort. O Snort traz um
exemplo das tabelas na sua documentao. Entre no seguinte diretrio:

# cd /usr/share/doc/snort-mysql
Utilize o arquivo create mysql.gz para criar as tabelas dentro da base de dados snort:

# zcat create_mysql.gz | mysql -u root -h localhost -p snort


Acesse o servidor MySQL e verifique as tabelas na base de dados snort:

# mysql -u root p
mysql> show databases;
mysql> use snort;
mysql> show tables;
mysql> status;

64

mysql> quit;
Verifique os arquivos de configurao do snort:

# cd /etc/snort
# ls -l
Faca um cpia do snort.conf original e mantenha um novo arquivo sem os comentrios:

# mv snort.conf snort.conf.original
# cat snort.conf.original | grep v ^# | grep . > snort.conf
Edite o snort.conf e modifique-o da seguinte maneira:

# vi snort.conf
var HOME_NET 10.10.10.0/24
var EXTERNAL NET any
var DNS_SERVERS $HOME_NET
var SMTP_SERVERS $HOME_NET
var HTTP_SERVERS $HOME_NET
output database: log, mysql, user=root
host=localhost

password=123456

dbname=snort

Verifique tambm o arquivo de configurao snort.debian.conf:

# cat snort.debian.conf
Visualize as regras (assinaturas) do Snort dentro do diretrio rules:

# cd rules
# ls

65

Antes de reiniciar o snort, apague o arquivo de pendncia da configurao do


banco de dados que ele criou dentro de /etc/snort:

# cd /etc/snort
# rm db-pending-config
Reinicie o snort:

# /etc/init.d/snort restart
Para finalizar essa etapa, d permisso de acesso remoto na base de dados snort e
suas tabelas:

# mysql -u root p
Coloque a senha de root e faa as seguintes configuraes:
mysql> grant all privileges on snort.* to root@10.10.10.102 identified by "123456";
mysql> grant all privileges on snort.* to root@microX identified by "123456';
mysql> quit
Configurao do AcidBase
Acesse o AcidBase no browser:
http://10.10.10.102/acidbase/
Importante: No primeiro acesso, a interface do AcidBase dar um erro
reclamando a falta de algumas das tabelas que o AcidBase utiliza. Para resolver esse
erro, clique em Setup Page e depois em Create Base A G
Reinicie o Snort:

# /etc/init.d/snort restart
66

ANEXO 3 TUTORIAL PARA INSTALAO DO SNORT EM


MODO BRIDGE

Em ambientes onde o Snort precisa ficar transparente na rede ou em redes onde


no tem a disponibilidade de trabalhar com um Switch com port-mirror. Podemos fazer
que o Snort trabalhe como se fosse uma ponte(bridge), onde todo o trfego de rede
passar por ele de forma transparente.
Primeiro precisamos instalar o pacote para criar a bridge entre as interfaces:

# aptitude install bridge-utils


Agora vamos criar a interface de bridge:

# brctl addbr br0


# ifconfig -a
Com a interface de bridge criada, temos que definir quais interfaces vo
pertencer a ela para a ponte ser estabelecida:

# brctl addif br0 eth0


# brctl addif br0 ethl
Configurao das Interfaces
Para ficar algo transparente, as interfaces no podem ter endereo IP:

# ifconfig eth0 0.0.0.0


# ifconfig ethl 0.0.0.0

67

Para colocar a bridge em funcionamento precisamos levantar a sua interface:

# ifconfig br0 up
Para

deixar

essas

configuraes

fixas,

precisamos

editar

/etc/network/interfaces e deixa da seguinte maneira:

# vi /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 0.0.0.0
network 0.0.0.0
broadcast 0.0.0.0
auto ethl
iface ethl inet static
address 0.0.0.0
network 0.0.0.0
broadcast 0.0.0.0
auto br0
iface br0 inet static
bridge_ports eth0 ethl
bridge_maxwait 0
Configurao do Snort
Agora devemos fazer com que o Snort trabalhe na interface da bridge:

# vi /etc/snort/snort.debian.conf
DEBIAN_SNORT_STARTUP="boot" DEBIAN_SNORT_HOME_NET="10.10.10.0/24"
DEBIAN_SNORT_OPTIONS=""
DEBIAN_SNORT_INTERFACE="br0"
DEBIAN_SNORT_SEND_STATS="true"
DEBIAN_SNORT_STATS_RCPT="root" DEBIAN_SNORT_STATS_THRESHOLD="1"

68

E feitas s modificaes, reiniciar o snort:

# /etc/init.d/snort restart
Para desfazer a bridge, devemos fazer os seguintes passos:

# ifconfig br0 down


# brctl delif br0 eth0
# brctl delif br0 eth1
# brctl delbr br0
Reiniciar as configuraes de Rede:

# /etc/init.d/networking restart

69

ANEXO 4 TUTORIAL PARA INSTALAO DO SNORT-INLINE


COM SUPORTE AO MYSQL
Instalao e Configurao do MySQL
Instale o mysql-server:

# aptitude install mysql-server


Verifique se o MySQL est rodando e se os sockets esto ativos:

# ps aux | grep mysql


# netstat -nlpt
Defina uma senha para o usurio root do MySQL:

# mysqladmin -u root password <nova senha>


Agora, conecte no MySQL:

# mysql -u root -p
Conectado no MySQL crie uma base de dados para o Snort:

# mysql -u root -p
mysql> show databases;
mysql> create database snort;
mysql> grant all privileges on snort.* to snort@localhost identified by snort;
mysql> quit

70

Instalando dependncias
Baixe dependncias necessrias:

# aptitude install build-essential libnet0-dev libpcre3-dev libmysqlclient15-dev iptablesdev


No Debian Etch, o pacote libdnet-dev, necessrio para a compilao e instalao
do Snort-inline possui um erro. Ento iremos instal-lo manualmente.
Libdnet-1.1 Verso utilizada at o momento da criao do tutorial
Download http://libdnet.sourceforge.net

# cd /opt/Downloads
# tar xzvf libdnet-1.1.tar.gz
# cd libdnet-1.1
# ./configure
# make && make install
Snort_inline-2.6.1.5 - Verso utilizada at o momento da criao do tutorial
Download http://snort-inline.sourceforge.net/download.html

# cd /opt/Downloads
# tar xzvf snort_inline-2.6.1.5.tar.gz
# cd snort_inline-2.6.1.5
Criar os diretrios para os arquivos de configuraes e as regras:

# mkdir -p /etc/snort/rules
Copiar o arquivo de configurao do Snort para o diretrio padro:

# cp etc/* /etc/snort
71

Realizar duas alteraes no arquivo de configurao.

# vi /etc/snort/snort_inline.conf
var RULE_PATH /etc/snort/rules
output database: log, mysql, user=snort password=snort dbname=snort host=localhost
# make && make install
Colocar dois arquivos no diretrio de regras:
Classification.config define as urls para as referncias encontradas nas regras.
Reference.config inclui informaes para priorizao das regras.

# cp etc/classification.config /etc/snort/rules
# cp etc/reference.config /etc/snort/rules
Criar o arquivo de logs do Snort:

# mkdir /var/log/snort
Criar as tabelas do banco Snort:

# mysql -u -p snort < schemas/create_mysql


Compilando e Instalando o Snort-Inline:
# cd /opt/Downloads
# tar xzvf snort_inline-2.6.1.5.tar.gz
# cd snort_inline-2.6.1.5
# ./configure --enable-inline --enable-flexrep --enable-gre --enable-pthread --withlibipq-includes=/usr/include/libipq --with-mysql
# make && make install

72

O Snort j est capturando o trfego que passa por ele:

# snort_inline -v

Transformando-o em um IPS
1. Direcionar todos os pacotes para uma fila:

# iptables -A FORWARD -j QUEUE


2. Executar o Snort em modo inline:

# snort -Q -N -c /etc/snort/snort_inline.conf -l /var/log/snort -D


Obs.: A instalao do AcidBase no Snort-Inline segue da mesma forma descrita
anteriormente.

73

ANEXO 5 TUTORIAL PARA INSTALAO DO HIDS AIDE


Antes de instalar o AIDE, tire o atributo -a para que ele possa criar os arquivos
necessrios no diretrio de logs:

# chattr -R -a /var/log
Instalao e Configurao do AIDE
O primeiro passo instalarmos o AIDE no Debian:

# aptitude install aide


Verifique o man do aide.conf para ver como funcionam as suas checagens:

# man aide.conf
Vamos verificar os arquivos de configurao que foram criados:

# cd /etc/aide
# ls
# cd aide.conf.d
# ls
Os arquivos so o seguinte:
aide.conf: Principal arquivo de configurao do AIDE.
aide.conf.d: Diretrios aonde ficam os arquivos de configuraro especfico para
cada aplicativo.
Analise o arquivo /etc/aide/aide.conf:

74

# cd /et c/aide
# vi aide.conf

Em seguida vamos verificar um dos arquivos de configurao dos aplicativos:

# cd /etc/aide/aide.conf.d
# vi 31_aide_apache2
Antes de gerar uma base necessrio validar as alteraes no arquivo de
configurao aide.conf:

# update-aide.conf
Esse comando vai criar uma cpia do arquivo de configurao no diretrio
/var/lib/aide chamado aide.conf.autogenerated que vai ser usado pelo comando gerador
de bases do Aide.
Agora que o AIDE est configurado, e nosso sistema est pronto, podemos gerar
a base do AIDE:

# aideinit
Quando executado, o comando aideinit criar o arquivo /var/lib/aide/aide.db.new
e criar tambm o /var/lib/aide/aide.db.
Aps o comando aideinit, verifique se as bases foram criadas:

# cd /var/lib/aide
Fazendo uma auditoria com o AIDE

75

Agora que a base est criada, podemos simular algumas modificaes no sistema
e ver como o AIDE vai nos notificar sobre essas modificaes.
Vamos mudar a localizao do binrio rmdir, e criar outro forjado:

# mv /bin/rmdir /root
# echo teste > /bin/rmdir
Realizando a auditoria:
# aide -C --config=/var/lib/aide/aide.conf.autogenerated | tee /root/relatorio1_aide.txt
O relatrio foi gerado na tela e no arquivo. Verifique o relatrio que ficou
documentado:

# cd /root
# vi relatoriol_aide.txt
OBS: No se esquea de colocar o rmdir de volta no /bin (cp /root/rmdir /bin).

76

ANEXO 6 TUTORIAL PARA INSTALAO DO HIDS OSSEC


Instalao e Configurao do OSSEC
Primeiro precisamos obter o cdigo-fonte do Ossec no seu site oficial: www.ossec.net:

# cd /opt
# wget http://www.ossec.net/files/ossec-hids-1.6.1.tar.gz
Agora vamos descompact-lo:

# tar xzvf ossec-hids-1.6.1.tar.gz


# ls
Instale os pacotes necessrios para fazer a compilao:

# aptitude install build-essential


O OSSEC possui um script para

a sua instalao onde sero feitas vrias

perguntas, para isso execute:

# cd ossec-hids-1.6.1
# ./install.sh
No primeiro passo da instalao escolha o idioma a ser instalado :

** Para instalao em portugus, escolha [br].


** Fur eine deutsche Installation wohlen Sie [de].
** For installation in English, choose [en].
** Para instalar en Espanol , eliga [es].
** Pour uno installation en Franois, choisissez [f]
** Per l'installazione in Italiano, scegli [it].
** Za instalaciju na srpskom, izaberi [s].

77

(en/br/cn/de/es/fr/it/jp/pl/ru/sr/tr) [en]:br
Agora vamos escolher o modo como ele vai trabalhar que pode ser:
Servidor - ser o servidor que tratar os logs
Cliente cliente ou agente que enviar os logs pro Server
Local - no caso de apenas um servidor sem clientes a monitorar logs.
Que tipo de instalao voc deseja (servidor, cliente, local ou ajuda)?

local
Prximo passo escolher onde o OSSEC ser insta1ado. Podemos aceitar o
diretrio proposto.
Configurando o ambiente de instalao.
Escolha onde instalar o OSSEC HIDS [/var/ossec]:

Tecle ENTER
Depois vamos aceitar para receber notificaes por e-mail
Configurando o OSSEC HIDS.
Deseja receber notificaes por e-mail? (s/n) [s]:

Tecle ENTER
Qual o seu endereo de e-mail?

eric@pop-pi.rnp.br

78

Seu servidor SMTP foi encontrado como:

smtp.dominio.com.br
Ex.: panaiba.pop-pi.rnp.br
Deseja us-lo? (s/n) [s]:

Tecle ENTER
Em seguida vamos habi1itar a1guns tipos de checagens.
Deseja habilitar o sistema de verificao de integridade? (s/n) [s]:

Tecle ENTER
Deseja habilitar o sistema de deteco de rootkis? (s/n) [s]:

Tecle ENTER
Respostas automticas permitem voc executar um comando especfico baseado
nos eventos recebidos. Voc pode bloquear um endereo de IP ou desabilitar o acesso
de

um

usurio

especfico,

por

exemplo.

Maiores

informaes:

http://www.ossec.net/en/manual.html#active-response
Deseja habilitar o sistema de respostas automticas? (s/n) [s]:

Tecle ENTER
Deseja habilitar o firewall-drop? (s/n) [s]:

Tecle ENTER

79

Deseja adicionar mais algum endereo a essa lista? (s/n)? [n]:

Tecle ENTER
Aps isso o OSSEC ser compilado e instalado.
Com OSSEC instalado, podemos inici-lo:

# /etc/init.d/ossec start
# ps ax
Vamos visualizar onde o OSSEC est instalado e seu arquivo de configurao principal:

# cd /var/ossec
# ls
# cd etc
# vi ossec. conf
Obs: Todos os arquivos de configuraro do OSSEC esto em um formato XML,
que muito simples de entender.
Testando o OSSEC
Podemos fazer um teste com o OSSEC e ver como o seu active-response trabalha.
Vamos testar utilizando um servidor de e-mail instalado em nosso sistema, utilizaremos
o Postfix nesse exemplo.
Instalao do Postfix:
# aptitude install postfix
Realize um teste de telnet na porta 25 de uma outra mquina para a mquina
onde est instalado o postfix. Pode-se notar que o OSSEC bloqueou IP que estava
tentando realizar o telnet:

80

# telnet 10.10.10. 102 25


Trying 10.10.10. 102. . .
Connected Lo 10.10.10.102.
Escape character is '^]'.
220 postfix ESMTP Postfix (Debian/GNU)
helo teste.com.br
mail from: teste@teste.com.br
250 2.1.0 Ok
rcpt to: teste@teste.com.br
554 5.7.1 <teste@teste.com.br>: Relay access denied
Nesse momento a mquina que est recebendo a conexo j deve ter bloqueado
o IP de origem.
Se j tentaram fazer essa conexo em sua mquina, veja se o IP da pessoa que
tentou j est bloqueado:

# iptables -n -L
# vi /etc/hosts.deny
Essa regra ficar setada at passar o tempo que est configurado nas regras do OSSEC.
Instalando o OSSEC como servidor
Segue da mesma forma feita anteriormente. A diferena na hora de o tipo de
instalao dever ser escolhido servidor.
Configurando Clientes (Agentes)
Os clientes a serem monitorados podem ser tanto Linux como Windows.

A verso Windows se encontra em http://www.ossec.net/files/ossec-agent-win321.6.1.exe

A verso Linux a mesma feita para o local ou servidor, escolhendo Cliente e


depois seguir com a instalao normalmente, apenas informando o IP do servidor
quando for solicitado.

81

Adicionando Clientes ao servidor


Como a comunicao entre os clientes e o servidor criptografada, ser preciso
criar, no servidor, uma chave para cada cliente.
Adicionando um cliente:

# cd /var/ossec/bin
# ./manage_agents
Selecione a opo (A)dd an agent (A) e informe um nome e o IP do agente
(cliente).
Feito isso, ser necessrio extrair a chave. Selecione a opo (E)xtract key for
an agent (E), o script listar os agentes disponveis, identificados por um ID. Digite o
ID

do

cliente

escolhido

chave

ser

impressa

na

tela.

Volte no cliente:

# cd /var/ossec/bin
# ./manage_agents
Selecione a opo (I)mport key for the server (I). E cole a mesma chave
gerada no servidor para esse cliente.
Reiniciar o servio Ossec, tanto no servidor como no cliente:

# /etc/init.d/ossec restart

OSSEC-WUI
Interface Web front para monitorar o OSSEC. Essa verso tem como prrequisitos PHP 4 ou 5, alm de ter instalado o OSSEC com verso igual ou superior a
0.9-3.
82

Instalao do Servidor com suporte ao php:


# aptitude install apache2 php5 libapache-mod-php5
Faa o download do pacote ossec-wui:

# wget http://www.ossec.net/files/ui/ossec-wui-0.3.tar.gz
Descompacte os arquivos no Document Root do Servidor:

# cd /var/www
# tar xzvf ossec-wui-0.3.tar.gz
# mv ossec-wui-0.3 ossec-wui
Execute o script de instalao:

# cd /var/www/ossec-wui
# ./setup.sh
Ir pedir o usurio dono do processo do apache, no caso desta verso o wwwdata. Logo aps ir solicitar uma senha. Coloque uma senha para acesso
administrativo.
Adicione o grupo do apache ao usurio ossec:

# vi /etc/group
ossec:x:1002:www-data
ou
# gpasswd -a ossec www-data
Adicione as permisses necessrias:
# chmod 770 tmp/
# chgrp www tmp/

83

Renicie o apache:
# /etc/init.d/apache2 restart
Abra um Browser e acesse:

http://localhost/ossec-wui
Pgina inicial do OSSEC WebUI

Figura 6 - Pgina inicial do OSSEC-WUI

84

ANEXO 7 TUTORIAL PARA INSTALAO DO HIDS


TRIPWIRE

Instalao e Configurao do Tripwire


O passo de instalao do Tripwire no Debian :

# aptitude install tripwire


O Tripwire pode proteger arquivos comuns para diversos sistemas, como os seus
arquivos de configurao e o arquivo de polticas. Para isso ele d uma opo de criar
uma senha (site key) de acesso a eles:

Figura 7 Autorizao da criao da site key do Tripwire

Da mesma forma que a anterior, ele tambm protege arquivos especficos para o
sistema, como a sua base de dados. Para isso ele d uma opo de criar uma senha (local
key) de acesso a eles:

85

Figura 8 - Autorizao da criao da local key do Tripwire

Reconstruir o arquivo de configurao:

Figura 9 Reconstruir o arquivo de configurao do Tripwire

Reconstruir o arquivo de polticas:

Figura 10 Reconstruir o arquivo de polticas do Tripwire

86

Informe a senha para arquivos comuns:

Figura 11 Informar senha para site key do Tripwire

Confirme a senha criada:

Figura 12 Confirmar senha para site key do Tripwire

Informe a senha para arquivos especficos:

Figura 13 Informar senha para local key do Tripwire

Confirme a senha criada:

Figura 14 Confirmar senha para local key do Tripwire

87

Caso obtenha sucesso em todos os passos, ser exibida a tela abaixo:

Figura 15 Instalao do Tripwire concluda

Aps instalar e criar as senhas para o tripwire so gerados dois arquivos dentro de
/etc/tripwire:
twpol.txt
twcfg.txt
Esses arquivos no podem ser lidos diretamente. Para isso sero necessrios os
comandos:

# twadmin --print-polfile
# twadmin --print-cfgfile
O funcionamento do tripwire controlado por dois arquivos de configuraes:
3. /etc/tripwire/twcfg.txt parmetros gerais. Caminhos para executveis;
4. /etc/tripwire/twpol.txt polticas de proteo dos arquivos.
Como proteo, ser necessrio modificar o uso do diretrio temporrio padro:

# vi /etc/tripwire/twcfg.txt
TEMPDIRECTORY =/tmp/tripwire
Criar e colocar as permisses necessrias:

# mkdir /tmp/tripwire
# chmod 700 /tmp/tripwire
88

Gerar a base inicial de dados.


A base de dados no poder ser lida diretamente. Ela ser gerada em
/var/lib/tripwire/hostname.domain.twd:

# tripwire --init
Caso tenha alterado o arquivo de polticas, ser necessrio atualizar o tripwire:

# tripwire --update-policy --secure-mode low /etc/tripwire/twpol.txt


Verificao de integridade do sistema:
# tripwire --check --interactive
Ser gerado um arquivo contendo o relatrio da checagem. Para visualizar
utilize o comando:

# twprint --print-report --twrfile /var/lib/tripwire/report/hostname-timestamp.twr >


/tmp/checagem.txt
Atualizando a base de dados:
# tripwire --update --twrfile /var/lib/tripwire/report/hostname-timestamp.twr

89

ANEXO 8 TUTORIAL PARA INSTALAO DO HIDS OSIRIS


Instalao do Servidor
Baixe dependncias necessrias:

# aptitude install build-essential libssl-dev


Download http://osiris.shmoo.com/download.html

# cd /opt/Downloads
# tar xzvf osiris-4.2.3.tar.gz
# cd Osris-4.2.3
# ./configure
# make all && make install
Obs: Aps ter realizado o make install, sero feitas algumas perguntas:

A prxima pergunta ser sobre iniciar o daemon gerenciador, chamado de


osirismd. Ir gerar uma chave RSA para o certificado:

90

Inicie tambm o daemon do cliente local responsvel pela verificao, chamado


de osirisd. Iremos manipular o osirismd atravs do comando osiris:

Verifique se os dois daemons esto sendo executados:

# ps aux| grep osiris


Acessando pelo console
Por padro e questes de segurana, a primeira configurao, em uma conexo
com o daemon osirismd, dever ser feita localmente. Ser gerado um certificado para
obteno de conexo segura. Configure atravs da linha de comando:

# osiris
Tambm por padro o usurio e senha j so definidos. No caso, usurio admin e
senha em branco. Por questes de segurana teremos que gerar uma nova senha:

91

Modificando a senha padro:

O comando help, ou apenas ?, lista os possveis comandos suportados pelo


osirismd:

92

Realizar configuraes bsicas necessrias no servidor:

Confirme a autorizao da lista e adicione a rede na qual estar autorizada a


conectar no servidor:

93

Sair e confirmar todas as modificaes:

Adicionar o servidor para ser monitorado:

94

As prximas perguntas so referentes base de verificao e so autoexplicativas. Caso no discorde, deixar como padro:

Aps as perguntas sobre a base de verificao, sero solicitas perguntas sobre as


notificaes. Caso no tenha um MTA instalado localmente ou interno que no use
autenticao de SMTP deixar como padro:

95

As prximas perguntas so referentes s verificaes. Quando foi realizada a


primeira verificao e com que freqncias ela ser efetuada. Caso seja a primeira vez,
deixar como padro:

Habilitar e confirmar as configuraes do host:

96

Em outro console, verificar se o daemon osirisd est iniciado. Voltando ao


console de configurao do osiris, confirmar a inicializao do host. A configurao dos
arquivos checados ficar nos arquivos padro default.linux:

Verificar se a base de verificao do host local foi criada. Caso a coluna


CREATED esteja escrito (peding), a base ainda est sendo gerada:

97

Escolha a base com o comando print-db 1. Selecionar o host servidor e analisar


com mais detalhes a base gerada, bastando apenas escolher a letra que aparece no novo
prompt:

Para sair basta executar os comandos abaixo:

Adicionar um cliente para ser monitorado.


O pacote de instalao e as dependncias so as mesmas do servidor,
modificando apenas no comando make.
Baixe dependncias necessrias:

# aptitude install build-essential libssl-dev

98

Download http://osiris.shmoo.com/download.html

# cd /opt/Downloads
# tar xzvf osiris-4.2.3.tar.gz
# cd Osris-4.2.3
# ./configure
# make agent && make install
Obs: Aps ter realizado o make install, sero feitas algumas perguntas:

Inicie tambm o daemon do cliente local responsvel pela verificao, chamado


de osirisd. Iremos manipular o osirismd atravs do comando osiris:

Verifique se o daemon est sendo executado:

# ps aux| grep osiris


Obs.: O host dever ser adicionado no servidor da mesma forma que o host servidor foi
adicionado pelo aplicativo via linha de comando, chamado osiris. Colocando um nome
para o cliente e o IP ao qual ele pertence. Responder as outras perguntas conforme a
configurao do cliente.

99

ANEXO 9 TUTORIAL PARA INSTALAO DO SCANNER DE


VULNERABILIDADES WEB NIKTO
Instalao e Configurao
Primeiro vamos ao download da ferramenta http://www.cirt.net/nikto/

# cd /usr/local
# tar xzvf nikto-current.tar.gz
Acrescente o diretrio do nikto na varivel PATH:

# vi /etc/profile
PATH=$PATH:/usr/local/nikto
export PATH
Instalar um servidor de web para teste:

# aptitude install apache


Verificar se o mesmo est iniciado:

# netstat -napt | grep apache


Atualizar a base de dados do nikto
# nikto.pl -update
Para solicitar os possveis comandos aceitos pelo nikto:

# nikto.pl -h

100

Realizar um teste na mquina local:


# nikto.pl -h localhost -o /root/localhost.txt
Utilizar uma forma para driblar um possvel IDS:
# nikto.pl -h localhost -evasion 1 -o /root/localhost.txt

101

ANEXO 10 TUTORIAL PARA INSTALAO DO HIDS


LABRADOR
Instalao e Configurao
Primeiro vamos ao download da ferramenta:
http://labrador-ids.sourceforge.net/download.html

# cd /usr/local
# tar xzvf labrador-0.9.1-linux.i386.tar.gz
# mv labrador-0.9.1 labrador
Acrescente o diretrio do labrador na varivel PATH:

# vi /etc/profile
PATH=$PATH:/usr/local/labrador
export PATH
Baixando dependncias necessrias:

# aptitude install build-essential


Verificando mdulos do Perl necessrios para a execuo do Labrador:
# cd /usr/local/labrador/tools
# ./perlcheck.pl
Obs.: O script ir fazer as perguntas dos mdulos que ainda no esto instalados no
sistema. Confirme as instalaes e aguarde o final da execuo do mesmo. Caso ocorra
algum erro na instalao de algum mdulo, baix-lo diretamente do site
http://search.cpan.org. Mais informaes sobre os mdulos encontram-se em
/usr/local/labrador/LEIAME.txt.

102

Baixar o mdulo necessrio para criptografar a base de dados:

# perl -MCPAM -e shell


cpan> install Crypt::Blowfish
cpan> q
Modificar o arquivo de regras:

# cd /usr/local/labrador/conf
# cp rules-Linux.conf rules.conf
Listar os arquivos que o arquivo de regras ir ler:
# labrador.pl -l
Obs.: Informaes de como manipular o arquivos de regras encontram-se na seo 5.1
do arquivo /usr/local/labrador/LEIAME.txt.
Modificar o arquivo de configurao:

# cd /usr/local/labrador/conf
# vi labrador.conf
lang=pt_br
encrypt=yes
cipher=Blowfish
Criar a base de dados
Criar a base de dados de acordo com o que foi definido no arquivo de regras e no
arquivo de configurao labrador.conf:

# labrador.pl -n
Aps o comando preciso digitar a senha para ser gerada a base de dados,
chamada de labrador.db, criptografada.
103

Fazer a verificao nos arquivos


Para saber se houve alguma alterao:

# labrador.pl -v
Fazer a restaurao dos arquivos
Ser possvel fazer uma restaurao dos arquivos, caso alguma alterao tenha
ocorrido:

# labrador.pl -e

104

ANEXO 11 TUTORIAL PARA INSTALAO DO IPS FWSNORT


Instalao e Configurao
Download http://cipherdyne.org/fwsnort/download/
Baixando dependncias necessrias:

# aptitude install build-essential


Instalar Fwsnort juntamente com os mdulos em Perl necessrios. Ser
perguntado se voc deseja instalar as ultimas regras do Snort. Confirme e prossiga.

# cd /usr/local
# tar xzvf fwsnort-1.0.5.tar.gz
# cd fwsnort-1.0.5
# ./install.pl
Configurao do fwsnort.conf. No exemplo criado, foi utilizado a rede
10.10.10.0/24. Modifique apenas as linhas necessrias:

# vim /etc/fwsnort/fwsnort.conf
HOME_NET
DNS_SERVERS
WHITELIST

10.10.10.0/24
[200.137.160.130,200.137.160.135]
10.10.10.5, 10.10.10.7

Gerar o arquivo necessrio para adicionar as regras ao firewall.


O arquivo gerado ficar localizado em /etc/fwsnort/fwsnort.sh:

# fwsnort

105

Adicionar as regras do firewall baseadas no Snort a partir do fwsnort:


# /etc/fwsnort/fwsnort.sh

106

ANEXO 12 TUTORIAL PARA INSTALAO DO IPS HLBR


Instalao e Configurao
Download http://sourceforge.net/projects/hlbr
Baixando dependncias necessrias:

# aptitude install build-essential libpcre3-dev libpcre3


Instalar HLBR com o idioma em portugus:

# cd /opt/Downalods
# tar xzvf hlbr-1.6.tar.gz
# cd hlbr-1.6
# ./configure
Selecione p e [ENTER]
#make && make install
Configurao das interfaces
Como o daemon do HLBR que gerencia as placas de rede, ser necessrio
colocar endereamentos locais:

# ifconfig eth0 127.0.0.2


# ifconfig eth1 127.0.0.3
Configurao do arquivo hlbr.config
A configurao do HLBR realizada no arquivo hlbr.config. Somente as
entradas IPList devem ser alteradas. Caso no disponha de todos os campos do IPList,
basta apenas coment-los:

# vi /etc/hlbr/hlbr.config
<IPList www>
200.137.160.188

107

</list>
<IPList dns>
200.137.160.130
200.137.160.135
</list>
<IPList email>
200.137.160.188
</list>
<IPList firewall>
10.10.10.254
</list>
<IPList network>
10.10.10.0/24
</list>
#<IPList others>
#10.10.10.5
#10.10.10.7
#</list>
<IPList servers>
www
dns
email
firewall
#others
</list>
Acrescentar regra
As regras de deteco de ataque do HLBR ficam em /etc/hlbr/rules. Abaixo ser
adicionado uma regra para identificar SQL Injections:

# vi /etc/hlbr/rules/SQL-xss.rules

<rule>
ip
tcp
regex((?:^\s*[;>"]\s*(?:UNION|SELECT|CREATE|RENAME|

dst(www)
dst(80)

108

TRUNCATE|LOAD|ALTER|DELETE|UPDATE|INSERT|DESC))|(?:(?:SELECT|
CREATE|RENAME|TRUNCATE|LOAD|ALTER|DELETE|UPDATE|INSERT|
DESC)\s+(?:CONCAT|CHAR|CONCAT|LOAD_FILE|0x)\s?\(?)|
(?:END\s*\);)|
("\s+REGEXP\W))
message=(sql-xss-5) Detects concatenated basic SQL injection and SQLLFI attempts
action=action1
</rule>
Iniciar o daemon do HLBR:
# /etc/initd.d/hlbr start
ou
# hlbr -c /etc/hlbr/hlbr.config -r /etc/hlbr/hlbr.rules -d
Verificar se o HLBR est executando:
# ps aux | grep hlbr
Os logs do HLBR ficam armazenados em /var/log/hlbr. So gerados logs em
arquivos textos com extenso .log e arquivos de dump do tcpdump.
Visualizar os arquivos de log:
# vi hlbr.log
Para visualizar os dumps do tcpdump:

# tcpdump -s 1500 -vvv -tttt -X -r hlbr.dump

109

ANEXO 13 TUTORIAL PARA INSTALAO DO HONEYPOT


HONEYD
Instalao e Configurao
O primeiro passo instalarmos o Honeyd no Debian:

# aptitude install farpd honeyd


Direcionar o trfego para o HoneyPot:
# farpd 10.10.10.0/24
Todos

os

servios

que

vo

ser

emulados

se

encontram

em

/usr/share/honeyd/scripts, alguns so especficos para certos Sistemas Operacionais,


como o mydoom.pl, que prprio para Sistemas Windows.
As assinaturas para NMAP (PortScan) dos Sistemas Operacionais emulados se
encontram em /etc/honeypot/nmap.prints. Caso o atacante use o P0f, as assinaturas
ficam em /etc/honeypot/pf.os. Caso o atacante especifique NMAP juntamente com o
xprobe,

arquivo

contendo

os

estilos

do

xprobe

fica

localizado

em

se

encontra

em

/etc/honeypot/xprobe2.conf.
Alterando as configuraes default:
# vi /etc/default/honeyd
RUN= yes
NETWORK=10.10.10.0/24
O

arquivo

de

configurao

do

Honeyd

/etc/honeypot/honeyd.conf. Nele ser definido quais sistemas esto sendo emulados,


quanto tempo o sistema est ligado,

se ele vai responder a ICMP do tipo

ECHO_REQUEST, quais as portas para aquele respectivo sistema estaro abertas, qual
o servio aquela porta est escutando e qual o IP para este sistema emulado.
110

Configurao do honeyd.conf
Emulao de um Sistema operacional Windows e um Sistema Operacional
Linux. Ambos se encontram na mesma rede local:

# mv /etc/honeypot/honeyd.conf /etc/honeypot/honeyd.conf.orig
# vi /etc/honeypot/honeyd.conf

# Maquina Windows
create windows
set windows personality "Microsoft Windows XP Professional SP1"
set windows uptime 679701
set windows default tcp action reset
set windows default udp action reset
set windows default icmp action block
add windows tcp port 4444 "/usr/share/honeyd/scripts/cmdexe.pl -p winxp -l
/var/log/honeyd/blaster.logs "
add windows tcp port 23 "/usr/share/honeyd/scripts/telnet/faketelnet.pl -p winxp -l
/var/log/honeyd/tel23.logs "
add
windows
tcp
port
1080
"/usr/share/honeyd/scripts/mydoom.pl
-l
/var/log/honeyd/mydoom.logs "
bind 10.10.10.100 windows
# Maquina Linux 2.4.x
create linux
set linux personality "Linux 2.4.16 - 2.4.18"
set linux default tcp action reset
set linux default udp action reset
set linux default icmp action open
add linux tcp port 110 "sh /usr/share/honeyd/scripts/unix/general/pop/pop3.sh"
add linux tcp port 25 "sh /usr/share/honeyd/scripts/unix/general/smtp.sh"
add linux tcp port 21 "sh /usr/share/honeyd/scripts/unix/linux/ftp.sh"
set linux uptime 456460
bind 10.10.10.101 linux
create default
set default default tcp action block
set default default udp action block
set default default icmp action block

111

Iniciar o daemon do Honeyd:


# /etc/init.d/honeyd start
Verificar se ocorreu a inicializao:

# ps aux | grep honeyd | grep -v grep


Alguns testes
Em outra mquina realize os seguintes testes para verificar a conectividade com
as mquinas emuladas e se existem servios nas portas especificadas:

# ping 10.10.10.100

# ping 10.10.10.101

# nmap -sT 10.10.10.100 -PN

# nmap -sT 10.10.10.101 -PN

112

ANEXO 14 TUTORIAL PARA INSTALAO DO SCANNER DE


VULNERABILIDADES NESSUS
Instalao e Configurao
O primeiro passo instalarmos o Nessus-server no Debian:

# aptitude install nessusd libnessus-dev nessus-dev


Instalar tambm a parte do cliente:

# aptitude install nessus


Criar um usurio para acessar o servidor:
# nessus-adduser
Digite o nome do usurio e o tipo de autenticao:

113

Acrescente algumas regras para o usurio e depois confirme:

Iniciar o servidor Nessus.


Os plugins instalados por padro sero automaticamente carregados:

# nessusd &
Verificar se o servio foi iniciado corretamente:

# ps aux | grep nessus


ou
# netstat nlpt | grep 1241

114

Atualizar a lista de plugins do Nessus.


Acessar o site do desenvolvedor (http://www.nessus.org) e clicar em plugins:

Figura 16 Baixar plugins Nessus I

No Menu esquerda, escolher a opo Register:

Figura 17 Baixar plugins Nessus II

115

Dentre as opes de registro escolher Free:

Figura 18 Baixar plugins Nessus III

Aceitar os termos do registro:

Figura 19 Baixar plugins Nessus IV

116

Inserir um email vlido e clicar em Register:

Figura 20 Baixar plugins Nessus V

Ao receber o email, verifique a distribuio na qual o Nessus esta instalada.


Digite o comando, que aparece no email, em uma console. Esse registro s pode ser
utilizado uma nica vez:

# nessus-fetch --register E4E7-3002-4F8A-E8E9-063B


Mate o processo correspondente ao daemon do Nessus e o execute novamente.
Dessa forma, os novos plugins sero carregados:

# pkill nessus
# nessusd &

117

Realizando um scaneamento:

Figura 21 Tela de logins do Nessus-Client

Na aba de Plugins, selecione apenas aqueles apropriados para a checagem:

Figura 22 Tela de seleo de plugins do Nessus-Client

118

Na aba Target selection, coloque o IP do cliente que deseja verificar ou leia de


um arquivo contendo vrios IPs. Depois clique em Start the scan para iniciar a
verificao:

Figura 23 Iniciar um scaneamento no Nessus

A verificao pode demorar, dependendo da quantidade de plugins:

Figura 24 Tela de verificao do Nessus

119

A prxima janela que se abre diz respeito aos hosts que foram verificados, bem
como os seus servios. Encontrando vulnerabilidades, o Nessus tambm informa uma
possvel soluo. Caso queira salvar esse relatrio, basta clicar em Save report:

Figura 25 Relatrio do Nessus

O Nessus suporta salvar em diversos formatos. Escolha o local apropriado, o


formato do arquivo (indicado pela seta vermelha) e o nome do relatrio. Feito isso,
clique em OK:

Figura 26 Salvar relatrio

120

Exibio de um relatrio em formato HTML:

Figura 27 Relatrio do Nessus gerado em html

121

ANEXO 15 TUTORIAL PARA INSTALAO DO OSSIM


Instalao e Configurao
Modificar o repositrio do Debian, adicionar as seguintes linhas no sources.list:

# vi /etc/apt/sources.list
deb http://www.ossim.net/download/ debian/
deb-src http://www.ossim.net/download/ debian/
# aptitude update
Criar um arquivo de preferncias para o Ossim:

# vi /etc/apt/preferences
Package: *
Pin: release o=ossim
Pin-Priority: 995
Atualizar a lista de repositrios:

# aptitude update
Modificar as respostas do debconf:

# dpkg-reconfigure -plow debconf

122

Figura 28 Interface usada no Debconf

Figura 29 Prioridade das perguntas do Debconf

Instalar o Ossim com o MYSQL no Debian.


Ir solicitar a senha do administrador do MYSQL:

# aptitude install ossim-mysql


Caso no aparea a solicitao de senha, coloque manualmente:
# mysqladmin -u root password <senha>
Permita que o Mysql trabalhe no IP da mquina e no s em localhost:

# vi /etc/mysql/my.cnf
bind-address

=*

123

Reinicie o Mysql:

# /etc/init.d/mysql restart
Criar os seguintes bancos no Mysql:

# mysql -p
mysql> create database ossim;
mysql> create database ossim_acl;
mysql> create database snort;
mysql> create database osvdb;
mysql> exit;
Adicionar as tabelas nos respectivos bancos:

# zcat /usr/share/doc/ossim-mysql/contrib/create_mysql.sql.gz \
/usr/share/doc/ossim-mysql/contrib/ossim_config.sql.gz \
/usr/share/doc/ossim-mysql/contrib/ossim_data.sql.gz | \
mysql -u root ossim -p
# zcat /usr/share/doc/ossim-mysql/contrib/create_snort_tbls_mysql.sql.gz \
/usr/share/doc/ossim-mysql/contrib/create_acid_tbls_mysql.sql.gz | \
mysql -u root snort -p
# zcat /usr/share/doc/ossim-mysql/contrib/OSVDB-tables.sql.gz \
mysql -u root snort -p
Adicionar as tabelas de plugins:
# cd /usr/share/doc/ossim-mysql/contrib/plugins
# zcat *.sql.gz | mysql -u root ossim -p
# cat *.sql.gz | mysql -u root ossim -p
Instalar o servidor do Ossim:
# aptitude install ossim-server

124

Figura 30 Nome do servidor do OSSIM

Figura 31 IP do servidor OSSIM

Obs.: O IP 0.0.0.0 significa que ele poder escutar qualquer IP das redes das quais ele
faz parte.

Figura 32 Nome do Framework

Figura 33 IP do Framework

125

Figura 34 Porta do Framework

Figura 35 Nome do banco do servidor OSSIM

Figura 36 Hostname do servidor MYSQL

Figura 37 Nome do administrador do banco ossim

Figura 38 Senha do usurio do banco do servidor MYSQL

126

Figura 39 Nome do banco pertencente ao Snort

Figura 40 Hostname do servidor MYSQL

Figura 41 Nome do administrador do banco snort

Figura 42 Senha do administrador do banco

127

Figura 43 Nome do banco pertencente ao Osvdb

Figura 44 Hostname do servidor MYSQL

Figura 45 Nome do administrador do banco osvdb

Figura 46 Senha do administrador do banco

Instalar o um agente localmente:


# aptitude install ossim-agent

128

Modificar as configuraes do Agente:


# vi /etc/ossim/agent/config.cfg
sensor = 127.0.0.1
interface = eth0
date_format = %d-%m-%Y %H:%M:%S
ossim_dsn=mysql:localhost:ossim:root:123456
Adicionar os privilgios ao usurio do Snort:

# mysql -u root -p
mysql> grant all privileges on *.* to root@10.10.10.102 identified by "123456";
mysql> quit
Instalar o Servidor de Web:
# aptitude install apache2 php5 libapache2-mod-php5 libphp-jpgraph php5-cli php5-gd
php5-mysql
Retire o redirecionamento para o apache2-default:

# vim /etc/apache2/sites-available/default
Comente a linha que possui:

RedirectMatch ^/$ /apache2-default/


Adicionar um nome para responder o servidor do apache:

# vi /etc/apache2/apache2.conf
ServerName localhost

129

Reinicie o Apache2:

# /etc/init.d/apache2 restart
Instalar o pacote phpgacl
Responsvel pela alimentao do banco ossim_acl:

# aptitude install phpgacl

Figura 47 Tela inicial de configurao do libphp-adodb

Figura 48 Seleo das verses do Apache

Figura 49 Configurao da base de dados do phpgacl

130

Figura 50 Escolha do banco a ser utilizado pelo phpgacl

Figura 51 Senha do administrador do banco MYSQL

Figura 52 Senha do MYSQL para o phpgacl

Figura 53 Confirmao da senha

131

Instalar os Plugins
snort
# aptitude install snort-mysql

Figura 54 Interface utilizada pelo Snort

Figura 55 Rede a ser monitorada pelo Snort

Figura 56 Usurio que ir receber os emails do Snort

132

Figura 57 Configurar a base de dados

Figura 58 Hostname do servidor MYSQL

Figura 59 Nome do banco utilizado pelo Snort

Figura 60 Nome do administrador do MYSQL

133

Figura 61 Senha do administrador do MYSQL

Antes de reiniciar o snort, apague o arquivo de pendncia da configurao do


banco de dados que ele criou dentro de /etc/snort:

# rm -f /etc/snort/db-pending-config
Faca um cpia do snort.conf original e mantenha um novo arquivo sem os comentrios:

# mv snort.conf snort.conf.orig
# cat snort.conf.orig | grep v ^# | grep . > snort.conf
Verificar se o snort.conf encontra-se com as seguintes caractersticas, caso
contrrio, ser necessrio modificar:

# vi snort.conf
var HOME_NET 10.10.10.0/24
var EXTERNAL NET !$HOME_NET
var DNS_SERVERS $HOME_NET
var SMTP_SERVERS $HOME_NET
var HTTP_SERVERS $HOME_NET
output database: log, mysql, user=root
host=localhost
include spade.ossim.conf

password=123456

dbname=snort

134

Atualizar as regras de assinaturas:

# cd /etc/snort/rules
# wget http://www.bleedingsnort.com/bleeding-all.rules
# echo include \$RULES_PATH/bleeding-all.rules >> /etc/snort/snort.conf
Criar o arquivo bleeding.conf:

# echo var SSH_PORTS 22 > /etc/snort/rules/bleeding.conf


Atualizar o banco ossim com as regras novas:

# /usr/share/ossim/scripts/create_sidmap.pl /etc/snort/rules | mysql -u root ossim -p


Iniciar o daemon do Snort:

# /etc/init.d/snort start
ntop
# aptitude install librrd2 ntop

Figura 62 Interface que o Ntop ir escutar

135

Figura 63 Nome do usurio que ir rodar o daemon do Ntop

Definir um password para o administrador do Ntop:

# ntop -u ntop
Insere a senha
# [Ctrl]+c
# /etc/init.d/ntop start
Abra um Browser e acesse:

http://localhost:3000

Figura 64 Pgina inicial do Ntop

136

nagios
# aptitude install nagios-mysql

Figura 65 Nome do Domnio do servidor

Figura 66 Opo de escolha para uso de senhas no servidor

Figura 67 Opo de escolha para configuraes vindas de um servidor WINS

137

Figura 68 Seleo das verses do Apache

Figura 69 Senha para administrar o Nagios via web

Figura 70 Opo de habilitar os comandos externos do Nagios

138

Figura 71 Opo de escolha da configurao do banco do nagios-mysql

Figura 72 Senha do administrador do MYSQL

Figura 73 Senha do MYSQL para o phpgacl

Figura 74 Confirmao da senha

Obs.: As configuraes dos arquivos do Nagios fogem o escopo desse material. Os


arquivos do nagios devem ser modificados de acordo com a rede em que se encontra.

139

Outros plugins
# aptitude install p0f arpwatch pads tcptrack
Por causa do ossim-agent, no pode carregar no boot o arpwatch e o pads:

# update-rc.d -f arpwatch remove


# update-rc.d -f pads remove
Osiris
# aptitude install osiris osirisd
Obs.: So as mesmas configuraes descritas sobre o Osiris anteriormente
Instalar o FrameWork:
# aptitude install ossim-framework

Figura 75 Configurao da base de dados do acidbase

Figura 76 Escolha do banco a ser utilizado pelo acidbase

140

Figura 77 Senha do administrador do banco MYSQL

Figura 78 Senha do MYSQL para o acidbase

Figura 79 Confirmao da senha

Figura 80 Seleo das verses do Apache

141

Figura 81 Nome do banco do servidor OSSIM

Figura 82 Hostname do servidor MYSQL

Figura 83 Nome do administrador do banco ossim

Figura 84 Senha do usurio do banco do servidor MYSQL

Figura 85 Nome do banco do OSSIM ACL

142

Figura 86 Hostname do servidor MYSQL

Figura 87 Nome do administrador do banco ossim

Figura 88 Senha do usurio do banco do servidor MYSQL

Abra um Browser e acesse http://localhost/ossim. Siga as instrunes para a


configurao do phpGACL:

Figura 89 Pgina de configurao do phpGACL I

143

Figura 90 Pgina de configurao do phpGACL II

Figura 91 Pgina de configurao do phpGACL III

Aps ter clicado em Submit, a prxima janela que se abre ser para criar ACL
atravs de uma interface administrativa:

Figura 92 Pgina de configurao do phpGACL IV

144

Figura 93 Pgina de configurao do phpGACL V

Acesse novamente http://localhost/ossim. A tela de login do Ossim ir se abrir.


Por padro, o usurio e a senha vm setados como admin:

Figura 94 Pgina de login do OSSIM

Depois de efetuado o login, o Ossim d a possibilidade de realizar algumas


atualizaes:

Figura 95 Pgina de atualizaes das aplicaes instaladas pelo OSSIM

145

ANEXO 16 TUTORIAL PARA INSTALAO DO PRELUDE


Instalao e Configurao
Instalar as dependncias necessrias:

# aptitude install debconfig-common


Instale o mysql-server:

# aptitude install mysql-server


Verifique se o MySQL est rodando e se os sockets esto ativos:

# ps aux | grep mysql


# netstat -nlpt
Defina uma senha para o usurio root do MySQL:

# mysqladmin -u root password <nova senha>


Modificar o repositrio do Debian, adicionar as seguintes linhas no sources.list:

# vi /etc/apt/sources.list
deb http://packages.inl.fr/ stable/
# aptitude update
Instale o Prelude-Manager:

# aptitude install prelude-manager


146

Figura 96 Configurao da base de dados do acidbase

Figura 97 Escolha do banco a ser utilizado pelo prelude-manager

Figura 98 Senha do administrador do banco MYSQL

Figura 99 Senha do MYSQL para o prelude-manager

Figura 100 Confirmao da senha

147

Por padro, o script do daemon do prelude-manager no vem ativo. Ser


necessrio fazer uma modificao:

# vi /etc/default/prelude-manager
RUN=yes
Coloque o IP do servidor para no ser apenas local:

# vi /etc/prelude-manager/prelude-manager.conf
listen = 10.10.10.118
Inicie o daemon do Prelude-Manager e verifique se o mesmo est rodando:

# /etc/init.d/prelude-manager start
# netstat -anput | grep prelude
Instale o Prelude-LML. Cada host que ser monitorado dever ter esse pacote
instalado. Ele responsvel pela anlise de logs e o envio dos eventos para o servidor
(Prelude-Manager):

# aptitude install prelude-lml


Colocar o IP do servidor no arquivo do cliente:

# vi /etc/prelude/default/client.conf
server-addr = 10.10.10.118
Obs.: O servidor no confia nos clientes. Passa a confiar apenas quando eles so
registrados. Pode-se primeiro testar adicionando o prprio servidor como cliente.

148

O registro do cliente no servidor


feito em quatro passos.
1 Digitar o comando no cliente:

# prelude-adduser register prelude-lml idmef:w 10.10.10.118 --uid 0 --gid 0

2 Executar o seguinte comando no Servidor. Detalhe para a senha destacada. Ela do


tipo OTP (One-Time Password), usada apenas uma vez. Servir para autenticar o
cliente:

# prelude-admin registration-server prelude-manager

149

3 Volte no cliente e digite a senha OTP gerada pelo servidor:

4 Confirme o registro no servidor:

Inicie o daemon do Prelude-LML no servidor e verifique se o mesmo est rodando:

# /etc/init.d/prelude-lml start
# ps auxw | grep prelude-lml

Instalar o Web Front Prewikka


# aptitude install prewikka

Figura 101 Configurao da base de dados do acidbase

150

Figura 102 Escolha do banco a ser utilizado pelo prewikka

Figura 103 Senha do administrador do banco MYSQL

Figura 104 Senha do MYSQL para o prewikka

Figura 105 Confirmao da senha

Edite o arquivo de configuraro de base de dados do Prewikka, informando os


valores corretos. O valores tambm se encontram em /etc/prelude-manager/preludemanager.conf:

# vi /etc/prewikka/prewikka.conf
[idmef_database]

151

type: mysql
host: localhost
user: prelude
pass: 123456
name: prelude
Instalar o servidor de Web:
# aptitude install apache2 libapache2-mod-python
Crie um arquivo para host virtual:

# vi /etc/apache2/sites-available/prewikka
NameVirtualHost *
<VirtualHost *>
ServerAdmin admin@domain.com
<Location />
SetHandler mod_python
PythonHandler prewikka.ModPythonHandler
PythonOption PrewikkaConfig /etc/prewikka/prewikka.conf
</Location>
<Location /prewikka>
SetHandler None
</Location>
Alias /prewikka /usr/share/prewikka/htdocs
Alias /htdocs /usr/share/prewikka/htdocs
</VirtualHost>
Habilitar somente o host virtual Prewikka e reiniciar o daemon do Apache:

# a2dissite 000-default
# a2ensite prewikka
# apache2ctl restart

152

Em uma console coloque o prewikka para escutar em uma porta diferente da


porta padro:

# prewikka-httpd
Abra um navegador e acesse o endereo http://10.10.10.118:8000. Por padro, o
usurio e a senha vm setados como admin:

Figura 106 Tela de login do Prewikka

153

You might also like