O documento discute o protocolo DHCP, incluindo seu objetivo de fornecer endereços IP e parâmetros de rede dinamicamente para hosts, seu modelo cliente-servidor e os três modelos de alocação de endereços. Também descreve as mensagens DHCP e formatos, além de abordar questões de segurança e sugestões para mitigá-las.
Trabalho sobre DHCP - Especialização em redes PUC RJ
1. Especialização em Redes de Computadores
Dynamic Host Configuration Protocol
TCPIP 2
Professor Anderson Silva
Rodrigo Moreira de Azevedo
2. Introdução
• O objetivo é entregar endereço e parâmetros da
rede dinamicamente para hosts em uma rede.
• DHCP é baseado no protocolo BOOTP ( Bootstrap
Protocol )
• Possui um modelo Cliente/Servidor
• Três modelos de entrega de endereço :
- Alocação automática
- Alocação dinâmica
- Alocação manual
• Suporta ipv4 e ipv6
3. Principais objetivos
• Clientes não necessitam de nenhum tipo de configuração
manual para o protocolo DHCP funcionar.
• O protocolo DHCP não necessita de um servidor em cada
sub-rede.
• Precisa interoperar com o protocolo BOOTP conforme
descrito pela RFC951 e RFC1542.
5. Formato da mensagem DHCP
• op – Código da operação
1 – BOOTREQUEST
2 – BOOTREPLY
• htype – Hardware address type
• hops – Usado por agentes de
relay
• Hlen – Tamanho do endereço de
hardware
• xid – ID de transação gerado
pelo cliente
• secs – Tempos em segundos
usado pelo cliente
• flags – Broadcast flag usado
quando software TCP/IP não
aceita datagrama unicast de
hardware
• ciaddr – Endereço IP do cliente
• yiaddr – Endereço IP oferecido
ao cliente
6. Formato da mensagem DHCP
• siaddr – Endereço IP do
servidor DHCP
• chaddr – Endereço de hardware
do cliente
• sname – Nome do host servidor
DHCP
• file – Nome do arquivo de boot
• options – Campo de parâmetros
opcionais
7. Mensagens DHCP
DHCPDISCOVER
• Cliente->Servidor | Usado para descobrir servidores DHCP
DHCPOFFER
• Servidor->Cliente | Resposta do DHCPDISCOVER
DHCPREQUEST
• Cliente->Servidor | Solicita alguns parâmetros oferecidos pelo servidor
DHCPACK
• Servidor->Cliente | Parâmetros solicitados pelo cliente
DHCPNAK
• Servidor->Cliente | Enviado quando o endereço IP está incorreto ou o período de lease expirado
DHCPDECLINE
• Cliente->Servidor | Informa que o endereço IP já está em uso
DHCPRELEASE
• Cliente->Servidor | Cliente libera o endereço IP para uso em outro host
DHCPINFORM
• Cliente->Servidor | Solicitação de parâmetros locais quando já possui um endereço configurado
9. DHCP ipv6
• Pode ser de dois tipos:
- Stateless ou Statefull
• DUID (DHCP Unique Identifier)
• IAID (Identity Association)
• Coexiste com DHCP ipv4
• Configura o gateway através de mensagens RA
(Router Advertisements)
• Router Advertisements são mensagens ICMPv6
enviadas para o grupo de multicast FF02::1 (tipo
broadcast do ipv4)
10. Problemas de segurança
Protocolo
sem
autenticação
Quando um host é conectado em um rede que possui um servidor DHCP, não
é solicitada qualquer tipo de autenticação para o host ou usuário.
Servidores
não
autorizados
Se uma pessoa mal intencionada disponibiliza um servidor DHCP, é possível
que este dispositivo responda as solicitações do cliente e fornecer informações
de configuração. Isso pode ser usado para fazer os clientes inutilizáveis na
rede, ou pior, configurá-los para novos abusos mais tarde. Por exemplo, um
hacker poderia explorar um servidor DHCP falso para dirigir um cliente DHCP
para usar um roteador sob controle do hacker, em vez de o que o cliente
deveria usar.
Clientes não
autorizados
Um cliente pode ser configurado para que simule um cliente DHCP legítimo e,
assim, obter informações de configuração destinados para esse cliente, o que
poderia, então, ser usado para comprometer a rede mais tarde. Como
alternativa, um cliente mal intencionado pode usar o software para gerar lotes
de falsos pedidos de cliente DHCP para usar todos os endereços IP no Pool de
um servidor DHCP. Mais simples, isso poderia ser usado por um ladrão para
roubar um endereço IP de uma organização para seu próprio uso.
11. Como detectar ?
• Existem algumas ferramentas que auxiliam na detecção de
servidores DHCP em operação na rede.
• dhcploc.exe – Disponível no Windows Support Tools
Exemplo:
- dhcploc /p /a:"AlertNameList" /i:AlertInterval ComputerIPAddress [ValidDHCPServerList]
• dhcp_probe – Disponível no site
http://www.net.princeton.edu/software/dhcp_probe/
Exemplo:
- /usr/local/sbin/dhcp_probe -f -d 11 hme0
12. DHCP Snooping
• Implementado na camada 2 de rede
• Configurado diretamente no Switch, quando o mesmo
suporta essa funcionalidade
• Conceito de porta confiável e não confiável
• Exemplo de configuração:
# Cat4(config)#ip dhcp snooping
# Cat2(config)#ip dhcp snooping vlan 10
# Cat2(config)#int fa0/23
# Cat2(config-if)#ip dhcp snooping trust
13. Microsoft NAP
• Microsoft DHCP Server com Network
Access Protection
• Disponível a partir do Windows 2008
Standart
• O NAP é habilitado no servidor DHCP.
• Permite implementar políticas de
segurança de acesso a rede
14. Sugestões
• Implementar switches no lugar dos hubs e garantir que os
switches evitem falsificação de endereço MAC. Muitos dos
possíveis ataques DHCP dependem ou são facilitados por
meio de técnicas de spoofing MAC.
• Utilizar técnicas de detecção de ativos para identificar
potenciais servidores hostis de DNS. O IDS Snort, por
exemplo, tem um plug-in disponível para esta finalidade.
• Bloquear o protocolo DHCP (portas UDP 67 e 68) no firewall
separando a rede local da internet.
• Considere o uso de uma lista de endereços MAC no servidor
DHCP.
15. Sugestões
• Desinstale ou desabilite quaisquer agentes de relay
DHCP/BOOTP no firewall e sobre quaisquer roteadores onde
não é necessário.
• Atribuir endereços IP fixos para servidores da rede DMZ,
servidores internos críticos e clientes de Internet críticos. O
serviço de cliente DHCP também deve ser desativado nessas
máquinas.
• Usar um servidor membro que não é um controlador de
domínio para o seu servidor DHCP.
• Permitir somente atualizações dinâmicas “SEGURAS” de
hosts no servidor DNS
16. Sugestões
• Verifique regulamente os logs e audite este periodicamente.
Em ambiente Windows este log pode ser localizado na pasta
“%SystemRoot%system32DHCP directory”.
• Se possível, utilize autenticação de um servidor RADIUS ao
invés de senha compartilhada em redes IEEE 802.11x. (
WPA2-Enterprise ao invés de WPA2-Personal.