OVH Cloud OVH Cloud

Serveur DHCP sécurisé

8 réponses
Avatar
Xav
Bonjour à tous,

Voilà, je cherche à configurer mon serveur DHCP pour qu'il ne distribue des
adresses qu'aux machines qu'il connait. C'est à dire uniquement les machines
ayant une adresse MAC connues.

Comment proceder sans devoir faire de réservation pour chaque machinne du
réseau (350 postes) ?

Merci de vos idées.
Xavier.

8 réponses

Avatar
Jonathan BISMUTH
c'est une bonne question que tu pose là! (garde toutefois en tête qu'il est
toujours possible de spoofer une mac adresse!)

Il te faut fatalement récupérer les MAC adresses des stations et le sentrer
dans le DHCP.

Pour ma part, et en deux parties j'utiliserai :

- un script WMI pour remonter les adresses mac et IP des machines du domaine
dans un fichier type txt ou csv
- l'import par netsh de la configuration du DHCP, incluant les équivalences
MAC->IP

cordialement,
--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
www.portail-mcse.net
pour me contacter http://cerbermail.com/?fCeVUi7Icd
"Xav" a écrit dans le message de news:

Bonjour à tous,

Voilà, je cherche à configurer mon serveur DHCP pour qu'il ne distribue
des
adresses qu'aux machines qu'il connait. C'est à dire uniquement les
machines
ayant une adresse MAC connues.

Comment proceder sans devoir faire de réservation pour chaque machinne du
réseau (350 postes) ?

Merci de vos idées.
Xavier.


Avatar
Jean-Claude BELLAMY
Dans le message :,
Xav a pris la peine d'écrire ce qui suit :

Voilà, je cherche à configurer mon serveur DHCP pour qu'il ne
distribue des adresses qu'aux machines qu'il connait. C'est à dire
uniquement les machines ayant une adresse MAC connues.

Comment proceder sans devoir faire de réservation pour chaque
machinne du réseau (350 postes) ?


Tu es OBLIGÉ de faire une réservation pour chaque machine !

Mais cela peut s'automatiser !!!

Afin de configurer DHCP en ligne de commande (ou dans un batch), il existe
(ou plutôt il existait) l'outil "DHCPCMD.EXE" qui se trouvait dans le
Resource kit de NT4 (il date de janvier 1997!).
Mais il a totalement disparu des ResKits suivants (je les ai tous) !

Vu que cet outil ne se trouve plus nulle part (sauf chez les antiquaires ou
paléontologues!), j'ai pris la liberté (avec mon total accord ! ;-) ) de le
mettre à disposition de la Communauté sur mon site :

http://www.bellamyjc.org/download/dhcpcmd.zip (7 ko)

<Message à Bill et Steve ON>
Oui, je sais, pris au pied de la lettre, c'est du piratage !
Mais vu que vous êtes INCAPABLES de mettre à la disposition
des utilisateurs cet outil, même en le PAYANT, je me vois
obligé de pallier votre CARENCE lamentable! ;-)
<Message à Bill et Steve OFF>

taper
dhcpcmd /?
pour avoir de l'aide
ou lire le fichier "dhcpcmd.txt"

Les commandes de DHCPCMD sont toutes de la forme :
DHCPCMD <adresse IP du serveur DHCP> <commande> <paramètres de la
commande>

Par exemple, il existe la commande "AddReservedIp" qui s'applique pile-poil
au problème actuel, à savoir réserver une adr.IP à partir de l'adr.MAC :
Les paramètres suivant cette commande sont successivement :
Adresse de l'étendue
Adresse IP réservée
Adresse MAC (exprimée en hexadécimal, sur 6 octets)

Exemple:
dhcpcmd 192.168.0.49 AddReservedIp 192.168.0.200 192.168.0.223
08002B30369B


___________________

En ce qui concerne la récupération des adresses MAC du LAN, voici un script
VBS que je viens de concevoir (brut de fonderie, à adapter !!!).
Il affiche la liste de tous les PC du domaine ou workgroup courant et les
adresses MAC de leurs cartes réseau.

(attention aux lignes longues qui risquent d'être coupées par le lecteur de
news)

Script "GetMAC.vbs"
======== couper ici ======= ' ----------------------------------------------------------
' Script VBS donnant les adresses MAC et IP actives
' des ordinateurs du domaine ou workgroup courant
' Syntaxe : getmac
' JC BELLAMY © 2006
' ----------------------------------------------------------
on error resume next
Set network=Wscript.CreateObject("WScript.Network")
local=ucase(network.ComputerName)
Set ComputerSystem =
GetObject("winmgmts:{impersonationLevel=impersonate}!//"& Local).InstancesOf
("Win32_ComputerSystem")
for each ComputerItem in ComputerSystem
domaine=ComputerItem.Domain
next
set DomainSet=GetObject("WinNT://" & domaine)
for each ItemDomain in DomainSet
computer=ItemDomain.name
If computer<>"Schema" Then GetCfg computer
next
Wscript.quit
' -------------------------------------
Sub GetCfg(computer)
set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" &
Computer).ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE")
If Err.Number<>0 Then exit Sub
for each IPConfig in IPConfigSet
adrMAC=IPConfig.MACAddress
wscript.echo computer & " " & adrMAC
next
End Sub
======== couper ici =======
NB:
l'instruction
set DomainSet=GetObject("WinNT://" & domaine)
est valable dans tous les cas (workgroup, domaine NT4, domaine AD)

Il est préférable de la remplacer par
set DomainSet=GetObject("LDAP://" & domaine)
dans le cas de domaine AD, pour des questions de performances.

___________________

On peut rediriger les résultats de getMAC vers un fichier texte, qui sera
exploité dans un batch par DHCPCMD.

Exemple :

@echo off
cscript getMAC.vbs > listeMAC.txt
set adrIP9
for /F "tokens=2" %%M in (listeMAC.txt) do (
set /A adrIP=!adrIP! +1
dhcpcmd 192.168.0.49 AddReservedIp 192.168.0.200 192.168.0.!adrIP!
%%M
)

NB: pour incrémenter l'adresse IP, j'ai utilisé la variable d'environnement
"adrIP", encadrée par des "!" , et non pas des "%" traditionnels, afin
d'utiliser "l'expansion retardée".
Cela est nécessaire car à l'intérieur d'une boucle, par défaut, les
variables d'environnement ont une valeur FIGÉE (celle à l'extérieur de la
boucle)
On évite ce désagrément en utilisant le signe "!" au lieu de "%", et en
ayant au préalable activé l'expansion retardée.
Ainsi les variables peuvent "évoluer" à l'intérieur de la boucle.

Comme disait Claude PIEPLU dans "Merci Bernard!"
"C'est un droit, établi, que peu de gens connaissent !"
http://www.bellamyjc.org/download/wav/sketches/cest_un_droit_etabli.wav


Cela s'obtient :
- soit en exécutant une fois la commande
CMD /V:ON
- soit dans la BDR :
HKLMSOFTWAREMicrosoftCommand ProcessorDelayedExpansion
(RAG_DWORD) valeur : 0x1

___________________

Alors, elle est pas belle la Vie ? ;-)


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] -
http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
Xav
Merci à vous deux pour les infos. Les solutions cléfs en main même !!

Si je comprend bien, je suis obligé de passer par une réservation soit
@mac=@ip

Je pensais que je pouvais garder une étendue, qui fonctionnerait qu'après
une vérification dans un pool d'@mac.

Merci encore.
Xavier.


Bonjour à tous,

Voilà, je cherche à configurer mon serveur DHCP pour qu'il ne distribue des
adresses qu'aux machines qu'il connait. C'est à dire uniquement les machines
ayant une adresse MAC connues.

Comment proceder sans devoir faire de réservation pour chaque machinne du
réseau (350 postes) ?

Merci de vos idées.
Xavier.


Avatar
Jacques Barathon [MS]
Ton message s'appelant "serveur DHCP sécurisé", je te rappelle juste ce que
t'a dit Jonathan, à savoir qu'il ne s'agit absolument pas d'une solution
sécurisée! N'importe qui peut s'attribuer une adresse MAC fictive, notamment
prendre celle du voisin et donc récupérer l'adresse IP qui lui a été
réservée.

Le principe de la réservation d'adresse IP pour une adresse MAC est surtout
utile pour forcer l'attribution d'une adresse IP fixe spécifique à un poste
particulier, sans avoir à paramétrer le poste en IP statique.

Pour en finir sur le semblant de sécurité, rien n'empêchera qui que ce soit
de s'attribuer une adresse IP fixe dans la même plage réseau.

La véritable sécurité d'accès commence *après* l'attribution d'une adresse
IP. Il faut surtout veiller à ce que les permissions d'accès aux ressouces
soient correctement implémentées, que les mots de passe des utilisateurs
soient fiables et régulièrement changés, etc. Tu peux également implémenter
IPsec pour faire en sorte de n'autoriser que les postes membres d'un domaine
à avoir un dialogue en IP entre eux, voire crypter leurs échanges si des
données hyper-confidentielles transitent sur le réseau.

A la non-sécurité de la solution de filtrage par adresses MAC, j'ajouterais
la lourdeur sur le long terme si tu dois gérer le changement des adresses
MAC de 350+ postes: quid des changements de carte réseau, des remplacements
de postes, etc? Cette solution va générer un boulot digne de
l'administration française la plus exigente! Bon courage...

Jacques

"Xav" wrote in message
news:
Merci à vous deux pour les infos. Les solutions cléfs en main même !!

Si je comprend bien, je suis obligé de passer par une réservation soit
@mac=@ip

Je pensais que je pouvais garder une étendue, qui fonctionnerait qu'après
une vérification dans un pool d'@mac.

Merci encore.
Xavier.


Bonjour à tous,

Voilà, je cherche à configurer mon serveur DHCP pour qu'il ne distribue
des
adresses qu'aux machines qu'il connait. C'est à dire uniquement les
machines
ayant une adresse MAC connues.

Comment proceder sans devoir faire de réservation pour chaque machinne du
réseau (350 postes) ?

Merci de vos idées.
Xavier.




Avatar
Xav
Je suis assez convaincu par ton argumentation. Plutôt qu'en DHCP sécurisé,
l'idée est d'empecher un visiteur quelconque de se plugger sur le reseau avec
son portable pour utiliser l'acces internet ou propager sans le vouloir un
ver.

Xav.


Ton message s'appelant "serveur DHCP sécurisé", je te rappelle juste ce que
t'a dit Jonathan, à savoir qu'il ne s'agit absolument pas d'une solution
sécurisée! N'importe qui peut s'attribuer une adresse MAC fictive, notamment
prendre celle du voisin et donc récupérer l'adresse IP qui lui a été
réservée.

Le principe de la réservation d'adresse IP pour une adresse MAC est surtout
utile pour forcer l'attribution d'une adresse IP fixe spécifique à un poste
particulier, sans avoir à paramétrer le poste en IP statique.

Pour en finir sur le semblant de sécurité, rien n'empêchera qui que ce soit
de s'attribuer une adresse IP fixe dans la même plage réseau.

La véritable sécurité d'accès commence *après* l'attribution d'une adresse
IP. Il faut surtout veiller à ce que les permissions d'accès aux ressouces
soient correctement implémentées, que les mots de passe des utilisateurs
soient fiables et régulièrement changés, etc. Tu peux également implémenter
IPsec pour faire en sorte de n'autoriser que les postes membres d'un domaine
à avoir un dialogue en IP entre eux, voire crypter leurs échanges si des
données hyper-confidentielles transitent sur le réseau.

A la non-sécurité de la solution de filtrage par adresses MAC, j'ajouterais
la lourdeur sur le long terme si tu dois gérer le changement des adresses
MAC de 350+ postes: quid des changements de carte réseau, des remplacements
de postes, etc? Cette solution va générer un boulot digne de
l'administration française la plus exigente! Bon courage...

Jacques

"Xav" wrote in message
news:
Merci à vous deux pour les infos. Les solutions cléfs en main même !!

Si je comprend bien, je suis obligé de passer par une réservation soit
@mac=@ip

Je pensais que je pouvais garder une étendue, qui fonctionnerait qu'après
une vérification dans un pool d'@mac.

Merci encore.
Xavier.


Bonjour à tous,

Voilà, je cherche à configurer mon serveur DHCP pour qu'il ne distribue
des
adresses qu'aux machines qu'il connait. C'est à dire uniquement les
machines
ayant une adresse MAC connues.

Comment proceder sans devoir faire de réservation pour chaque machinne du
réseau (350 postes) ?

Merci de vos idées.
Xavier.









Avatar
Jacques Barathon [MS]
"Xav" wrote in message
news:
Je suis assez convaincu par ton argumentation. Plutôt qu'en DHCP sécurisé,
l'idée est d'empecher un visiteur quelconque de se plugger sur le reseau
avec
son portable pour utiliser l'acces internet ou propager sans le vouloir un
ver.


Pour empêcher l'accès à l'Internet, la solution dépend du proxy que vous
utilisez, mais globalement vous devez pouvoir forcer l'authentification des
utilisateurs. Si vos PC sont tous membres d'une même forêt AD, cela ne
devrait poser aucun problème.

Pour le problème de la propagation d'un ver, il faut bien sûr tenir vos PC à
jour en matière de correctifs de sécurité et de signature anti-virus, mais
cela ne suffit pas toujours. La mise en place d'IPsec sur le réseau local
peut au moins éviter la propagation d'un ver depuis le poste d'un visiteur.
Pour plus d'infos, je t'invite à lire le White Paper publié par
l'informatique interne de Microsoft sur notre propre déploiement:

http://www.microsoft.com/technet/itsolutions/msit/default.mspx#E4GAC

Le document s'appelle "Improving Security with Domain Isolation: Microsoft
implements IP Security (IPsec)". Si l'anglais te rebute, tu peux également
faire une recherche sur le site français de Microsoft pour de la
documentation sur le sujet:

http://search.microsoft.com/results.aspx?mkt=fr-FR&setlang=fr-FR&q=IPsec

Jacques

Avatar
F. Dunoyer [MVP]
Jean-Claude BELLAMY a formulé ce jeudi :
Dans le message :,
Xav a pris la peine d'écrire ce qui suit :

Super

:-)
que demander de plus ;-)

--
François Dunoyer [MVP Windows Server / Security]
Quelques trucs et des astuces pour Windows : http://fds.mvps.org/ta/
Site perso : http://www.fdunoyer.net

Avatar
Luc
La seule solution que j'ai trouvee afin de bloquer (dans mon cas les
portables personnel) est de laisser le DHCP donner une premiere fois une
adresse et par la suite, reserver la MAC adresse dans un range que j'appelle
clandestin et de modifier l'adresse de la passerelle vers un point
inexistant. Au minimum il ne peut plus atteindre l'internet.


Bonjour à tous,

Voilà, je cherche à configurer mon serveur DHCP pour qu'il ne distribue des
adresses qu'aux machines qu'il connait. C'est à dire uniquement les machines
ayant une adresse MAC connues.

Comment proceder sans devoir faire de réservation pour chaque machinne du
réseau (350 postes) ?

Merci de vos idées.
Xavier.