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