Estoy escaneando un servidor que debería tener un firewall bastante simple usando iptables :de forma predeterminada, todo se elimina además de RELATED
y ESTABLISHED
paquetes El único tipo de NEW
los paquetes permitidos son paquetes TCP en los puertos 22 y 80 y eso es todo (no HTTPS en ese servidor).
El resultado de nmap en los primeros 2048 puertos da 22 y 80 como abiertos, como esperaba. Sin embargo, algunos puertos aparecen como "filtrados".
Mi pregunta es:¿por qué los puertos 21, 25 y 1863 aparecen como "filtrados" y los otros 2043 puertos no aparecen como filtrados?
Esperaba ver solo 22 y 80 como "abiertos".
Si es normal ver 21, 25 y 1863 como "filtrados", entonces ¿por qué todos los demás puertos no aparecen como "filtrados" también?
Aquí está el nmap salida:
# 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
Realmente no entiendo por qué tengo 2043 puertos cerrados:
Not shown: 2043 closed ports
y no 2046 puertos cerrados.
Aquí hay un lsof lanzado en el servidor:
# 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)
(tenga en cuenta que Java/Tomcat está escuchando en el puerto 8009 pero ese puerto está bloqueado por el cortafuegos)
Respuesta aceptada:
La declaración de 'Puerto filtrado' de nmap difiere según su método de escaneo.
El escaneo estándar (TCP Scan si es un usuario sin privilegios, o Half-Open scan -sS si es un superusuario) se basa en el protocolo TCP. (llamado protocolo de enlace de 3 vías)
-
Un cliente (usted) emite un SYN, si el servidor responde SYN/ACK:significa que el puerto está abierto !
-
Emites un SYN, si el servidor responde RST:significa que el puerto está cerrado !
- Emite un SYN, si el servidor no responde o responde con un error ICMP:significa que el puerto está filtrado . Es probable que un IDS/firewall con estado bloquee su solicitud)
Para saber cuál es el estado real del puerto, puede:
- usa el -sV , o -A opción (detección de versión, le ayudará a determinar cuál es el estado de este puerto.
- use –tcp-flags SYN,FIN para intentar omitir el fw.
- utilice otros tipos de escaneo (http://nmap.org/book/man-port-scanning-techniques.html)
El excelente “Nmap Network Discovery El libro, escrito por su creador Fyodor explica esto muy bien.
Cito
filtrado:Nmap no puede determinar si el puerto está abierto porque el filtrado de paquetes impide que las sondas lleguen al puerto. El filtrado
podría ser desde un dispositivo de firewall dedicado, reglas de enrutador o software de firewall
basado en host. Estos puertos frustran a los atacantes porque
proporcionan muy poca información. A veces responden con mensajes de error ICMP
como tipo 3 código 13 (destino inalcanzable:
comunicación administrativamente prohibida), pero los filtros que simplemente
descartan sondeos sin responder son mucho más comunes. Esto obliga a Nmap
a volver a intentarlo varias veces en caso de que la sonda se haya caído debido a
la congestión de la red en lugar del filtrado. Este tipo de filtrado ralentiza
los escaneos drásticamente.
abierto|filtrado:
Nmap coloca los puertos en este estado cuando no puede
determinar si un puerto está abierto o filtrado. Esto ocurre para los tipos de análisis
en los que los puertos abiertos no dan respuesta. La falta de respuesta podría
también significar que un filtro de paquetes eliminó la sonda o cualquier respuesta que
provocó. Por lo tanto, Nmap no sabe con seguridad si el puerto está abierto o
filtrado. Los escaneos UDP, protocolo IP, FIN, NULL y Xmas
clasifican los puertos de esta manera.
cerrado|filtrado:
Este estado se usa cuando Nmap no puede determinar
si un puerto está cerrado o filtrado. Solo se usa para el ID de IP
Exploración inactiva que se describe en la Sección 5.10, “Exploración inactiva de TCP (-sl)