Segurança Básica do seu Router em 10 Passos
Postado por: Márcia Guimarães em Security, Artigos -
Imprima este post
Olá.
Este artigo não esgota as possibilidades na área de Segurança, mas apenas serve como um guia, um “norte” a ser seguido, e para mostrar a você os passos mais básicos que devem ser implementados. O assunto Segurança é vastíssimo e a cada dia aparece uma nova maneira de explorar uma vulnerabilidade em uma infinidade de dispositivos. Existem sites somente dedicados a isso, e são parada obrigatória para quem quer trabalhar na área de segurança de redes.
O que devemos ter sempre em mente é o conhecimento dos protocolos da pilha TCP/IP, que vem a ser a estrutura, o arcabouço de tudo o que existe hoje em termos de redes.
Podia fazer uma lista enorme de excelentes livros e inúmeras fontes, mas vou citar apenas uma. Aquela que considero um dos melhores. The hacker’s handbook : the strategy behind breaking into and defending Networks, dos autores Susuan Young e Dave Aitel, da Editora Auerbach Publications. Leiam. É ótimo.
E não se enganem, a maioria delas é em Inglês. O que não é nenhuma novidade para todos aqui.
ok. Vamos lá ??
Segurança Básica do seu Router em 10 Passos
É muito difícil superestimar a importância da segurança dos routers Cisco visto que eles fornecem as comunicações de backbone para muitas organizações através do globo. Aqui estão 10 passos importante dos quais você pode começar a proteger o Cisco IOS do seu router.
Passo 1 : Desabilite os serviços desnecessários
Por default, routers Cisco executam uma infinidade de serviços opcionais. Estes serviços podem ser utilizados para dar informação a atacantes sobre o router e eles podem explorar as falhas e tirar vantagem delas. Você deve desabilitar os seguintes serviços no modo de configuração global :
CDP (Cisco Discovery Protocol) - no cdp run
Remote configuration - no service config
Source Routing - no ip source-route
Finger - no service finger
Web Server - no ip http server
SNMP - no snmp-server
BOOTP - no ip boot server
TCP services - no service tcp-small-servers
UDP services - no service udp-small-servers
É claro, se o router tem uma interface que não está sendo utilizada, você deverá desativá-la administrativamente com o comando shutdown. Para interfaces em uso, você deverá fazer o seguinte no modo de configuração de interface :
no ip direct-broadcast
no ip mask-reply
no ip proxy-arp
Passo 2 : Filtrar o tráfego, log denials, e evitar spoofing
Basicamente, você vai querer bloquear todo o tráfego que não é necessário. Mas, muitas vezes calcular qual será o tráfego necessário pode ser difícil. Para fazer isto, pense sobre sua rede. Quais redes irão atravessar este router ? Se router tem interface na Internet, ele não deverá receber tráfego de uma rede com ip´s privados (RFC 1918), assim você deverá implementar as seguintes acls :
Access-list 101 deny ip 10.0.0.0 0.255.255.255 any log
Access-list 101 deny ip 172.16.0 0.15.255.255 any log
Access-list 101 deny ip 192.168.0 0.0.0.255 any log
Interface s0/0
! WAN Internet Interface
Ip access-group 101 in
Como você imaginava, você pode ter acls muito, mais muito mais complexas do que estas.
Passo 3 : Armazenar logs do router e utilizar uma fonte confiável de hora
Todas acls do tipo deny que estão sendo logadas no passo anterior, precisam ir para um arquivo de log. Esse arquivo de log irá também conter todas as alterações de configurações feitas no seu router e qualquer erro gerado. ok. Para habilitar isto e ficar guardando no router, faça o seguinte no modo de configuração global:
Logging on
!Concede ao router um buffer de 16MB buffer para armazenar logging
Logging buffered 16384
Entretanto….. existe uma desvantagem de guardar estes logs somente no seu router, é o caso dele reinicializar (ou um atacante desligar seu router…), todos os logs serão perdidos. O que fazer ??? Para enviar estes logs para um servidor de log, faça o seguinte :
!Endereço IP do servidor Syslog
Logging 1.1.1.1
!Habilita o tempo para exibição dos logs
Service timestamps log datetime localtime show-timezone msec
Para se assegurar que a hora nestes logs estará sempre atualizada, configure seu router para usar uma fonte de tempo usando o protocolo Network Time Protocol (NTP):
!Este é um simples servidor NTP free baseado em Internet
Ntp server gpstime.trimble.com
Passo 4 : Aplique as senhas no modo privilegiado e nas linhas vty
Todos aqui já sabemos disso, mas existem três modos básicos para acessar um router: console, aux, e vty. Você deve ter certeza de que todos os três modos têm senhas aplicadas a eles. Aqui, você vê como aparece quando você verifica seu arquivo de configuração com o “sh run” :
line con 0
login
password MinhaSenhaComplexa
Exec-timeout 0 0line aux 0
login
password MinhaSenhaComplexa
Exec-timeout 0 0!Verifique para ter certeza que você não tem mais do que 4 vty’s, alguns routers tem !
line vty 0 4
login
password MinhaSenhaComplexa
Para acessar os modos privilegiados dos router, você deve configurar uma senha “enable password“. Quando você fizer isto, sempre use a “enable secret” para encriptar a senha com encriptação MD5, ao invés da “enable password“. Aqui está um exemplo:
Enable secret MinhaEnableSecretComplexa
Passo 5 : Utilize senhas complexas, senhas encriptadas, e evite ataques de dicionário
Assegure-se de utilizar senhas longas no seu router, porque isto significativamente diminue as chances do router aceitar. Para fazer isto, use o comando:
!Configura um comprimento mínimo de senha para 6 caracteres
Security passwords min-length 6
Sempre tenha certeza de que todas as senhas do seu router estão encriptadas com, pelo menos, a encriptação básica. Para fazer isto, use o comando:
Service password-encryption
Você pode evitar os ataques de dicionário ao dizer ao router para aceitar logins somente a cada 1 segundo e bloquear todos os logins para o router por 120 segundos se existirem 5 falhas consecutivas dentro de 60 segundos. Para fazer isto, use o comando:
login block-for 120 attempts 5 within 60
Para mais informação, veja o artigo “Protect your router from a DoS dictionary attack.”
Para qualquer conta de usuário local que você configurar, você deverá usar o comando “new” :
Username secret …
Isto irá encriptar a senha para o username com encriptação MD5.
Passo 6 : Controle quem pode acessar o seu router
Para acesso remoto, você precisa restringir os usuários que podem gerenciar seu router baseado no seu endereço ip e qual protocolo eles podem usar para fazer isso. Para restringir o acesso gerenciado pelo endereço IP, faça o seguinte :
!Isto é apenas uma LAN local; você pode fechá-lo para um único ip
Access-list 1 permit 192.168.1.0 0.0.0.255
Line vty 0 4
Access-class 1 in
Passo 7 : Use o SSH
Embora muitas companhias possam usar o Telnet ou HTTP para gerenciar seus routers, não é aconselhável. Recomendo enfáticamente mudar para o Secure Shell (SSH) todos os gerenciamentos remotos do seu router. Isto porque o SSH é encriptado e os outros não. Para habilitar o SSH somente, faça assim:
!O hostname do router é exigido
Hostname myrouter
!Um nome de domínio é exigido
Ip domain-name mydomain.com
!Geração de chaves de encriptação
Crypto key generate rsa
Ip ssh timeout 60Line vty 0 4
Transport input ssh Page 3
Passo 8 : Protocolos de roteamento seguros e serviços opcionais
Se você está utilizando algum protocolo de roteamento, um atacante pode manipular isto para derrubar sua rede. Recomendo usar um protocolo de roteamento que suporte senha encriptada para troca de atualizações de roteamento. Por exemplo, aqui está como configurar o OSPF para usar senhas encriptadas para segurança:
!Em cada interface
ip ospf message-digest-key key# md5 MinhaSenha$OSPF
!No modo de configuração router OSPF para cada área
area X authentication message-digest
Se você usa serviços opcionais como gerenciamento HTTP baseado em Web ou SNMP, você deve configurar o método mais seguro para utilizá-los. Por exemplo, se você está usando o gerenciamento HTTP baseado em Web, altere o HTTP para usar somente senhas encriptadas. Se você for usar o SNMP, use uma senha complexa e a versão 3 do SNMP, que pode encriptar estas senhas.
Passo 9 : Evitar ataques DoS (Denial of Service)
Você quer parar que outros desativem seus links de rede ou desliguem seu router inteiro. Um dos comandos mais fáceis que você pode utilizar para ajudar a evitar ataques DoS é o comando “no ip directed-broadcast“. IP directed-broadcasts são raramente necessários e são tipicamente explorados para refletir os ataques DoS. Outra maneira simples de evitar ataques DoS é limitar as taxas de pacotes ICMP. O ICMP pode ser usado para fazer floods na sua rede, causando negação de serviço. Para evitar os floods, aplique os seguinte comandos em cada interface do seu router.
(Observe que você vai querer limitar a largura de banda permitida, dependendo da largura de banda que sua rede está conectada; neste exemplo limitamos todo ICMP a 20 kb.)
Você deverá aplicar os seguintes comandos em cada interface que está na Internet :
access-list 100 permit icmp any any echo-reply
access-list 100 permit icmp any any echo
interface Serial 0/0
rate-limit input access-group 100 20000 8000 8000 conform-action transmit exceed-action drop
Evitar quanto possível ataques DoS pode ser muito complexo. Para maiores informações, consulte estes documentos da Cisco :
Passo 10 : Mantenha seu IOS atualizado
Não apenas a Microsoft que aparece com frequentes patches de atualização de software; a Cisco também faz isso. você deverá manter-se atualizado com os últimos anúncios de segurança da Cisco e aplicar os patches em seus routers de forma regular quanto possível. Para visualizar os últimos patches da Cisco para seus dispositivo, vá até o site web Cisco Security Advisories .
Outro aviso : execute a versão “general deployment” do Cisco IOS (a versão “GD”). A versão GD é considerada a mais estável. Ele deverá ter menos bugs e vulnerabilidades de segurança.
Até o próximo artigo !
Sds.
Márcia Guimarães
Leia também:
- Auto-Segurança em roteadores Cisco
- Níveis de privilégio no IOS Cisco
- Cisco alerta para falha grave de segurança na versão 12.4 do IOS
- 5 passos para eliminar o conteúdo desnecessário de seu currículum
- Revelado um dos maiores furos de segurança na Internet
- Gerenciamento de Rede Fora de Banda (OOB - Out-Of-Band)
- 10 dicas “quentes” relacionadas ao Cisco IOS
- Tutorial Dynagen - Interconectando routers virtuais à routers reais
- Cisco Router Guide
- Acoplando um Sistema de Aceleração - Juniper WX - a um Roteador Cisco via WCCPv2
- Tutorial OSPF - Parte 3
- Webcast Cisco: Entendendo a segurança: redes integradas
- Lista de Controle de Acesso criadas facilmente - Parte 5
- Implementando Pequenas Redes com Cisco
- Novo router de borda Cisco à caminho
Posts
6 de August de 2008 às 4:14 pm
Graaaaande Márcia!!! Sempre salvando o conteúdo do blog com seus posts! Eu não estou conseguindo postar nada esta semana, mas semana que vem prometo que retomo
Muito bom, tks!
Marco.
6 de August de 2008 às 4:15 pm
Mais uma vez mandou super bem… obrigado pelas informações.
6 de August de 2008 às 5:40 pm
Excelente Post…
Parabéns mais uma vez…
6 de August de 2008 às 5:51 pm
Muito legal, parabens.
Apenas complementando, existe um comando cisco “auto secure” que dá algumas diretivas para implementar uma segurança basica no router, assim como via SDM que existe o Lockdown que auxilia nesse mesmo aspecto.
6 de August de 2008 às 7:19 pm
Gostei!!
Parabéns.
6 de August de 2008 às 10:05 pm
very good!
6 de August de 2008 às 10:32 pm
Parabens pelo post Marcia!
Como sempre fazendo um FLOOD no blog com artigos de qualidade!!rs
Quero aproveitar para dar uma dica, afim de evitar ataques de DoS. Eu uso esta regra e ela barra muitos pacotes.
Segue a dica:
Como nao ha porque as suas classes de IP (validas…) terem origem na Internet (ja que elas sao internas..), nada melhor que barra-las na entrada da sua interface WAN!! Entenderam? Vou exemplificar com uma ACL:
Access-list 103 deny ip SUA_REDE_IP01 WILDCARD_SUA_REDE_IP01 any
Access-list 103 deny ip SUA_REDE_IP02 WILDCARD_SUA_REDE_IP02 any
Interface s0/0
! WAN Internet Interface
Ip access-group 103 in
Isso nao vai interferir no retorno..ja que ela barra pacotes ip com origem de fora da sua rede. Quem conhece bem ataques DoS, sabe a importancia dessa regra.
Espero que tenha sido util..
[]s
7 de August de 2008 às 10:28 am
Como sempre, segurança é um assunto muito importante e vital! E a Márcia está se mostrando uma especialista, rsrs!!
Parabéns Márcia e mande mais!!
Abrçs!!
8 de August de 2008 às 2:08 pm
Obrigada a todos do blog pelos comentários.
11 de August de 2008 às 2:14 pm
Marcia , parabens mais uma vez, se puder manda ai o teu email!!!
16 de September de 2008 às 8:56 am
Marcia, parabéns…
Gostei muito do seu post, embora a maioria dos comandos e dicas sejam conhecidas de quem trabalha na área, poucos realmente colocam as mesmas em prática.
Um abraço.