dimanche 1 décembre 2013

Sécuriser DHCP

Partie 1. Déploiement de DHCP Snooping


Le protocole DHCP n’inclut pas de système d’authentification et il est assez facile de lancer des attaques de DHCP spoofing. Qu’es ce donc ?
Un attaquant connecte un serveur DHCP sur notre réseau et répond aux requêtes des clients. Cela peut causer des DoS en propageant des informations de configuration incorrectes et/ou toucher à l’intégrité de l’information : le pirate peut configurer la passerelle, le serveur DNS dans les réponses DHCP qu’il renvoie.

La solution est la mise en place du DHCP snooping. Cette fonctionnalité va permettre de Contrôler les flux DHCP. Nous allons pouvoir définir deux types de ports :
Les Trusted qui sont autorisés à transférer les requêtes et réponses DHCP
Les Untrusted qui sont autorisés à transférer les requêtes et rien d’autres.
Donc tous les ports clients doivent être Untrusted, les ports interswitchs et vers les serveurs Trusted.
La mise en place du DHCP snooping va dans un même temps permettre la création d’une base de données, qui va répertorier les @ MAC et IP que DHCP snooping verra passer sur le réseau. Cette fonctionnalité sera utilisée par ARP Inspection.

Configuration:

ip dhcp snooping
Active DHCP snooping sur le switch

ip dhcp snooping vlan 10
Active DHCP snooping sur le vlan 10 (dans notre cas, notre vlan client)

ip dhcp snooping database flash:/DHCP.db
On spécifie ici la location du fichier database qui va stocker les @MAC et IP. Il est préférable de stocker cette table sur un serveur et de la remplir via scp. Nous aurons un seul fichier qui va centraliser toutes les entrées donc tous les commutateurs y auront accès (pour ARP Inspection). De plus, la mémoire des commutateurs est limitée ….

Exemple:
Ip dhcp snooping database scp://user:password@@IP/nom_de_fichier

Ip dhcp trust
A configurer sur l’interface connectant le serveur DHCP ou les liens interswitchs, on trust les requêtes et réponses DHCP. Je rappelle que toutes les interfaces vers les utilisateurs doivent être considérées comme Untrust.

Ip dhcp limit lease
A configurer sur les interfaces connectant les utilisateurs, on limite le nombre de paquets DHCP par secondes, Cisco recommande 5. Cette fonctionnalité aide à prévenir les DHCP starvation.

Exemple de configuration :

ip dhcp snooping vlan 10
ip dhcp snooping database flash:/DHCP.db
ip dhcp snooping
!
!
interface GigabitEthernet0/1
description server
switchport access vlan 20
ip access-group ServerDHCP in
ip dhcp snooping trust

!
interface GigabitEthernet0/24
description Client
switchport mode access
ip dhcp limit lease 5
authentication event fail action authorize vlan 999
authentication port-control auto
dot1x pae authenticator

Dans cet exemple j’utilise 802.1x pour authentifier mon client, il est possible de configurer de la sécurité par port pour renforcer l’accès au commutateur.
J’ai de plus configuré une access-list par port au niveau du serveur. Celle-ci peut se baser sur une @MAC ou IP.
Les stations sont dans le VLAN 10 et le serveur dans le vlan 20 …. Configuration de ip HELPER sur les interfaces VLAN et pas de problème à ce niveau-là.

Les différentes vérifications a effectuer :

Show ip dhcp snooping

RadSW#sho ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10
DHCP snooping is operational on following VLANs:
10
Smartlog is configured on following VLANs:
none
Smartlog is operational on following VLANs:
none
DHCP snooping is configured on the following L3 Interfaces:

Insertion of option 82 is enabled
circuit-id default format: vlan-mod-port
remote-id: 04c5.a4d7.7300 (MAC)
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Verification of giaddr field is enabled
DHCP snooping trust/rate is configured on the following Interfaces:

Interface Trusted Allow option Rate limit (pps)
----------------------- ------- ------------ ----------------
GigabitEthernet0/1 yes yes unlimited
Custom circuit-ids:

Show ip dhcp snooping binding

RadSW#show ip dhcp sno bin
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
F0:DE:F1:DC:A6:19 192.168.1.2 441237 dhcp-snooping 10 GigabitEthernet0/24
Total number of bindings: 1

Show ip dhcp snooping database

RadSW#show ip dhcp sno data
Agent URL : flash:/DHCP.db
Write delay Timer : 300 seconds
Abort Timer : 300 seconds

Agent Running : No
Delay Timer Expiry : Not Running
Abort Timer Expiry : Not Running

Last Succeded Time : 08:53:25 UTC Mon Mar 1 1993
Last Failed Time : None
Last Failed Reason : No failure recorded.

Total Attempts : 6 Startup Failures : 0
Successful Transfers : 6 Failed Transfers : 0
Successful Reads : 0 Failed Reads : 0
Successful Writes : 6 Failed Writes : 0
Media Failures : 0


Voilà pour la configuration de DHCP snooping, fonctionnalité qui rassurera les utilisateurs d’adresses IP statiques pour se lancer dans du dynamique. La mise en œuvre est facile et ne rend pas un trouble shoot plus complexe.
La deuxième partie de cette série sur la sécurisation de DHCP traitera de ARP Inspection.

Bon clic a tous !


2 commentaires:

  1. Excellent !

    Il y a juste le deuxième "@" dans la commande suivant qui peut porter à confusion :
    Ip dhcp snooping database scp://user:password@@IP/nom_de_fichier

    Ce deuxième @ signifie bien "adresse".

    RépondreSupprimer
  2. Oui mais à priori scp n'est pas disponible mais ftp, rcp et http !
    Merci pour le commentaire c est vrai que c'était pas bien clair

    RépondreSupprimer