Por que algumas portas são reportadas pelo nmap e não pelas outras?

33

Estou examinando um servidor que deve ter um firewall bem simples usando iptables : por padrão, tudo é DROPADO além de RELATED e ESTABLISHED pacotes. O único tipo de NEW de pacotes permitidos são os pacotes TCP nas portas 22 e 80 e é isso (nenhum HTTPS no servidor).

O resultado de nmap nas primeiras 2048 portas dá 22 e 80 como aberto, como eu esperava. No entanto, algumas portas aparecem como "filtradas".

Minha pergunta é: por que as portas 21, 25 e 1863 aparecem como "filtradas" e as outras 2043 não aparecem como filtradas?

Eu esperava ver apenas 22 e 80 como "abertos".

Se é normal ver 21,25 e 1863 como "filtrados", por que todas as outras portas também não são "filtradas"?

Aqui está a saída nmap :

# 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

Eu realmente não entendo porque tenho 2043 portas fechadas:

Not shown: 2043 closed ports

e não 2046 portas fechadas.

Aqui está um lsof lançado no 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)

(note que o Java / Tomcat está escutando na porta 8009, mas essa porta é DROPADA pelo firewall)

    
por Cedric Martin 12.06.2014 / 01:17

2 respostas

22

A declaração "porta filtrada" do nmap difere de acordo com o seu método de verificação.

A varredura padrão (varredura TCP se usuário não privilegiado ou varredura semi-aberta -sS se superusuário) depende do protocolo TCP. (chamado 3-way hanshake)

  • Um cliente (você) emite um SYN, se o servidor responder SYN / ACK: significa que a porta está aberta !

  • Você emite um SYN, se o servidor responder a RST: significa que a porta está perto !

  • Você emite um SYN, se o servidor não responder ou responder com erro de ICMP: isso significa que a porta é filtrada . Provavelmente um firewall do IDS / statefull bloqueia sua solicitação)

Para descobrir qual é o status real da porta, você pode:

  • use a opção -sV ou -A (detecção de versão, isso ajudará você a determinar qual é o status dessa porta.
  • use - tcp-flags SYN, FIN para tentar ignorar o fw.
  • use outros tipos de verificação ( link )

O excelente livro " Nmap Network Discovery ", escrito por seu criador, Fyodor, explica isso muito bem. Cito

filtered : Nmap cannot determine whether the port is open because packet filtering prevents its probes from reaching the port. The filtering could be from a dedicated firewall device, router rules, or host-based firewall software. These ports frustrate attackers because they provide so little information. Sometimes they respond with ICMP error messages such as type 3 code 13 (destination unreachable: communication administratively prohibited), but filters that simply drop probes without responding are far more common. This forces Nmap to retry several times just in case the probe was dropped due to network congestion rather than filtering. This sort of filtering slows scans down dramatically.

open|filtered : Nmap places ports in this state when it is unable to determine whether a port is open or filtered. This occurs for scan types in which open ports give no response. The lack of response could also mean that a packet filter dropped the probe or any response it elicited. So Nmap does not know for sure whether the port is open or being filtered. The UDP, IP protocol, FIN, NULL, and Xmas scans classify ports this way.

closed|filtered : This state is used when Nmap is unable to determine whether a port is closed or filtered. It is only used for the IP ID Idle scan discussed in Section 5.10, "TCP Idle Scan (-sl)

    
por 01.07.2014 / 14:18
9

why do port 21, 25 and 1863 appear as "filtered" and the 2043 other ports do not appear as filtered?

Porque no seu ISP, o roteador, o administrador da rede, qualquer coisa entre eles ou você mesmo está filtrando-os. Essas portas têm um histórico muito ruim, o 1863 é a porta usada pelo protocolo de mensagens instantâneas da Microsoft (também conhecido como MSN e amigos), que acredito que você pode (ou não) ter definido uma regra específica. O SMTP parece que o seu ISP é o culpado e o FTP me deixou totalmente perplexo, já que não tenho ideia do que poderia acontecer com ele.

    
por 12.06.2014 / 01:39

Tags