Por que algumas portas relatadas pelo nmap são filtradas e não as outras?


38

Estou escaneando um servidor que deve ter um firewall bastante simples usando o iptables : por padrão, tudo está inclinado além de pacotes RELATEDe ESTABLISHEDpacotes. O único tipo de NEWpacotes permitido são os pacotes TCP nas portas 22 e 80 e é isso (não há HTTPS nesse servidor).

O resultado do nmap nas primeiras portas 2048 fornece 22 e 80 como abertos, 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 2043 outras portas não aparecem como filtradas?

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

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

Aqui está a saída do 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

Realmente não entendo por que 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)

(observe que Java / Tomcat está escutando na porta 8009, mas essa porta está DROPped pelo firewall)


Você obtém os mesmos resultados ao verificar outros hosts?
Creek

@ Creek: ah, tentei no slashdot.org e obtivemos 80 e 443 abertos, mas também filtramos 25 / smtp . Mas então você me deu a idéia de tentar nmapar o mesmo servidor, não da minha máquina doméstica, mas de outro servidor que possuo: não recebo as 3 portas filtradas, mas obtenho 53 / domain / closed , 443 / https / closed e 953 / rndc / fechado . (meus dois servidores dedicados estão hospedados na OVH / França).
Cedric Martin

1
Se você realmente deseja ver o que nmapestá fazendo, deve fazer a varredura usando privs raiz, usando a varredura SYN ( -sS) e --packet-trace. Também levar alguns minutos e ler a página de manual, você ficaria surpreso que as gemas estão lá
Creek

Eu também abriria temporariamente essas portas e veria se os pacotes chegavam até elas.
Mark Hurd

Respostas:


25

A instrução 'Porta filtrada' do nmap difere de acordo com o 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. (nomeado hanshake de 3 vias)

  • 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 ao RST: significa que a porta está fechada !

  • Você emite um SYN, se o servidor não responder ou responder com erro ICMP: significa que a porta está filtrada . É provável que um firewall IDS / statefull bloqueie sua solicitação)

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

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

filtrado: o Nmap não pode determinar se a porta está aberta porque a filtragem de pacotes impede que suas análises cheguem à porta. A filtragem pode ser de um dispositivo de firewall dedicado, regras de roteador ou software de firewall baseado em host. Essas portas frustram os invasores porque fornecem muito pouca informação. Às vezes, eles respondem com mensagens de erro do ICMP, como o código 3 do tipo 3 (destino inacessível: comunicação proibida administrativamente), mas os filtros que simplesmente descartam análises sem responder são muito mais comuns. Isso força o Nmap a tentar novamente várias vezes, caso a sonda tenha caído devido ao congestionamento da rede, em vez de filtrar. Esse tipo de filtragem diminui drasticamente a digitalização.

abrir | filtrado: o Nmap coloca portas nesse estado quando não é possível determinar se uma porta está aberta ou filtrada. Isso ocorre para os tipos de verificação nas quais as portas abertas não dão resposta. A falta de resposta também pode significar que um filtro de pacotes descartou a sonda ou qualquer resposta que provocou. Portanto, o Nmap não sabe ao certo se a porta está aberta ou sendo filtrada. As verificações UDP, protocolo IP, FIN, NULL e Xmas classificam as portas dessa maneira.

closed | filter: Este estado é usado quando o Nmap não consegue determinar se uma porta está fechada ou filtrada. Ele é usado apenas para a verificação ociosa de ID de IP discutida na Seção 5.10, "Verificação ociosa de TCP (-sl)


Então, como faço para filtrar a porta 22? Suponha que eu esteja usando os domínios do Google ...
IgorGanapolsky

"Não filtrar"? Bem, você não interceptar o tráfego que vai para 22 no seu firewall, portanto, não será filtrada ... Você, então, obter "aberta" ou "fechar" como uma resposta à sonda nmap
Florian Bidabe

O que você está digitalizando?
Florian Bidabe 15/08/16

Estou usando este comando: sudo nmap -oG - -T4 -A -p22 -v pi.eazyigz.com | grep ssh
IgorGanapolsky 15/16

1
"-T4" não é necessário, já especificado em "-A" ... em relação à análise, sudo nmap implica que uma verificação Syn seja usada (-sS). "-A" é uma versão mais curta de "-T4" + "- sV" + "- O". Se a detecção de serviço (-sV) falhar na detecção do servidor SSH, é provável que a porta esteja fechada (sem escuta ssh), caso contrário, DEVE haver algo entre o cliente e o servidor que intercepte a sonda e descarte os pacotes (um firewall host, um IDS, ou dispositivos de rede mal configurados)
Florian Bidabe 16/08

10

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

Porque no seu ISP, roteador, administrador da rede, qualquer coisa entre eles ou você mesmo os está filtrando. Essas portas têm um histórico bastante ruim; 1863 é a porta usada pelo protocolo de mensagens instantâneas da Microsoft (também conhecido como MSN e amigos) que acredito que você possa (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, pois não tenho idéia do que poderia acontecer com eles.


1
obrigada pelo esclarecimento! Assim, "filtrada" basicamente significa que há o equivalente a um iptables s' REJEIÇÃO em algum lugar (ISP, roteador, etc.)? E o ISP / roteador ou o que quer que seja REJEITANDO, em vez de DROPping, porque é mais limpo? Em relação à porta 25: ela é filtrada para, digamos, slashdot.org também (quando eu mapeá-lo da minha conexão doméstica, mas não quando mapeá-lo do meu servidor dedicado).
Cedric Martin

6
@CedricMartin, você tem exatamente o contrário. "Filtrado" significa que o pacote foi descartado (nenhuma resposta), enquanto "fechado" significa que o pacote foi rejeitado (uma resposta de "porta inacessível" do ICMP é enviada).
Mark

@ Mark: então, se eu entendi a minha pergunta original: no meu servidor, usando o iptables , estou descartando tudo além das portas 22 e 80. Como é que apenas 3 portas aparecem como "filtradas"?
Cedric Martin

@CedricMartin edite sua pergunta e adicione suas regras do iptables.
Braiam

1

Por padrão, o Nmap verifica apenas as 1.000 portas mais comuns para cada protocolo (tcp, udp). Se a sua porta estiver fora dela, ela não fará a varredura e, portanto, não a reportará. No entanto, você pode especificar as portas que deseja verificar com a opção -p.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.