GNU/Linux >> Znalost Linux >  >> Linux

Proč jsou některé porty hlášeny Nmapem filtrovány a ostatní ne?

Prohledávám server, který by měl mít docela jednoduchý firewall pomocí iptables :ve výchozím nastavení je vše vyřazeno kromě RELATED a ESTABLISHED pakety. Jediný typ NEW povolené pakety jsou pakety TCP na portu 22 a 80 a to je vše (na tomto serveru není HTTPS).

Výsledek nmap na prvních 2048 portech dává 22 a 80 jako otevřené, jak očekávám. Několik portů se však jeví jako „filtrované“.

Moje otázka zní:proč se porty 21, 25 a 1863 zobrazují jako „filtrované“ a ostatní porty 2043 se nejeví jako filtrované?

Očekával jsem, že uvidím pouze 22 a 80 jako „otevřené“.

Pokud je normální vidět 21,25 a 1863 jako „filtrované“, tak proč se všechny ostatní porty také nejeví jako „filtrované“?

Zde je nmap výstup:

# 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

Opravdu nechápu, proč mám 2043 uzavřených portů:

Not shown: 2043 closed ports

a ne 2046 uzavřených portů.

Zde je lsof spuštěna na serveru:

# 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)

(všimněte si, že Java / Tomcat naslouchá na portu 8009, ale tento port je ZAHOŘEN firewallem)

Přijatá odpověď:

Příkaz „Filtered port“ z nmap se liší podle vaší metody skenování.

Standardní skenování (TCP Scan, pokud není privilegovaný uživatel, nebo Half-Open sken -sS, pokud superuživatel) závisí na protokolu TCP. (pojmenovaný 3-way hanshake)

  • Klient (vy) vydá SYN, pokud server odpoví SYN/ACK :znamená to, že port je otevřený !

  • Vydáte SYN, pokud server odpoví RST:znamená to, že port je zavřený !

  • Zadáte SYN, pokud server neodpovídá nebo odpoví chybou ICMP:znamená to, že port je filtrován . Váš požadavek pravděpodobně zablokuje IDS / stavový firewall)

Chcete-li zjistit, jaký je skutečný stav portu, můžete:

  • použijte -sV nebo -A možnost (detekce verze, pomůže vám určit, jaký je stav tohoto portu.
  • použijte –tcp-flags SYN,FIN zkusit obejít fw.
  • použijte jiné typy skenování (http://nmap.org/book/man-port-scanning-techniques.html)
Související:Cheat Sheet pro základy Nmap

Vynikající „Nmap Network Discovery ” kniha, kterou napsal její tvůrce Fjodor, to velmi dobře vysvětluje.
Cituji

filtrováno:Nmap nemůže určit, zda je port otevřený, protože filtrování
paketů brání jeho sondám v dosažení portu. Filtrování
může pocházet z vyhrazeného firewallového zařízení, pravidel routeru nebo hostitelského
softwaru firewallu. Tyto porty frustrují útočníky, protože
poskytují tak málo informací. Někdy reagují chybovými
zprávami ICMP, jako je typ 3 kód 13 (cíl je nedosažitelný:
komunikace je administrativně zakázána), ale mnohem běžnější jsou filtry, které jednoduše
zahodí sondy bez odpovědi. To nutí Nmap
opakovat to několikrát jen pro případ, že by byla sonda zahozena kvůli
zahlcení sítě spíše než kvůli filtrování. Tento druh filtrování dramaticky zpomaluje
skenování.

open|filtered :
Nmap umístí porty do tohoto stavu, když není schopen
určit, zda je port otevřený nebo filtrovaný. K tomu dochází u typů skenování
, ve kterých otevřené porty nereagují. Nedostatek odezvy může
také znamenat, že paketový filtr zahodil sondu nebo jakoukoli odezvu, kterou
vyvolal. Nmap tedy s jistotou neví, zda je port otevřený nebo
filtrován. UDP, IP protokol, FIN, NULL a Xmas skeny
klasifikují porty tímto způsobem.

closed|filtered :
Tento stav se používá, když Nmap není schopen určit
zda je port uzavřen nebo filtrován. Používá se pouze pro IP ID
Skenování nečinnosti popsané v části 5.10 – “Skenování nečinnosti TCP (-sl)


Linux
  1. Proč Regex v Bash funguje pouze v případě, že je proměnnou a ne přímo?

  2. Proč je to Rm -rf a ne Rmdir -rf?

  3. CentOS / RHEL :Jak nakonfigurovat vsftpd pro použití jiných portů než výchozích portů 20 a 21

  1. Jak mohu zkontrolovat, které porty jsou na mém počítači se systémem Linux obsazené a které volné?

  2. Proč existuje nesrovnalost ve využití disku hlášená df a du?

  3. Proč a jak jsou některé sdílené knihovny spustitelné, jako by to byly spustitelné soubory?

  1. Zkontrolujte, jaké porty a procesy běží v Ubuntu

  2. Jaké jsou alternativy pro kontrolu otevřených portů kromě telnetu?

  3. Jak přidat nějaký symbol (nebo jen přidat nový řádek), pokud čísla v textu nejsou souvislá