GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué algunos puertos informados por Nmap están filtrados y no los demás?

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)
Relacionado:Hoja de trucos básicos de Nmap

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)


Linux
  1. ¿Por qué Regex en Bash funciona solo si es una variable y no directamente?

  2. ¿Por qué es Rm -rf y no Rmdir -rf?

  3. Verifique qué puertos y procesos se están ejecutando en Ubuntu

  4. Cómo configurar iptables para que un puerto no deseado no se informe como filtrado

  5. ¿Por qué usamos su - y no solo su?

¿Qué es Intel SGX y cuáles son los beneficios?

Instalación y uso de Nmap Port Scanner

¿Por qué algunos emoji en blanco y negro y otros son demasiado grandes?

¿Por qué está abierto el puerto 1111 y es seguro estarlo?

¿Por qué algunos modelos de CPU de la familia Intel 6 (Core 2, Pentium M) no son compatibles con intel_idle?

¿Cuál es el número máximo de puertos?