Tại sao một số cổng được báo cáo bởi nmap được lọc mà không phải các cổng khác?


38

Tôi đang quét một máy chủ cần có tường lửa khá đơn giản bằng iptables : theo mặc định, mọi thứ đều được DROPped bên cạnh RELATEDvà các ESTABLISHEDgói. Loại NEWgói duy nhất được phép là gói TCP trên cổng 22 và 80 và đó là loại đó (không có HTTPS trên máy chủ đó).

Kết quả của nmap trên các cổng 2048 đầu tiên cho 22 và 80 là mở, như tôi mong đợi. Tuy nhiên, một vài cổng xuất hiện dưới dạng "được lọc".

Câu hỏi của tôi là: tại sao cổng 21, 25 và 1863 xuất hiện dưới dạng "được lọc" và 2043 cổng khác không xuất hiện dưới dạng được lọc?

Tôi dự kiến ​​chỉ thấy 22 và 80 là "mở".

Nếu bình thường thấy 21,25 và 1863 là "được lọc" thì tại sao tất cả các cổng khác cũng không xuất hiện dưới dạng "được lọc"!?

Đây là đầu ra 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

Tôi thực sự không hiểu tại sao tôi có 2043 cổng đóng:

Not shown: 2043 closed ports

và không đóng cổng 2046.

Đây là một lsof được khởi chạy trên máy chủ:

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

(lưu ý rằng Java / Tomcat đang nghe trên cổng 8009 nhưng cổng đó bị DROPped tường lửa)


Bạn có nhận được kết quả tương tự khi quét các máy chủ khác không?
Lạch

@Calet: ah, chỉ cần thử trên slashdot.org và đã mở 80443 nhưng 25 / smtp cũng được lọc. Nhưng sau đó, bạn đã cho tôi ý tưởng thử nmap cùng một máy chủ không phải từ máy chủ của tôi mà từ một máy chủ khác mà tôi sở hữu: Tôi không nhận được 3 cổng được lọc nhưng sau đó tôi nhận được 53 / domain / đã đóng , 443 / https / đã đóng953 / rndc / đóng . (cả hai máy chủ chuyên dụng của tôi đều được lưu trữ tại OVH / Pháp).
Cedric Martin

1
Nếu bạn thực sự muốn xem những gì nmapđang làm, bạn nên quét bằng cách sử dụng các quyền riêng tư gốc, sử dụng công cụ quét SYN ( -sS) và --packet-trace. Ngoài ra, hãy dành vài phút và đọc trang người đàn ông, bạn sẽ ngạc nhiên về những viên đá quý trong đó
Lạch

Tôi cũng tạm thời mở các cổng đó và xem liệu các gói có thông qua chúng không.
Đánh dấu

Câu trả lời:


25

Câu lệnh 'Cổng được lọc' từ nmap khác nhau theo phương pháp quét của bạn.

Quét tiêu chuẩn (Quét TCP nếu người dùng không có đặc quyền hoặc Quét nửa mở -sS nếu siêu người dùng) phụ thuộc vào giao thức TCP. (được đặt tên là hanshake 3 chiều)

  • Một khách hàng (bạn) phát hành một SYN, nếu máy chủ trả lời SYN / ACK: điều đó có nghĩa là cổng đang mở !

  • Bạn phát hành một SYN, nếu máy chủ trả lời RST: có nghĩa là cổng đã đóng !

  • Bạn phát hành một SYN, nếu máy chủ không trả lời hoặc trả lời với lỗi ICMP: điều đó có nghĩa là cổng được lọc . Có khả năng IDS / tường lửa đầy đủ chặn yêu cầu của bạn)

Để biết trạng thái thực của cổng là gì, bạn có thể:

  • sử dụng tùy chọn -sV hoặc -A (phát hiện phiên bản, nó sẽ giúp bạn xác định trạng thái của cổng này là gì.
  • sử dụng --tcp-flags SYN, FIN để thử bỏ qua fw.
  • sử dụng các loại quét khác ( http://nmap.org/book/man-port-scanning-techniques.html )

Cuốn sách " Nmap Network Discovery " xuất sắc , được viết bởi người sáng tạo Fyodor giải thích điều này rất rõ. Tôi trích dẫn

được lọc: Nmap không thể xác định xem cổng có mở hay không vì lọc gói ngăn chặn các đầu dò của nó tiếp cận cổng. Việc lọc có thể từ một thiết bị tường lửa chuyên dụng, quy tắc bộ định tuyến hoặc phần mềm tường lửa dựa trên máy chủ. Những cổng này làm nản lòng những kẻ tấn công vì chúng cung cấp rất ít thông tin. Đôi khi, họ phản hồi bằng các thông báo lỗi ICMP, chẳng hạn như mã 3 loại 13 (không thể truy cập đích: truyền thông bị cấm về mặt hành chính), nhưng các bộ lọc chỉ đơn giản là bỏ đầu dò mà không phản hồi thì phổ biến hơn nhiều. Điều này buộc Nmap phải thử lại nhiều lần chỉ trong trường hợp đầu dò bị hủy do tắc nghẽn mạng thay vì lọc. Kiểu lọc này làm chậm quá trình quét.

open | được lọc: Nmap đặt các cổng ở trạng thái này khi không thể xác định xem một cổng được mở hay được lọc. Điều này xảy ra đối với các kiểu quét trong đó các cổng mở không có phản hồi. Việc thiếu phản hồi cũng có thể có nghĩa là bộ lọc gói đã bỏ đầu dò hoặc bất kỳ phản hồi nào mà nó gợi ra. Vì vậy, Nmap không biết chắc chắn rằng cổng đang mở hay đang được lọc. Giao thức UDP, IP, FIN, NULL và Xmas phân loại các cổng theo cách này.

đã đóng | được lọc: Trạng thái này được sử dụng khi Nmap không thể xác định xem một cổng được đóng hay được lọc. Nó chỉ được sử dụng cho quét Idle IP ID được thảo luận trong Phần 5.10, "Quét nhàn rỗi TCP (-sl)


Vì vậy, làm thế nào để tôi mở cổng 22? Giả sử tôi đang sử dụng Tên miền Google ...
IgorGanapolsky

"Không lọc"? Chà, bạn không chặn lưu lượng truy cập đến 22 trên tường lửa của mình, do đó, nó sẽ không bị lọc ... Sau đó, bạn sẽ nhận được "mở" hoặc "đóng" dưới dạng trả lời cho thăm dò nmap
Florian Bidabe

Bạn đang quét cái gì?
Florian Bidabe

Tôi đang sử dụng lệnh này: sudo nmap -oG - -T4 -A -p22 -v pi.eazyigz.com | grep ssh
IgorGanapolsky

1
"-T4" là không cần thiết, đã được chỉ định trong "-A" ... liên quan đến đầu dò, sudo nmap ngụ ý rằng quét Syn được sử dụng (-sS). "-A" là phiên bản ngắn hơn của "-T4" + "- sV" + "- O". Nếu phát hiện dịch vụ (-sV) không phát hiện được máy chủ SSH, thì cổng đó có khả năng bị đóng (không nghe ssh) nếu không thì phải có một cái gì đó giữa máy khách và máy chủ của bạn kiểm tra đầu dò và thả các gói (tường lửa máy chủ, IDS, hoặc cấu hình sai các thiết bị mạng)
Florian Bidabe

10

tại sao cổng 21, 25 và 1863 xuất hiện dưới dạng "được lọc" và 2043 cổng khác không xuất hiện dưới dạng được lọc?

Bởi vì trong ISP, bộ định tuyến, quản trị viên mạng của bạn, bất kỳ thứ gì giữa chúng hoặc chính bạn đều lọc chúng. Các cổng này có một lịch sử khá tồi tệ, 1863 là cổng được sử dụng bởi giao thức nhắn tin tức thời của Microsoft (còn gọi là MSN và bạn bè) mà tôi tin rằng bạn có thể (hoặc không) đã đặt ra một quy tắc cụ thể. Cái SMTP có vẻ như ISP của bạn là thủ phạm và FTP khiến tôi hoàn toàn lúng túng, vì tôi không biết điều gì có thể xảy ra với họ.


1
cảm ơn đã giải thích Vì vậy, "được lọc" về cơ bản có nghĩa là tương đương với ĐỐI TƯỢNG của iptables ở đâu đó (ISP, bộ định tuyến, v.v.)? Và ISP / bộ định tuyến hoặc bất cứ điều gì là DỰ ÁN thay vì DROPping vì nó sạch hơn? Về cổng 25: nó cũng được lọc cho tôi, ví dụ như slashdot.org (khi tôi lập sơ đồ từ kết nối nhà của mình, nhưng không phải khi tôi lấy nó từ máy chủ chuyên dụng của mình).
Cedric Martin

6
@CedricMartin, bạn đã hiểu chính xác về phía sau. "Đã lọc" nghĩa là gói bị hủy (không trả lời gì), trong khi "đã đóng" nghĩa là gói bị từ chối (một câu trả lời "cổng không thể truy cập" của ICMP được gửi).
Đánh dấu

@Mark: sau đó nếu tôi nhận được câu hỏi ngược thì câu hỏi ban đầu của tôi là: trên máy chủ của tôi, sử dụng iptables , tôi sẽ bỏ mọi thứ ngoài cổng 22 và 80. Làm thế nào chỉ có 3 cổng xuất hiện dưới dạng "được lọc"!?
Cedric Martin

@CedricMartin chỉnh sửa câu hỏi của bạn và thêm quy tắc iptables của bạn.
Braiam

1

Theo mặc định, Nmap chỉ quét 1.000 cổng phổ biến nhất cho mỗi giao thức (tcp, udp). Nếu cổng của bạn ở ngoài đó thì nó sẽ không quét và do đó sẽ không báo cáo. Tuy nhiên, bạn có thể chỉ định các cổng bạn muốn quét với tùy chọn -p.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.