GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Beberapa Port Dilaporkan Oleh Nmap Difilter Dan Bukan Yang Lain?

Saya sedang memindai server yang seharusnya memiliki firewall yang cukup sederhana menggunakan iptables :secara default semuanya DIHAPUS selain RELATED dan ESTABLISHED paket. Satu-satunya jenis NEW paket yang diizinkan adalah paket TCP pada port 22 dan 80 dan hanya itu (tidak ada HTTPS di server itu).

Hasil nmap pada 2048 port pertama memberikan 22 dan 80 sebagai terbuka, seperti yang saya harapkan. Namun beberapa port muncul sebagai "difilter".

Pertanyaan saya adalah:mengapa port 21, 25, dan 1863 muncul sebagai "difilter" dan 2043 port lainnya tidak muncul sebagai difilter?

Saya berharap hanya melihat 22 dan 80 sebagai "terbuka".

Jika normal untuk melihat 21,25 dan 1863 sebagai "difilter", lalu mengapa tidak semua port lain muncul sebagai "difilter" juga!?

Ini nmap keluaran:

# 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

Saya benar-benar tidak mengerti mengapa saya memiliki 2.043 port tertutup:

Not shown: 2043 closed ports

dan bukan 2046 port yang ditutup.

Ini lsof diluncurkan di server:

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

(perhatikan bahwa Java / Tomcat mendengarkan pada port 8009 tetapi port tersebut di-DROP oleh firewall)

Jawaban yang Diterima:

Pernyataan 'Port yang difilter' dari nmap berbeda sesuai dengan metode pemindaian Anda.

Pemindaian standar (TCP Scan jika pengguna tidak memiliki hak istimewa, atau Half-Open scan -sS jika pengguna super) bergantung pada protokol TCP. (bernama 3-way hanshake)

  • Seorang klien (Anda) mengeluarkan SYN, jika server membalas SYN/ACK :itu berarti port terbuka !

  • Anda mengeluarkan SYN, jika server membalas RST :itu berarti port close !

  • Anda mengeluarkan SYN, jika server tidak membalas, atau membalas dengan kesalahan ICMP :itu berarti port difilter . Kemungkinan IDS / firewall statefull memblokir permintaan Anda)

Untuk mengetahui status port yang sebenarnya, Anda dapat :

  • gunakan -sV , atau -A opsi (deteksi versi, ini akan membantu Anda menentukan status port ini.
  • gunakan –tcp-flags SYN,FIN untuk mencoba melewati fw.
  • gunakan jenis pemindaian lain (http://nmap.org/book/man-port-scanning-techniques.html)
Terkait:Lembar Cheat Nmap Basics

Penemuan Jaringan Nmap . yang luar biasa ” buku yang ditulis oleh penciptanya, Fyodor, menjelaskan hal ini dengan sangat baik.
Saya kutip

filtered :Nmap tidak dapat menentukan apakah port terbuka karena packet
filtering mencegah probenya mencapai port. Pemfilteran
dapat berasal dari perangkat firewall khusus, aturan router, atau perangkat lunak firewall
berbasis host. Port ini membuat penyerang frustrasi karena mereka
memberikan informasi yang sangat sedikit. Kadang-kadang mereka merespons dengan pesan error
ICMP seperti kode tipe 3 13 (tujuan tidak dapat dijangkau:
komunikasi dilarang secara administratif), tetapi filter yang hanya
menjatuhkan probe tanpa merespons jauh lebih umum. Ini memaksa Nmap
untuk mencoba lagi beberapa kali untuk berjaga-jaga jika probe dijatuhkan karena
kemacetan jaringan daripada pemfilteran. Pemfilteran semacam ini memperlambat
pemindaian secara dramatis.

open|filtered :
Nmap menempatkan port dalam status ini ketika tidak dapat
menentukan apakah port terbuka atau difilter. Ini terjadi untuk jenis pemindaian
di mana port terbuka tidak memberikan respons. Kurangnya respons bisa
juga berarti bahwa filter paket menjatuhkan probe atau respons apa pun yang
ditimbulkannya. Jadi Nmap tidak tahu pasti apakah port tersebut terbuka atau
sedang difilter. Pemindaian UDP, protokol IP, FIN, NULL, dan Xmas
mengklasifikasikan port dengan cara ini.

closed|filtered :
Status ini digunakan ketika Nmap tidak dapat menentukan
apakah port ditutup atau difilter. Ini hanya digunakan untuk ID IP
Pemindaian idle yang dibahas di Bagian 5.10, “TCP Idle Scan (-sl)


Linux
  1. CentOS / RHEL :Cara mengkonfigurasi vsftpd untuk menggunakan port selain port default 20 dan 21

  2. Bagaimana saya bisa memeriksa port mana yang sibuk dan port mana yang kosong di mesin Linux saya?

  3. Cara mengkonfigurasi iptables agar port yang tidak diinginkan tidak dilaporkan sebagai difilter

  1. Mengapa kita menggunakan su - dan bukan hanya su?

  2. Mengapa dan bagaimana beberapa pustaka bersama dapat dijalankan, seolah-olah dapat dieksekusi?

  3. Apa alternatif untuk memeriksa port terbuka, selain telnet?

  1. Mengapa Regex Di Bash Hanya Bekerja Jika Itu Adalah Variabel Dan Tidak Secara Langsung??

  2. Mengapa Rm -rf Dan Bukan Rmdir -rf?

  3. Bagaimana cara menambahkan beberapa simbol (atau hanya menambahkan baris baru) jika angka dalam teks tidak bersambung