Vulnérabilité de type "Spoofing" sous Microsoft ISA Server
Date : 28 Juin 2005
Introduction :
Au début novembre, un problème de type "usurpation d'adresse" ("Spoofing") sous le garde-barrière Microsoft ISA (Internet Security and Acceleration) Server a commencé à être discuté sur NT Bugtraq. Une longue discussion sur la liste du FIRST s'en est suivi, et nous publions ici le résumé des conclusions.
ISA Server 2000 est une solution Microsoft pour les plates-formes Windows 2000 qui combine :
- un firewall
- un relais HTTP
Il est conçu pour être utilisé typiquement en frontal pour un accès à Internet.
L'option d'anti-spoofing permet normalement de contrôler les adresses IP source des paquets reçus sur une interface du garde-barrière et de les rejeter si elles correspondent à des réseaux attachés à une autre interface.
Architecture :
Un serveur ISA peut être configuré pour rendre accessible depuis Internet un serveur Web se trouvant sur le réseau interne, en réalisant du filtrage de paquets. Le serveur ISA utilise trois interfaces réseau pour mettre en place une zone démilitarisée (DMZ) :
- une interface est connectée au réseau interne,
- une interface est connectée à la DMZ,
- une troisième interface est connectée à Internet.
Pour rendre accessible un serveur Web sur le réseau interne avec cette architecture, une solution est d'attribuer des adresses privées aux machines de la DMZ et de placer le serveur ISA derrière un garde-barrière faisant de la translation d'adresses (NAT).
Description du problème :
Tous les paquets envoyés depuis Internet via le garde-barrière réalisant la translation d'adresses sont vus comme étant "spoofés" par la patte externe (dédiée à Internet) du serveur ISA. Les journaux du serveur ISA montrent un trafic "spoofé" provenant d'une adresse ne figurant pas dans la LAT (Local Address Table) du serveur ISA.
Note : Le serveur ISA présente le problème uniquement lors de son utilisation avec des mécanismes de translation d'adresses.
Solution :
La solution est fournie dans un article de la Knowledge Base japonaise de Microsoft (Cf. la section Références). Elle consiste à supprimer le contrôle anti-spoofing sur le serveur ISA.
- Créer la clé suivante dans la Base de Registres:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MspFltEx\Parameters
Créer une entrée de type REG_DWORD sous le nom SpoofDetection, et la positionner à 0.
- Stopper les services ISA : net stop mspfltex /y
- Puis redémarrer ces services.
L'utilisation de cette clé de Registre empêche le serveur ISA de considérer le trafic 1 pour 1 comme "spoofé".
Il est recommandé de prendre garde en utilisant cette solution, car elle désactive l'option d'anti-spoofing.
Pour plus d'information :
- Archive de Neohapsis du 4 novembre 2002 : http://archives.neohapsis.com/archives/ntbugtraq/2002-q4/0061.html
- Article de la Knowledge Base Q313562 de Microsoft : http://support.microsoft.com/default.aspx?scid=kb;EN-US;q313562
- Article de la Knowledge Base japonaise Q284811 de Microsoft : http://support.microsoft.com/default.aspx?scid=kb;ja;JP284811
- Présentation produit de Microsoft pour ISA server : http://www.microsoft.com/isaserver/evaluation/overview/default.asp