Sto scansionando un server che dovrebbe avere un firewall piuttosto semplice usando iptables :per impostazione predefinita, tutto viene eliminato oltre a RELATED
e ESTABLISHED
pacchetti. L'unico tipo di NEW
i pacchetti consentiti sono i pacchetti TCP sulle porte 22 e 80 e il gioco è fatto (nessun HTTPS su quel server).
Il risultato di nmap sulle prime 2048 le porte danno 22 e 80 aperte, come mi aspetto. Tuttavia, alcune porte appaiono come "filtrate".
La mia domanda è:perché le porte 21, 25 e 1863 appaiono come "filtrate" e le altre 2043 non appaiono come filtrate?
Mi aspettavo di vedere solo 22 e 80 come "aperti".
Se è normale vedere 21,25 e 1863 come "filtrati", allora perché anche tutte le altre porte non vengono visualizzate come "filtrate"!?
Ecco la nmap uscita:
# 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
Davvero non capisco perché ho 2043 porte chiuse:
Not shown: 2043 closed ports
e non 2046 porte chiuse.
Ecco un lsof lanciato sul server:
# 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)
(nota che Java/Tomcat è in ascolto sulla porta 8009 ma quella porta è stata eliminata dal firewall)
Risposta accettata:
L'istruzione "Porta filtrata" di nmap differisce in base al metodo di scansione.
La scansione standard (TCP Scan se utente non privilegiato o Half-Open scan -sS se superutente) si basa sul protocollo TCP. (denominato hanshake a 3 vie)
-
Un client (tu) emette un SYN, se il server risponde SYN/ACK :significa che la porta è aperta !
-
Emetti un SYN, se il server risponde RST :significa che la porta è vicino !
- Emetti un SYN, se il server non risponde, o risponde con un errore ICMP:significa che la porta è filtrata . Probabilmente un IDS/firewall statefull blocca la tua richiesta)
Per capire qual è lo stato reale della porta, puoi:
- usa -sV o -A opzione (rilevamento della versione, ti aiuterà a determinare qual è lo stato di questa porta.
- usa –tcp-flags SYN,FIN per provare a bypassare il fw.
- utilizza altri tipi di scansione (http://nmap.org/book/man-port-scanning-techniques.html)
L'eccellente "Nmap Network Discovery ”, scritto dal suo creatore Fyodor lo spiega molto bene.
Cito
filtered :Nmap non può determinare se la porta è aperta perché il filtraggio dei pacchetti
impedisce alle sue sonde di raggiungere la porta. Il filtraggio
potrebbe provenire da un dispositivo firewall dedicato, regole del router o software firewall basato su host
. Queste porte frustrano gli aggressori perché
forniscono così poche informazioni. A volte rispondono con messaggi di errore ICMP
come tipo 3 codice 13 (destinazione irraggiungibile:
comunicazione amministrativamente vietata), ma sono molto più comuni filtri che semplicemente
rilasciano sonde senza rispondere. Ciò costringe Nmap
a riprovare più volte nel caso in cui il probe sia stato interrotto a causa di
congestione della rete anziché per il filtraggio. Questo tipo di filtro rallenta
la scansione si riduce notevolmente.
open|filtered :
Nmap mette le porte in questo stato quando non è in grado di
determinare se una porta è aperta o filtrata. Ciò si verifica per i tipi di scansione
in cui le porte aperte non danno risposta. La mancanza di risposta potrebbe
significare anche che un filtro di pacchetto ha eliminato il probe o qualsiasi risposta che
ha suscitato. Quindi Nmap non sa con certezza se la porta è aperta o
è filtrata. Le scansioni UDP, protocollo IP, FIN, NULL e Xmas
classificano le porte in questo modo.
closed|filtered :
Questo stato viene utilizzato quando Nmap non è in grado di determinare
se una porta è chiusa o filtrata. Viene utilizzato solo per l'ID IP
Scansione inattiva discussa nella Sezione 5.10, «Scansione inattiva TCP (-sl)