Cách kiểm tra các cổng đang mở trên Linux

How Check Open Ports Linux



Kiểm tra các cổng đang mở là một trong những bước đầu tiên để bảo mật thiết bị của bạn. Các dịch vụ lắng nghe có thể là lối vào cho những kẻ tấn công có thể khai thác các lỗ hổng của dịch vụ để truy cập hoặc làm gián đoạn hệ thống. Dịch vụ lắng nghe hoặc cổng lắng nghe là một cổng mở với một ứng dụng đang chờ một ứng dụng khách kết nối (ví dụ: máy chủ FTP đang chờ một ứng dụng khách FTP) Không nên giữ máy chủ web chạy nếu bạn không phục vụ một trang web, cũng không để giữ cho cổng 22 luôn mở nếu bạn không sử dụng ssh. Hướng dẫn này chỉ ra cách kiểm tra các cổng đang mở cả từ xa và cục bộ cũng như cách đóng chúng.

Lệnh netstat hiện diện trên tất cả hệ điều hành máy tính (Hệ điều hành) để giám sát các kết nối mạng. Lệnh sau sử dụng netstat để hiển thị tất cả các cổng lắng nghe bằng giao thức TCP:







netstat -lt



Ở đâu:
netstat: gọi chương trình.
-NS: liệt kê các cổng nghe.
-NS: chỉ định giao thức TCP.



Đầu ra thân thiện với con người, được sắp xếp theo thứ tự trong các cột hiển thị giao thức, các gói đã nhận và gửi, địa chỉ IP cục bộ và từ xa và trạng thái cổng.





Nếu bạn thay đổi giao thức TCP cho UDP, kết quả, ít nhất là trên Linux, sẽ chỉ hiển thị các cổng đang mở mà không chỉ định trạng thái vì trái với giao thức TCP, giao thức UDP là không trạng thái .

netstat -lu



Bạn có thể tránh chỉ định giao thức và chỉ sử dụng tùy chọn -l hoặc –listen để nhận thông tin về tất cả các cổng đang lắng nghe độc ​​lập với giao thức:

netstat --nghe

Tùy chọn trên sẽ hiển thị thông tin cho các giao thức ổ cắm TCP, UDP và Unix.

Tất cả các ví dụ trên cho thấy cách in thông tin trên các cổng lắng nghe mà không có kết nối được thiết lập. Lệnh sau cho biết cách hiển thị các cổng lắng nghe và kết nối đã thiết lập:

netstat -nước

Ở đâu:
netstat: gọi chương trình
-v: độ dài
-đến: hiển thị các kết nối đang hoạt động.
-NS: hiển thị các kết nối tcp
-n: hiển thị các cổng ở dạng giá trị số

Giả sử bạn đã xác định được một quy trình đáng ngờ trong hệ thống của mình và bạn muốn kiểm tra các cổng được liên kết với nó. Bạn có thể sử dụng lệnh lsof được sử dụng để liệt kê các tệp đang mở được liên kết với các quy trình.

lsof-tôi 4 -đến -P <Quy trình-Số>

Trong ví dụ tiếp theo, tôi sẽ kiểm tra quy trình 19327:

lsof-tôi 4 -đến -P 19327

Ở đâu:
lsof : gọi chương trình
-tôi: liệt kê các tệp tương tác với internet, tùy chọn 4 hướng dẫn chỉ in IPv4, tùy chọn 6 có sẵn cho IPv6.
-đến: chỉ thị đầu ra là ANDed.
-P: chỉ định số PID của quá trình bạn muốn kiểm tra.

Như bạn thấy, quá trình này được liên kết với cổng smtp đang nghe.

Cách kiểm tra các cổng đang mở trên Linux từ xa


Nếu bạn muốn phát hiện các cổng trên một hệ thống từ xa, công cụ được sử dụng rộng rãi nhất là Nmap (Network Mapper). Ví dụ sau cho thấy một lần quét cổng duy nhất chống lại Linuxhint.com:

nmaplinuxhint.com

Đầu ra được sắp xếp theo 3 cột hiển thị cổng, trạng thái cổng và dịch vụ đang lắng nghe phía sau cổng.

Không được hiển thị:988đóng cổng
DỊCH VỤ NHÀ NƯỚC CỔNG
22/tcp mởssh
25/tcp mở smtp
80/tcp mở http
161/tcp lọc snmp
443/tcp mở https
1666/tcp lọc netview-aix-6
1723/tcp lọc pptp
6666/tcp lọc irc
6667/tcp lọc irc
6668/tcp lọc irc
6669/tcp lọc irc
9100/tcp đã lọc jetdirect

Theo mặc định, nmap chỉ quét 1000 cổng phổ biến nhất. Nếu bạn muốn nmap quét tất cả các cổng đang chạy:

nmap -P-linuxhint.com

Tại Những bài viết liên quan phần của hướng dẫn này, bạn có thể tìm thấy các hướng dẫn bổ sung về Nmap để quét các cổng và mục tiêu với nhiều tùy chọn bổ sung.

Xóa các dịch vụ trên Debian 10 buster

Ngoài ra đối với các quy tắc tường lửa để giữ cho các cổng của bạn bị chặn, việc loại bỏ các dịch vụ không cần thiết được khuyến khích. Trong Debian 10 Buster, điều này có thể đạt được với apt.
Ví dụ sau đây cho thấy cách loại bỏ dịch vụ Apache 2 bằng apt:

apt gỡ bỏ apache2

Nếu được yêu cầu bấm để kết thúc việc loại bỏ.

Cách đóng các cổng đang mở trên Linux bằng UFW

Nếu bạn thấy các cổng đang mở mà bạn không cần phải mở, giải pháp đơn giản nhất là đóng nó bằng cách sử dụng UFW (Tường lửa không phức tạp)
Có hai cách để chặn một cổng, bằng cách sử dụng tùy chọn từ chối và với tùy chọn Từ chối , sự khác biệt là lệnh từ chối sẽ thông báo cho bên thứ hai rằng kết nối đã bị từ chối.

Để chặn cổng 22 bằng quy tắc từ chối chỉ cần chạy:

ufw từ chối22

Để chặn cổng 22 bằng quy tắc Từ chối chỉ cần chạy:

ufw từ chối22

Trên Những bài viết liên quan ở cuối hướng dẫn này, bạn có thể tìm thấy một hướng dẫn hay về Tường lửa không phức tạp.

Cách đóng các cổng đang mở trên Linux bằng iptables

Trong khi UFW là cách dễ nhất để quản lý các cổng, nó là một giao diện người dùng cho Iptables.
Ví dụ sau đây cho thấy cách từ chối kết nối với cổng 22 bằng iptables:

iptables-TÔIĐẦU VÀO-Ptcp--dport 22 -NSTỪ CHỐI

Quy tắc trên hướng dẫn từ chối tất cả các kết nối tcp đến (INPUT) đến cổng đích (dport) 22. Bị từ chối nguồn sẽ được thông báo kết nối đã bị từ chối.

Quy tắc sau chỉ loại bỏ tất cả các gói mà không thông báo cho nguồn là kết nối đã bị từ chối:

iptables-ĐẾNĐẦU VÀO-Ptcp--dport 22 -NSRƠI VÃI

Tôi hy vọng bạn thấy hướng dẫn ngắn gọn này hữu ích. Tiếp tục theo dõi LinuxHint để biết các cập nhật và mẹo bổ sung về Linux và Mạng.

Những bài viết liên quan:

  • Làm việc với UFW (Tường lửa không phức tạp)
  • Hướng dẫn khái niệm cơ bản về NMAP
  • Cách liệt kê các cổng đang mở trong Firewalld
  • Quét mạng Nmap
  • Cài đặt và sử dụng Zenmap (Nmap GUI) trên Ubuntu và Debian
  • Nmap: quét dải IP
  • Sử dụng tập lệnh nmap: lấy biểu ngữ Nmap
  • 30 Nmap ví dụ