Fermer les ports critiques
La sécurité de votre PC passe par la réduction d’un grand nombre de services Windows et de services réseaux. Sur les systèmes Windows, un certain nombre de services fonctionnent par défaut et il est souvent souhaitable d’en désactiver la majorité si le système n’a pas pour vocation d’offrir des services via le réseau.
Pour comprendre et connaître les services vous pouvez vous aidez de cet article sur les services.
Mais quels sont les ports ouverts sur mon PC ?
Voici ce que vous pouvez voir par défaut comme ports ouverts quand vous êtes connecté sur Internet, en tapant dans une “invite de commande” (cmd) : netstat -ano (pour XP) ; netstat -an (pour 2000)
Comme vous pouvez le constater sur cette image, il en existe un certain nombre que nous allons fermer par l’intermédiaire des services et par la base de registre (il est possible que vous n’ayez pas les même sur votre PC).
Mais commençons par comprendre ce qui est indiqué sur cette image avec ce tableau :
Proto | Permet de savoir si c’est un protocole de connexion sur un port de type TCP ou UDP |
Adresse locale | Dans le cas où le port local correspondant TCP, le 0.0.0.0: XXX (où XXX est un numéro de port différent de 0) cela signifie que le port est en écoute de toute adresse IP réclamant une ouverture de connexion TCP sur ce port |
Adresse distante | – Dans le cas de port TCP, le 0.0.0.0:0, pour l’adresse distante, signifie que la connexion sera acceptée en provenance de toute adresse IP utilisant n’importe quel port source. – Dans le cas de port UDP, cette même notion se retrouve avec la représentation *:*. |
Etat | – TCP (LISTENING): On apprend déjà que nous sommes en attente de connexion sur un certain nombre de ports TCP et en attente de datagramme sur un certains nombre de ports UDP. – TCP (ESTABLISHED) : On apprend que la connexion sortante est établie depuis un port local, ce port va apparaître aussi dans la liste des ports en écoute (état LISTENING) depuis toute adresse (0.0.0.0) sur le même port. En effet, du fait de l’implémentation de l’API Winsock sur TCP/IP utilisée, netstat ne peut pas distinguer certaines “ouvertures internes à la machine” des ouvertures réelles vers l’extérieur, donc on a l’impression qu’il a des ports ouverts alors qu’il ne le sont pas. |
(j’ai essayé d’être le plus clair possible, soyez indulgent si vous n’avez pas tout compris, ce n’est pas trop grave, l’important étant de fermer les ports)
Bon ceci étant dit, passons aux choses sérieuses, nous allons maintenant fermer les ports dit “critique“, à savoir :
Service
|
Port(s) |
Service(s) Windows |
Protocole IKE |
500/udp |
IPSEC Policy Agent |
Protocole NTP |
123/udp |
Windows Time |
UPnP |
5000/tcp, 1900/udp |
SSDP Discovery Service |
Cache DNS |
dynamique >1024/udp |
DNS Client |
NetBIOS sur TCP |
137/udp, 138/udp, 139/tcp |
TCP/IP NetBIOS Helper Service |
CIFS/SMB |
139/tcp, 445/tcp |
Server, Workstation |
Portmapper RPC |
135/tcp, 135/udp |
Remote Procedure Call (RPC) |
Tâches programmées |
dynamique >1024/tcp |
Schedule |
Messenger |
dynamique >1024/udp |
Messenger |
Service |
1025 |
Services |
Fermer les ports : “137. 138. 139“
Aller sur les propriétés de votre connexion “Internet“, à l’onglet “Gestion du réseau“, double-cliquer sur la ligne :
“Protocole Internet TCP/IP” dans cet onglet, aller sur le bouton “Avancé” et positionnez vous sur l’onglet “WINS“.
Maintenant, “activez” le paramètre : “désactiver NetBios avec TCP/IP”
Vous refermer tous les onglets et retourner dans l’onglet “Général” pour “Appliquer” les changements.
Maintenant fermons les services associés à “NetBios”
Le service “lmhosts“, qui sert à la résolution de noms NetBIOS peut être arrêté :
Avec une invite de commande (cmd), tapez : net stop lmhosts
Profitons-en pour désactiver complètement ce service, vous allez dans “exécuter” et vous tapez : services.msc
“désactiver” la ligne : “Assistance TCP/IP NetBios”
Voilà, aussi simple que ça pour fermer ces 3 ports.
Si vous utilisez une connexion “réseau local“, vous pouvez procéder de la même façon pour fermer les ports locaux, cela n’influence pas les connexions du réseau local.
Fermer le port : “445” qui correspond à NetBT
Ouvrez une invite de commande (cmd) et arrêtez les services “Workstation” et “serveur”
tapez : net stop rdr
Une fois cette première opération terminée,
tapez : net stop srv
maintenant que ces services sont arrêtés, nous allons les désactiver :
Menu “Démarrer” , “Exécuter“, tapez : services.msc
“Désactivez” la ligne : “Station de travail” qui correspond à “lanmanworkstation”
“Désactivez” la ligne : “Serveur” qui correspond à “lanmanserveur”
Une fois ces services arrêtés, le pilote NetBT peut être arrêté à son tour :
Ouvrez une invite de commande (cmd) et arrêtez le service :
Et tapez : net stop netbt
Pour désactiver le pilote NetBT, la valeur suivante de la base de registres doit être modifiée :
Menu “Démarrer” , “Exécuter“, tapez regedit
Allez à la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\
A la valeur : “Start” modifiez la valeur REG_DWORD à : 4
Dans certaines configurations, il peut être nécessaire de laisser actif le pilote NetBT, sans utiliser le transport de SMB
Sur le port 445. Dans ce cas, il est possible de régler la valeur de la base de registres suivante :
Allez à la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
A la valeur : “SmbDeviceEnabled” modifiez la valeur REG_DWORD à 0
Fermer le port : “123” qui correspond à “W32Time“
Vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “Horloge Windows” vous “arréter” le service puis vous le “désactiver“
Fermer le port : “500” qui correspond à “Internet Key Exchange“
Peut être fermé en arrêtant le service IPsec services.
Ouvrez une invite de commande (cmd) et arrêtez le service :
Et tapez : net stop policyagent
Et maintenant nous allons le désactiver complètement :
Vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “Service IPSEC” vous “désactiver” le service.
Fermer le port : “1900” qui correspond à “SSDPSRV“
Peut être fermé en arrêtant le service de découverte SSDP.
Ouvrez une invite de commande (cmd) et arrêtez le service :
Et tapez : net stop ssdpsrv
Et maintenant nous allons le désactiver complètement :
Vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “Service de découvertes SSDP ” vous “désactiver” le service.
Fermer les ports supérieur à : “1023” qui correspond à “Distributed Transaction Coordinator“
Peut être fermé en arrêtant le service msdtc
Ouvrez une invite de commande (cmd) et arrêtez le service :
Et tapez : net stop msdtc
Et maintenant nous allons le désactiver complètement :
Vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “Distributed Transaction Coordinator” vous “désactiver” le service
Pour 2000 serveur, ce service ferme également le port 3372.
Fermer le port : “5000” qui correspond à “upnphost“
Peut être fermé en arrêtant et en désactivant le service
Vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “Hote de périphérique universel Plug and Play” vous “Arrêter” et vous “désactiver” le service.
Fermer le port dynamique supèrieur à : “1024” qui correspond à “shedule“
Peut être fermé en arrêtant et en désactivant le service
Vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “Planificateur de tache” vous “Arrêter” et vous “désactiver” le service.
Fermer le port dynamique supèrieur à : “1027” qui correspond à “messenger“
Peut être fermé en arrêtant et en désactivant le service
Vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “Affichage des messages” vous “Arrêter” et vous “désactiver” le service.
Fermer le port dynamique supèrieur à : “1024” qui correspond à “clientDNS“
Peut être fermé en arrêtant et en désactivant le service
vous allez dans “exécuter” et vous tapez : services.msc
A la ligne : “ClientDNS” vous “Arrêter” et vous “désactiver” le service
Il est possible de désactiver le mécanisme de cache de socket utilisé par le service dnscache de Windows XP, en ajoutant une valeur dans la base de registres sous la clé :
Allez à la clé
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\
Aoutez la valeur “MaxCachedSockets” et donner la valeur REG_DWORD à 0
Femer le port “135”
Pour fermer ce port qui utilise le service “Appel de procédure distante” qui lui ne peut, en aucun cas être fermer pour cause de blocage de toutes connexions, il faut modifier plusieurs paramètres dans la base de registre, dont voici la procédure :
Création des “Restrictions des interfaces d’écoute sur Windows”
Une valeur de la base de registres permet de configurer la liste des interfaces réseau sur lesquelles les services RPC se placeront en écoute. Cette valeur reçoit une liste d’entiers, correspondant aux index des interfaces réseau. Cette valeur doit contenir des index d’interfaces réseau, commençant à 1 qui correspond à loopback 127.0.0.1
Pour le faire nous allons créer 2 clés qui n’existent pas :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rpc][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rpc\Linkage]
“Bind”=hex(7):31,00,00,00,00,00
Avec le bloc-notes, vous allez créer un fichier que vous nommez rpc-bind.reg, vous faites un copier/coller de ces valeurs, et vous le fusionnez dans votre base de registre.
Par défaut, le portmapper RPC se met en écoute sur toutes les interfaces réseau.
Une valeur de la base de registres, “ListenOnInternet“, permet de paramétrer si le portmapper RPC se met en écoute sur
toutes les interfaces ou non. Par défaut, cette valeur n’existe pas et a une valeur implicite de “Y”:
Nous allons la créer :
Dans la base de registre, allez à la clé
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs\
Créez la valeur : ListenOnInternet de Type: REG_SZ et donnez lui comme contenu N
Lorsque ListenOnInternet contient “N”, le port TCP 135 devient en écoute uniquement sur les interfaces dont les index apparaissent dans la valeur Bind soit 1 qui correspond à l’interface “Ethernet: MS TCP Loopback interface” 127.0.0.1
Désactiver DCOM
Pour l’instant le port TCP 135 est toujours ouvert car il est utilisé pour recevoir les requêtes d’activation à distance d’objets
COM. Il existe un réglage global dans la base de registres, permettant de désactiver DCOM :
Nous allons modifier une valeur dans la base de registre :
Allez à la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
A la valeur EnableDCOM de Type: REG_SZ modifiez le contenu N (pour désactiver)
Le port 135 est désormais fermé.
Il existe quelques ports spéciphiques à 2000 Server et à IIS mais comme ce sytème s’adresse en principe à des professionnels (Administrateur réseau, etc..) ils ne sont pas traités dans cet article. Vous pouvez néanmoins les retrouver sur le site de HSC.
Un article vraiment complet qui fait le tour du probleme (a quand un utilitaire qui nous permettra de configurer notre systeme au top et de façon rapide ? )les resultats apres mise en place des protections parlent d'eux meme
Article très complet et intéressant. mort aux pirates ;).
Mais n'oubliez pas de précisez le type de valeurs dans la base de regstre (hexadecimal ou decimal).
Salut,
pour les valeurs, de 0 à 9, les valeurs sont identiques en Hexa ou décimal, ensuite 10(Dec)=>A(Hex) etc etc…
Tres bon article et qui m'a été tres utile mais 2 ptites remarques:
1 – deja dit – valeurs en decimales ou hexa ??
2 – Modifiez la valeur REG_DWORD : MinimumDyamicBacklog en lui affectant la valeur 20
Modifiez la valeur REG_DWORD : MaximumDyamicBacklog en lui affectant la valeur 20000
Modifiez la valeur REG_DWORD : DyamicBacklogGrowthDelta en lui affectant la valeur 10
y'a t'il pas une erreur et doit etre Dynamic au lieu de Dyamic
Ben c cool des articles comme ca !!! G suivi a la lettre toutes vos informations résultat de la course ??? Mon ordinateur ne voulait plus demarrer. Arrivé à l'écran d'accueil de windows il se bloquait (Windows est en cours de démarrage). Tout compte fait, j'ai du faire une restauration système à une date antérieure.
Article assez complet pour la sécurisation d'un pc seul
mais ca seré pas mal de faire un article sur la sécurisation de pcs en réseau pask dès qu'on applique ces modifs sur 1 pc en réseau plus rien ne marche
ah ! j'ai applique ces tutos et je n'ai plus du tout de connection sous xp pro nada !
j'ai du retourné sous win 98 sur mon dique c
comment faire ? quoi faire ?
Tout à fait Ketling, il s'agit d'une erreur de frappe que je corrige tout de suite !
bravo et merci pour ce tutorial qui nous ouvre les portes du Net en fermant les notres 😉
Bonjour,
j'ai suivi moi-aussi à la lettre toutes vos recommandations et ai sauté l'étape de la fermeture du port 135 :j'ai téléchargé Zeb Protect qui l'a fermé automatiquement. Question : est-il nécessaire d'apporter les modif dans la base de registre sachant que ce port est déjà fermé ?
cet article est trés complet d'autant plus que les directives sont simples et relativements efficaces. J'ai bien dit relativement car 2 ports (à savoir le 1025 et 1027) ne veulent pas se fermeret même aprés plusieurs essais. Alors comment faire?…
Merci tout de même
Excellent article, je me dépêche de mettre tout ça dans un .reg pour chaque format C:.
Par contre, un truc qui me dérange :
Ajouté la valeur TcpMaxPortExhausted, puis en regardant si tout c'était bien intégré (je me suis servi de mon .reg), j'ai vu qu'il existait déjà une valeur du nom de TcpMaxPortsExhausted avec la même donnée (dword 5). Elles sont différentes ? Ou une des 2 est obsolètes ? Pour info je suis sous WinXP Pro SP2.
En tout cas beau travail Zebulon 😉
En fait je recherche de l’aide !!!
merci pour ce superbe tuto complet mais….
Je viens de respecter toutes ces étapes sous XP et depuis au redémarrage XP, windows met 3 minutes à démarrer en restant figé sur l’image "windows est en cours de démarrage"… il y a surement un service du tuto que j’ai du désactiver ou mettre en manuel qui a du causer ce problème j’imagine mais lequel ????
Merci beaucoup d’avance pour vos conseils et solutions pour ce soucis 😉
Voilà donc en effet il y a une petite erreur dans ce tutorial qui pour moi en tout cas à fait ramer le démarrage de windows avec un bon freeze à "windows est en cours de démarrage", il ne faut en effet pas mettre sur "manuel" le service "journal des événements", il faut laisser celui ci en automatique, c’est ce qui a résolu ce méchant ralentissement… 😉
!!!!
en desactivant le service client dhcp je ne peux me connecter à internet.
pour info, je branche ma box via la prise ethernet.
Salut à tous. Apres avoir appliqué le tuto et constatant la difference incroyable du surf, ma box est freezée et mon pc reste connecté au web. Enorme !! Par contre lorsque je redémarre mon pc, patratrac! Plus de net, et mon invite de commmande m’annonce que le media est déconnecté, plus d’ip , tout çà. Dois passer en ip statique, j’ai pensé à créer un profile switcher pour la modif avant de rebooter. Merci pour vos conseils. Tchatchao 🙂
Bonjour! Un bon gros Bonjour sonore et joyeux! 1 à tesgaz en particulier, et tous ceux, informaticiens et aidants naturels qui participent à des dossiers similaires, pour leur généreuse contribution,leur patience; 2 à ceux qui liront les commentaires jusqu’au bout, je l’espère, avant d’opérer toutes modifications sur leur pc. J’ai peu de chance d’être lu hein? par ordre croissant je suis à la toute fin, schnok! (Robin vient de recevoir une taloche du Joker) Voilà: ces dossiers de sécurité ont été écrit il y a déjà plusieurs années. Force est de nous rendre compte qu’on continue de nous flouer quel… Lire la suite »