GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi certains ports signalés par Nmap sont-ils filtrés et pas les autres ?

J'analyse un serveur qui devrait avoir un pare-feu assez simple en utilisant iptables :par défaut tout est DROPped sauf RELATED et ESTABLISHED paquets. Le seul type de NEW les paquets autorisés sont les paquets TCP sur les ports 22 et 80 et c'est tout (pas de HTTPS sur ce serveur).

Le résultat de nmap sur les 2048 premiers ports donne 22 et 80 comme ouvert, comme je m'y attends. Cependant quelques ports apparaissent comme "filtrés".

Ma question est :pourquoi les ports 21, 25 et 1863 apparaissent-ils comme "filtrés" et les 2043 autres ports n'apparaissent-ils pas comme filtrés ?

Je m'attendais à voir seulement 22 et 80 comme "ouverts".

S'il est normal de voir 21,25 et 1863 comme "filtrés", alors pourquoi tous les autres ports n'apparaissent-ils pas aussi comme "filtrés" ! ?

Voici le nmap sortie :

# nmap -PN 94.xx.yy.zz -p1-2048

Starting Nmap 6.00 ( http://nmap.org ) at 2014-06-12 ...
Nmap scan report for ksXXXXXX.kimsufi.com (94.xx.yy.zz)
Host is up (0.0023s latency).
Not shown: 2043 closed ports
PORT     STATE    SERVICE
21/tcp   filtered ftp
22/tcp   open     ssh
25/tcp   filtered smtp
80/tcp   open     http
1863/tcp filtered msnp

Je ne comprends vraiment pas pourquoi j'ai 2043 ports fermés :

Not shown: 2043 closed ports

et non 2046 ports fermés.

Voici un lsof lancé sur le serveur :

# lsof -i -n
COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME
named    3789 bind   20u  IPv4     7802       TCP 127.0.0.1:domain (LISTEN)
named    3789 bind   21u  IPv4     7803       TCP 127.0.0.1:953 (LISTEN)
named    3789 bind  512u  IPv4     7801       UDP 127.0.0.1:domain 
sshd     3804 root    3u  IPv4     7830       TCP *:ssh (LISTEN)
sshd     5408 root    3r  IPv4 96926113       TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
sshd     5411    b    3u  IPv4 96926113       TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
java    16589    t   42u  IPv4 88842753       TCP *:http-alt (LISTEN)
java    16589    t   50u  IPv4 88842759       TCP *:8009 (LISTEN)
java    16589    t   51u  IPv4 88842762       TCP 127.0.0.1:8005 (LISTEN)

(notez que Java / Tomcat écoute sur le port 8009 mais que ce port est abandonné par le pare-feu)

Réponse acceptée :

L'instruction "Port filtré" de nmap diffère selon votre méthode d'analyse.

Le scan standard (TCP Scan si utilisateur non privilégié, ou Half-Open scan -sS si superutilisateur) s'appuie sur le protocole TCP. (nommé 3-way hanshake)

  • Un client (vous) émet un SYN, si le serveur répond SYN/ACK :cela signifie que le port est ouvert !

  • Vous émettez un SYN, si le serveur répond RST :cela signifie que le port est fermé !

  • Vous émettez un SYN, si le serveur ne répond pas, ou répond avec une erreur ICMP :cela signifie que le port est filtré . Il est probable qu'un IDS / un pare-feu avec état bloque votre demande)

Pour savoir quel est l'état réel du port, vous pouvez :

  • utiliser le -sV , ou -A option (détection de version, cela vous aidera à déterminer quel est l'état de ce port.
  • utiliser –tcp-flags SYN,FIN pour essayer de contourner le fw.
  • utiliser d'autres types de numérisation (http://nmap.org/book/man-port-scanning-techniques.html)
En relation:Aide-mémoire sur les bases de Nmap

L'excellent "Nmap Network Discovery ” livre, écrit par son créateur Fyodor l'explique très bien.
Je cite

filtré :Nmap ne peut pas déterminer si le port est ouvert car le filtrage de paquets
empêche ses sondes d'atteindre le port. Le filtrage
peut provenir d'un dispositif de pare-feu dédié, de règles de routeur ou d'un logiciel de pare-feu
basé sur l'hôte. Ces ports frustrent les attaquants car ils
fournissent si peu d'informations. Parfois, ils répondent par des messages d'erreur
ICMP tels que le code 13 de type 3 (destination inaccessible :
communication interdite par l'administration), mais les filtres qui
suppriment simplement les sondes sans répondre sont beaucoup plus courants. Cela oblige Nmap
à réessayer plusieurs fois juste au cas où la sonde serait abandonnée en raison de
la congestion du réseau plutôt que du filtrage. Ce type de filtrage ralentit
considérablement les analyses.

open|filtered :
Nmap place les ports dans cet état lorsqu'il est incapable de
déterminer si un port est ouvert ou filtré. Cela se produit pour les types d'analyse
dans lesquels les ports ouverts ne donnent aucune réponse. L'absence de réponse peut
également signifier qu'un filtre de paquets a abandonné la sonde ou toute réponse qu'il a suscitée. Nmap ne sait donc pas avec certitude si le port est ouvert ou
filtré. Les scans UDP, IP protocol, FIN, NULL et Xmas
classent les ports de cette façon.

fermé|filtré :
Cet état est utilisé lorsque Nmap est incapable de déterminer
si un port est fermé ou filtré. Il n'est utilisé que pour l'ID IP
Idle scan discuté dans Section 5.10, « TCP Idle Scan (-sl)


Linux
  1. Linux - Pourquoi utilisons-nous Su - Et pas seulement Su ?

  2. Comment puis-je vérifier quels ports sont occupés et quels ports sont libres sur ma machine Linux ?

  3. Comment configurer iptables pour qu'un port indésirable ne soit pas signalé comme filtré

  4. Pourquoi utilisons-nous su - et pas seulement su ?

  5. Pourquoi et comment certaines bibliothèques partagées sont-elles exécutables, comme si elles étaient des exécutables ?

Qu'est-ce qu'Intel SGX et quels en sont les avantages ?

Installation et utilisation de Nmap Port Scanner

Pourquoi certains Emoji N&B et d'autres sont-ils trop gros ?

Pourquoi le port 1111 est-il ouvert et est-il sûr de l'être ?

Pourquoi certains modèles de processeurs Intel famille 6 (Core 2, Pentium M) ne sont-ils pas pris en charge par intel_idle ?

Quel est le numéro de port maximal ?