Optimiser la sécurité de son PC

Par tesgaz

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)

Ports ouverts

Ports ouverts

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

Fermer les ports

Fermer les ports

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.

S’abonner
Notifier de
guest
17 Commentaires
plus ancien
plus récent Le plus populaire
Commentaires en ligne
Voir tous les commentaires
Fab

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

Dante

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).

Laubean

Salut,
pour les valeurs, de 0 à 9, les valeurs sont identiques en Hexa ou décimal, ensuite 10(Dec)=>A(Hex) etc etc…

Ketling

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

Bruno

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.

Spade

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

tripack

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 ?

Yann

Tout à fait Ketling, il s'agit d'une erreur de frappe que je corrige tout de suite !

Mart

bravo et merci pour ce tutorial qui nous ouvre les portes du Net en fermant les notres 😉

grenouille

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é ?

pierre

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

Thierry_le_commentateur

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 😉

Adamas

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 😉

Adamas

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… 😉

SendOg

!!!!
en desactivant le service client dhcp je ne peux me connecter à internet.

pour info, je branche ma box via la prise ethernet.

cherok00

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 🙂

maxpremier

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 »

17
0
Nous serions ravis d'avoir votre avis, laissez un commentaire !x