par kalyndra » 05 Avr 2004 11:37
quelques elements de reponse ...
*Comment identifier les services actifs ?
La meilleure des façons est d'utiliser la commande netstat qui permet d'obtenire toutes les connexions active, exemple :
C:\WINNT>netstat -an
Sur un système Windows XP
C:\WINDOWS>netstat -ano
Attention néanmoins :
Netstat peut laisser croire à un nombre de
services en écoute plus élevé qu'en réalité. Ce problème se manifeste lorsque Windows établit une connexion TCP sortante (ouverture active). Dans ce cas, un port TCP local est utilisé comme port source de la connexion TCP établie. Le problème est que la commande netstat affiche ce port source comme étant en écoute sur toutes les interfaces, ce qui peut laisser croire qu'un service TCP est en écoute sur ce port, ce qui n'est pas le cas.
Pour exemple, la machine a établi une connexion TCP du port source 1367 vers le port 22 d'une machine distante. Le résultat netstat, filtré pour ne contenir que les lignes contenant le numéro de port 1367 est :
--------------------------------------------------
C:\WINDOWS>netstat -anp tcp | find ":1367"
TCP 0.0.0.0:1367 0.0.0.0:0 LISTENING
TCP 192.70.106.142:1367 163.75.108.80:22 ESTABLISHED
--------------------------------------------------
La deuxième ligne montre bien qu'une connexion est établie, du port local 1367 au port 22 d'un système distant. Cela dit la première ligne laisse à penser que le port 1367 est en écoute : et bien non, il n'en est rien.
Ainsi, pour toute connexion sortante établie, une ligne supplémentaire et en écoute fictive, apparaît dans la sortie de netstat. Il est donc
important de bien faire la différence entre un port réellement ouvert et un port rapporté par erreur par netstat comme étant en écoute.
*Après avoir observé et différencié les ports ouverts et ceux qui le sont fictivement, comment les fermer ?
Tout simplement en désactivant le service qu'il utilise via la commande net stop ou en passant son mode de démarrage en manuel, et non en automatique. Cependant, cela ne l'empêchera pas de se relancer au prochain redémarrage, il faut soit le désactiver, soit passer son mode de démarrage en manuel. Encore que ceci dépend des services car certains services en mode
manuel étant lancés par le système, cela oblige à les désactiver totalement pour qu'ils ne soient pas lancès: une vrai plaie.
Avec Windows 2000, cela peut se faire avec le gestionnaire de services. Sous Windows XP, la commande sc permet de désactiver un service en ligne de commande, avec une commande du
type :
C:\WINDOWS> sc config nom_du_service start= disabled
pour désactiver
C:\WINDOWS> sc config nom_du_service start= manual
pour passer le service en mode de démarrage manuel.
*Et pour Windows 2000 ave IIS, on fait comment ?
Sous Windows 2000, IIS 5 fonctionne par défaut, sous la forme des services SMTP, HTTP et du service d'administration qui fonctionnent avec les ports TCP 25, 80, 443 et UDP 3456, ainsi qu'un TCP et un UDP supérieurs à 1024, pour des services RPC.
Pour arrêter IIS :
C:\WINNT> net stop iisadmin
--------------------------------------------------
The following services are dependent on the IIS Admin Service service.
Stopping the IIS Admin Service service will also stop these services.
World Wide Web Publishing Service
Simple Mail Transport Protocol (SMTP)
Do you want to continue this operation? (Y/N) [N]: y
The World Wide Web Publishing Service service is stopping.
The World Wide Web Publishing Service service was stopped successfully.
The Simple Mail Transport Protocol (SMTP) service is stopping.
The Simple Mail Transport Protocol (SMTP) service was stopped successfully.
...
The IIS Admin Service service was stopped successfully.
--------------------------------------------------
Si vous éffectuez à nouveau un netstat -an, vous verrez que le nombre de ports ouverts a été réduit.
Cette démarche étant valable uniquement pour la session en cours, si vous redémarrez votre système, les services se relancent. La méthode radicale pour l'éviter est alors de complètement désinstaller IIS avec le panneau de configuration.
*Et pour IPSEC ?
Le port 500, utilisé par le protocole IKE (Internet Key Exchange) peut être fermé en arrêtant le service IPsec services.
--------------------------------------------------
C:\WINNT> net stop policyagent
The IPSEC Services service is stopping.
The IPSEC Services service was stopped successfully.
--------------------------------------------------
Kalyndra