São Paulo, 03 de novembro de 2005
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
HOGWASH Criado por Jason Larsen. em 1996, como um projeto universitário; Encontra se na versão 0.5 (em desenvolvimento); Pode ser utilizado em GNU/Linux, OpenBSD, Solaris e MacOS X; IPS, instalado na camada 2 do modelo OSI, atuando nas camadas 2, 3, 4 e 7 do modelo OSI; Projeto disponível em http://hogwash.sourceforge.net. Obs: perguntas no final da apresentação, por favor.
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Camadas do Modelo OSI Camada 7 Aplicação http, ftp, smtp, pop 3 etc Camada 6 Apresentação Camada 5 Sessão Camada 4 Transporte Camada 3 Rede Camada 2 Enlace Protocolos TCP e UDP Endereço IP e roteamento de rede Endereço MAC, bridge, switch Camada 1 Física
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Conceitos básicos Firewall é todo o esforço físico e lógico necessário para manter a segurança em uma rede de computadores; Atualmente, não é possível e nem seguro compor um firewall com uma única máquina; Firewall é um sistema integrado de defesa, que pode estar concentrado ou espalhado dentro de uma rede.
Tipos de firewall Filtro de pacotes; Filtro de estados; Gateway de circuito; Gateway de aplicação.
Análises realizadas pelos tipos de firewall Filtro de pacotes: cabeçalhos dos pacotes; Filtro de estados: estados das conexões; Gateway de circuito: tráfego passante (posicionado in line); Gateway de aplicação: conteúdo total ou parcial dos pacotes.
Exemplos de tipos de firewall Filtro de pacotes: Ipchains, Iptables, Hogwash, Snort, Squid; Filtro de estados: Iptables, Hogwash; Gateway de circuito: Ipchains*, Iptables*, Hogwash, Squid*; Gateway de aplicação: Hogwash, Snort, Squid, L7 Filter. * Se estiver in line.
Camadas do Modelo OSI X Tipos de firewall Camada 7 Aplicação IPS, IDS e proxies Camada 6 Apresentação Camada 5 Sessão Camada 4 Transporte Camada 3 Rede Camada 2 Enlace IPS, IDS, filtros IPS, IDS, filtros e proxies IPS (scrubbers) Camada 1 Física
Exemplo de Sistema de Firewall
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Conceitos básicos O roteamento de rede é feito com base no endereço IP e, portanto, ocorre na camada 3 do modelo OSI; A bridge estabelece uma simples conexão entre dois ou mais grupos de máquinas, baseando se somente no endereço MAC. Portanto, ocorre na camada 2 do modelo OSI; A bridge não altera o cabeçalho do pacote e, geralmente, interliga elementos pertencentes à mesma rede lógica.
Roteamento de rede Rede B Ex: 172.20.0.0 Roteador (Camada 3 do modelo OSI) Rede A Ex: 10.0.0.0
Interligação com bridge Rede A Ex: 10.0.0.0 Bridge (Camada 2 do modelo OSI) Rede A Ex: 10.0.0.0
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Conceitos básicos IDS (Intrusion Detection System): atua como um sensor, identificando atividades anômalas na rede. Pode registrar em log ou avisar ao sistema de firewall sobre o ocorrido. É um elemento passivo; IPS (Intrusion Prevention System): identifica e atua sobre atividades anômalas de rede. É um elemento ativo; O IPS precisa posicionar se in line, podendo atuar como roteador ou bridge (scrubber).
Exemplos de IDS e IPS IDS: Snort; IPS roteador: Snort in line; IPS bridge (scrubber): Hogwash.
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Funcionamento do Hogwash Scrubber (IPS instalado na camada 2); Não altera o cabeçalho dos pacotes pois é uma bridge; Não utiliza endereço IP para operar pois é uma bridge (invisível!!!); Interliga dois ou mais grupos de máquinas da mesma rede;
Funcionamento do Hogwash Pode ser colocado entre o roteador WAN e o filtro de pacotes/estados (bridge protegendo este último); O Hogwash não reseta ou finaliza conexões. Ele descarta os pacotes maliciosos. Isso é importante para que o mesmo continue invisível; É muito difícil um ataque ao Hogwash, uma vez que o mesmo não possui IP. Não há como direcionar um shellcode para ele, o que impossibilita um buffer overflow remoto.
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Download em http://hogwash.sourceforge.net; Descompactação do tarball; Instalação do Hogwash Compilação com os comandos./configure e make; Cópia dos arquivos de configuração, de regras e do executável para /etc/hogwash.
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Configuração do Hogwash Arquivo de configuração: /etc/hogwash/stock.config; Seções que deverão ser configuradas: Interfaces, IP List, Actions e Routing; Remover todo o TCP do kernel e recompilá lo ou configurar as placas de rede com endereços da rede 127.0.0.0 (recomendável para auditoria).
<interface eth0> Type=linux_raw Proto=Ethernet </interface> <interface eth1> Type=linux_raw Proto=Ethernet </interface> Configuração do Hogwash Seção Interfaces
<IPList ServidorWeb> 200.20.20.1 </list> <IPList ServidoresDNS> 200.20.20.2 200.20.20.20 </list> <IPList Servidores> ServidorWeb ServidoresDNS </list> Configuração do Hogwash Seção IP List
Configuração do Hogwash Seção Actions <action acao1> response=alert file(hogwash.alert) response=dump packet(packet.log) response=drop </action> <action acao2> response=alert file(hogwash2.alert) response=dump packet(packet2.log) </action>
<routing> SBridge(eth0, eth1) </routing> Configuração do Hogwash Seção Routing
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Vários argumentos poderão ser utilizados para confeccionar regras para o Hogwash. Alguns exemplos: ip src/dst (endereço IP) ip proto (protocolo IP) tcp/udp src/dst (porta) tcp/udp content (conteúdo com análise de caixa) tcp/udp nocase (conteúdo sem análise de caixa) tcp flags (estados da conexão) Regras no Hogwash
Exemplo de uma regra simples: <rule> ip dst(servidorweb) tcp dst(80) tcp nocase(cmd.exe) message=ataque Code Red action=acao1 </rule> Regras no Hogwash Exemplo 1
Regras no Hogwash Exemplo 2 Exemplo de uma regra com bytes em hexadecimal: <rule> ip dst(servidoresdns) udp dst(53) udp nocase( 90 90 90 90 90 90 90 5f 62 69 6e c7 46 04 ) message=ataque TSL Bind action=acao1 </rule>
Exemplo de uma regra complexa: Regras no Hogwash Exemplo 3 <rule> ip dst(servidorweb,200.20.20.52) tcp dst(80,443) tcp nocase( 3b 3b cmd.exe 90 90 90 90 90 90 90 ) tcp nocase(root.exe) tcp content(default.ida) message=variante de ataque Code Red action=acao1 </rule>
Regras no Hogwash Exemplo 4 Exemplo de bloqueio do método http SEARCH: <rule> ip dst(servidorweb) tcp dst(80) tcp content(search) message=tentativa de buffer overflow no servidor web action=acao1 </rule>
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Demonstração do Hogwash Exemplo 1 Ataque a um servidor web sem a proteção do Hogwash; Exemplo 2 Ataque a um servidor web protegido por um Hogwash.
Demonstração do Hogwash Situação Atacante Alvo Hogwash
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
Técnicas para a Confecção de Regras e Assinaturas Utilizar um laboratório de testes, com 3 máquinas, para observar comportamentos e criar logs; Analisar o tráfego com Tcpdump e Ethereal; Repetir tráfegos capturados com Tcpreplay; Bloquear métodos http não utilizados; Fazer testes com exploits; Utilizar ferramentas como o Nessus e o Nikto; Analisar regras e logs do Snort; Analisar os logs dos servidores em produção; Utilizar um honeypot compatível com a rede.
Introdução Modelo OSI Sistemas de firewall Bridge x roteamento Atuação de um IPS Funcionamento do Hogwash Instalação do Hogwash Configuração do Hogwash Regras do Hogwash Demonstração do funcionamento do Hogwash Técnicas para a confecção de assinaturas Conclusão
O Hogwash, apesar de ainda estar em desenvolvimento: É Software Livre; É um IPS eficiente e descomplicado; Atua na camada de enlace, trazendo diversas vantagens; Pode ser implementado em redes em produção; Fornece logs em formato Tcpdump; Não reseta ou finaliza. Apenas descarta!
Esta palestra; Um documento que ensina a instalar o Hogwash no Debian Sarge Stable modalidade Net Install; Um link para a lista de discussão nacional sobre o Hogwash; O Debian Sarge Net Install com 108 MB um GNU/Linux de verdade!!! A minha foto. O site http://www.eriberto.pro.br contém: