Seminário: Network Defense Tools Osmany Barros de Freitas [email protected] Roteiro • Motivação • Tipos de Defesa • Prevenção de Intrusos – Firewall – Traffic Shaping • Detecção de Intrusos – Tripwire – HijackThis – Nessus • Referências Motivação • Devido ao grande alarme de ataques e invasões de vândalos, muitas pessoas receiam deixar seus computadores diretamente ligados à internet • Administrar uma rede segura nunca foi tão desafiador Tipos de Defesas • Defesas Externas – IPS, IDS • Proteger a rede e os hosts • Manter ameaças externas longe da rede interna • Defesas Internas – Anti-Vírus, Anti-Spyware • Proteger os hosts IDS • Sistema de Detecção de Intruso ( Passivo) – Sistema utilizado para manipular tráfegos maliciosos que não são detectados por um firewall convencional. • • • • Vulnerabilidades no sistema Elevação de privilégios Login não autorizado Malware IPS • Sistema de Prevenção de Intruso(Reativo) – Sistema que pratica o controle de acesso protegendo computadores de exploração. Bastante similar ao IDS, mas além de detectar tráfego suspeito, é capaz de tratá-lo. – Os IPS´s são usados para compor os sistemas de Firewall Ou seja... • Sistema de Detecção de Intruso – Apenas grava logs registrando atividades suspeitas • Sistema de Prevenção de Intruso – Reage mediante uma situação adversa Prevenção de Intrusos Firewall • Sistema que aplica políticas de segurança para restringir passagem apenas de tráfego autorizado • Cria um perímetro de defesa para proteger a rede interna Firewall • Funcionamento Básico Rede Local Firewall Internet • Age como uma barreira que controla o tráfego entre duas redes. Firewall - Vantagens • Permite criar um ponto de controle único, impedindo acessos não autorizados e recusando serviços e dados vulneráveis saiam da rede • Monitorar a rede, alertas de invasão em apenas um ponto da rede Firewall - Limitações • Manipulação maliciosa de dados por usuários internos • Não impede proliferação de vírus • Ataques acionados por dados que são recebidos via e-mail, por exemplo, onde sua execução dispara alterações em arquivos de segurança do sistema, tornando-o vulnerável Firewall - Windows http://www.matousec.com/projects/windows-personal-firewall-analysis/leak-tests-results.php Firewall - Testes na Web • Symantec Security Check – http://security.symantec.com/sscv6/default.asp?langid=ie&venid=sym • Audit My PC Firewall Test – http://www.auditmypc.com/firewall-test.asp • Gibson Research Corporation-Internet Vulnerability Test – https://www.grc.com/x/ne.dll?bh0bkyd2 • PC Flank's tests – http://www.pcflank.com/about.htm • HackerWatch firewall tests – http://www.hackerwatch.org/probe/ • Hacker Whacker free tests – http://theta.hackerwhacker.com/freetools.php • Look 'n' Stop - Internet security Test – http://www.soft4ever.com/security_test/En/ Traffic Shaping • Técnica para controlar o tráfego na rede provendo otimização e garantia de performance • Bastante utilizado por provedores de acesso para melhoria de seus serviços Traffic Shaping • O Firewall – Libera ou bloquea o tráfego • Traffic Shaping – Limita, condiciona o tráfego • • • • Classificação Filas Políticas de esforço QoS Traffic Shaping • Como controlar o tráfego de compartilhadores P2P ? Traffic Shaping • Clasifica e analiza o tráfego – Classificando IP e porta • Controla Tráfego – Selecionando faixas de banda para classes • Monitora performance da rede – Coleta dados e aplica políticas Exemplo: Firewall – Traffic Shaping Firewall - Linux • O Linux possui um Framework em seu Kernel funcionalidades de controle de pacotes que permitem a configuração de Firewall. • Nas versões até 2.2 do Kernel é chamado de ipchains, mas a partir da 2.4 é chamado de Netfilter (iptables ) Exemplo - Firewall • Vamos mostrar como é possível configurar um Firewall utilizando as linhas de comando para configurar os módulos do Kernel Exemplo: Firewall Linux • Os tipos de tráfego permitidos serão agrupados em 4 grupos: Grupo 1 ICMP DNS TCP ( tráfego comum ) Grupo 2 Email Grupo 3 P2P Grupo 4 WWW ( http ) Exemplo: Firewall Linux • Alterando as configurações do kernel do linux, é possível, com poucas instruções, configurar seu firewall e aplicar técnicas de Traffic Shaping. • Para isso utilizamos algumas linhas de comando para montar um script que descreve a configuração do nosso firewall Exemplo: Firewall Linux # Limpa as regras anteriores /sbin/ipchains -F input /sbin/ipchains -F output /sbin/ipchains -F forward # Bloquea todo acesso /sbin/ipchains -P input DENY /sbin/ipchains -P output DENY /sbin/ipchains -P forward DENY # Permite tráfego icmp e marca como grupo 1 /sbin/ipchains -A input -p ICMP -i ppp+ -j ACCEPT -m 1 /sbin/ipchains -A output -p ICMP -i ppp+ -j ACCEPT -m 1 /sbin/ipchains -A input -y -p tcp -i ppp+ -j ACCEPT -m 1 # Libera tráfego de email e marca como grupo 2 /sbin/ipchains -A input ! -y -p tcp -i ppp+ -s 0/0 smtp -d 0/0 –j ACCEPT -m 2 /sbin/ipchains -A input ! -y -p tcp -i ppp+ -s 0/0 pop3 -d 0/0 –j ACCEPT -m 2 # Configura acesso p2p na porta 6699 e marca como grupo 3 /sbin/ipchains -A input ! -y -p tcp -i ppp+ -s 0/0 6699 -d 0/0 –j ACCEPT -m 3 /sbin/ipchains -A input -p tcp -i ppp+ -s 0/0 -d 0/0 6699 –j ACCEPT -m 3 /sbin/ipchains -A input ! -y -p tcp -i ppp+ -s 0/0 nntp -d 0/0 –j ACCEPT -m 3 # Permite acesso www e https como grupo 4 /sbin/ipchains -A input ! -y -p tcp -i ppp+ -s 0/0 www -d 0/0 –j ACCEPT -m 4 /sbin/ipchains -A input ! -y -p tcp -i ppp+ -s 0/0 https -d 0/0 –j ACCEPT -m 4 Exemplo: Traffic Shaping • Normalmente o TCP/IP no Linux tenta dividir a largura de banda com todas as conexões existentes. – Significa que se houver 49 conexões P2P e 1 para web, esta terá apenas 2% da banda. • Com Traffic Shaping podemos organizar essa distribuição do TCP/IP Exemplo: Traffic Shaping • Esse controle concede proteção contra ataques DoS, uma vez que firewall simples não protege contra SYN floods e ICMP floods. Importante: Esse controle não evita que o ataque seja efetuado, mas diminui os estragos provocados pelo mesmo Exemplo: Traffic Shaping • A figura ilustra o comportamento que queremos definir no nosso exemplo: 70% HTTP/HTTPS 20% SMTP/POP3 5% P2P 5% ICMP/TCP-SYN Exemplo: Traffic Shaping • Primeiro Grupo: ICMP, TCP-SYN, DNS receberá 5% da banda total (64*0.05=3.2): add_class 10:1 10:100 3.2kbit 0.32kbit 1 bounded • Segundo grupo SMTP,POP3 utilizará 20% do total da banda add_class 10:1 10:200 12.8kbit 1.28kbit 2 • Terceiro grupo: P2P terá direito a 5% da banda add_class 10:1 10:300 3.2kbit 0.32kbit 3 • Finalmente o quarto grupo: Http / Https receberá 70% de banda add_class 10:1 10:400 44.8kbit 4.48kbit 4 Traffic Shaping - Firewall • Muitos programas gráficos para Linux transcrevem em comandos, como os mostrados no exemplo, a configuração definida pelo usuário via interface Detecção de Intrusos Detecção de Instrusos • Analisam os pacotes da rede comparando-os com assinaturas já prontas de ataque • Monitoram arquivos dos sistema em busca de modificações suspeitas • É capaz de trazer informações da rede como: – Quantas tentativas de ataques sofremos por dia; – Qual tipo de ataque foi usado; – Qual a origem dos ataques; Classificação de IDS • NIDS - Sistemas de Detecção de Intrusão de Rede – Os ataques são capturados e analisados através de pacotes da rede – Monitoram múltiplas estações através de sensores espalhados pela rede – Dificuldade pra processar dados em grandes redes e dados criptografados Classificação de IDS • HIDS - Sistemas de Detecção de Intrusão de Host – Operam sobre informações coletadas em computadores individuais – Por operar diretamente nas estações, é capaz de ver as conseqüências do ataque – Porém requer que cada máquina seja configurada e não detecta ataques em outras estações Ataque Padrão • O invasor: – Obtém acesso ao sistema – Adquire acesso root – Modifica o sistema pra instalar backdoor – Usa o backdoor para futuras atividades – Apaga rastros ( possivelmente ) Tripwire • Basea-se em guardar informações sobre a estrutura dos arquivos no sistema. • Realiza comparações com uma base de dados e reporta problemas se houver diferenças Tripwire Hijack This • Programa que verifica processos ativos e entradas suspeitas no Windows, ajudando a identificar malwares em geral • Através dele é gerado um log que possibilita identificar Hijack This • Inicialmente o usuário roda a aplicação realizando um scan Hijack This • O log é gerado e salvo num arquivo: Hijack This • Analizador de logs gratuito no site do programa: http://hijackthis.de Hijack This • Trecho do resultado da análise do log: • Observe que qualquer processo suspeito é imediatamente avisado ao usuário Nessus • Programa de verificação de falhas/vulnerabilidades de segurança. • Composto por um cliente e servidor ( este serve para realizar o scan no cliente ) • Ele realiza uma varredura de portas, detectando servidores ativos e simulando invasões para detectar vulnerabilidades Nessus • Há 3 níveis de alerta: – O mais grave indica que há uma brecha de segurança em um servidor ativo da máquina. – O segundo informa que há um serviço potencialmente inseguro numa determinada porta – O último nível é apenas aviso mostrando que há um servidor ativo e que está sem falha de segurança Nessus • O nessus: – Aponta as falhas – Oferece uma descrição detalhada da vulnerabilidade – Aponta uma solução Nessus 1- Resultado da avaliação 2- Descrição do problema 3- Solução Referências • • • • • • http://en.wikipedia.org/wiki/Main_Page http://linhadefensiva.uol.com.br/forum http://www.forum-invasao.com.br http://www.securityfocus.com/infocus/1285 http://crypto.stanford.edu/cs155/IDSpaper.pdf http://www.hijackthis.de • http://www.nessus.org Obrigado