FACULDADE DE TECNOLOGIA SENAC – GOIÁS SEGURANÇA DA INFORMAÇÃO MÓDULO II PROJETO INTEGRADOR Man-In-The-Middle Goiânia, dezembro 2013. 1 FACULDADE DE TECNOLOGIA SENAC – GOIÁS SEGURANÇA DA INFORMAÇÃO MÓDULO II Professor: Fernando Pirkel Guilherme Borges Jesus Cardoso Pero Brossmann Wender Antônio Goiânia, dezembro 2013. 2 Como evitar o ataque Man-In-The-Middle? Há diversas formas de evitar este tipo de ataque, para quem possui uma rede com equipamentos Cisco pode ativar o DSNIFF, por exemplo, ou implantar uma solução Open Source ArpON (Arp handler inspectiON) porém no mercado há diversas soluções e equipamentos que oferecem ótimos recursos para bloquear este tipo de ataque. Nesse caso vou usar a ferramenta arpON. # Passo 01 # apt-get install arpon #Passo 02 #Edite o arquivo de configuração do arpON; # vim /etc/defalt/arpon; 3 # Passo 03 # Remova o comentário # das linhas abaixo e altere a a execução de “no” para “yes” # SARPI - Static Arp Inspection DAEMON_OPTS=”-q -f /var/log/arpon/arpon.log -g -s” # DARPI - Dynamic Arp Inspection DAEMON_OPTS=”-q -f /var/log/arpon/arpon.log -g -s” RUN=”yes” 4 #Passo 04 #Insira os Hosts e MAC que devem ser filtrados # vim /etc/arpon.sarpi 5 # Passo 05 # Inicie o serviço do ArpON # .../etc/init.d/arpon start # Passo 06 # Como exibe no arquivo de log a Proteção em Tempo Real esta ativada! (Realtime Protect actived!). # cat /var/log/arpon/arpon.log 6 Outro modo de evitar esse ataque e na própria configuração dos switches. Como evitar o ataque em switches Cisco: Para mitigar este ataque, você tem duas opções: Limitar o número de endereços MAC em uma porta do switch: esta configuração faz com que apenas os 10 primeiros endereços MAC que passarem pela a porta sejam considerados válidos, por exemplo: O número exato pode ser definido por você. Usar sticky MAC address: com esta configuração ativada, o primeiro MAC address que passar pela porta será o único considerado válido. 7 Em um switch Cisco, ambas as opções são configuradas através de port security. Vamos ver um exemplo de configuração. Primeiro, vamos habilitar o port security: switch(config-if)# switchport mode access O port security só pode ser habilitado em portas que estejam no modo “access”. switch(config-if)# switchport port-security Habilitar a port-security Agora, vamos definir que esta porta irá utilizar sticky MAC address: switch(config-if)# switchport port-security mac-address sticky Ou então, podemos definir qual a quantidade de endereços MAC válida nesta porta: switch(config-if)# switchport port-security maximum <número de MACs válidos> Depois disso, você deve definir qual a atitude a ser tomada quando uma violação acontece em uma porta protegida pelo port-security: switch(config-if)# switchport port-security violation < protect | restrict | shutdown > Shutdown desabilita a porta e você precisa habilitá-la manualmente depois. O Protect descarta pacotes com endereços MAC de origem desconhecidos até que você remova uma quantidade suficiente de endereços para que esta lista caia para baixo do número máximo configurado anteriormente. O Restrict faz o mesmo que o protect, porém também incrementa o contador Security Violation. 8 Evitando o ataque no Windows. Ferramenta utilizada: ARPFreeze Esta ferramenta é para prevenção. ARPFreeze / ARPFreezeNG permite configuração de tabelas ARP estáticas para que outros atacantes (usando Caim, Ettercap, Arpspoof ou alguma outra ferramenta) não pode puxar um ataque envenenamento ARP contra você. O Windows possui ferramentas internas para fazer isso (o comando ARP e netsh), mas estes não são fáceis ou automatizada, por isso criei ARPFreeze, um script de automação simples. Ele olha para a tabela ARP atual, e permite-lhe fazer entradas estática. Ela pode ajudar alguém em uma caixa de endurecimento contra homem no meio ataques que usam o envenenamento ARP. 9