Bạn vừa dựng xong một VPS mới và không chắc cổng nào đang "mở toang" ra Internet. SSH ở cổng 22 thì biết rồi, nhưng MySQL cổng 3306 có đang lộ không? Cổng 8080 của service test hôm qua có ai tắt chưa? Mỗi cổng mở thừa là một điểm mà bot quét tự động có thể thử khai thác — và kiểm tra cổng là bước đầu tiên trong mọi quy trình rà soát bảo mật server.

Bài này hướng dẫn bạn quét cổng đang mở, hiểu cổng nào thật sự cần thiết và cổng nào nên đóng, rồi xác nhận lại sau khi điều chỉnh firewall.

Lưu ý quan trọng: chỉ quét IP hoặc tên miền của chính bạn sở hữu hoặc được phép kiểm tra. Quét hệ thống của người khác mà không có ủy quyền là hành vi vi phạm pháp luật về an ninh mạng.

Kiểm tra nhanh: nhập IP server của bạn vào công cụ quét cổng để xem ngay cổng nào đang mở. Không cần đăng nhập.

Vì sao cổng mở thừa lại nguy hiểm?

Mỗi dịch vụ mạng trên server "lắng nghe" ở một cổng (port) — một con số từ 0 đến 65535. Trình duyệt kết nối web qua cổng 80 và 443, SSH qua cổng 22, MySQL qua cổng 3306. Khi một dịch vụ đang chạy và cổng mở ra Internet, bất kỳ ai cũng có thể kết nối thử — kể cả bot quét tự động hoạt động 24/7.

Một số cổng đặc biệt nguy hiểm nếu để mở công khai:

CongDich vuRui ro neu mo cong khai22SSHBrute-force mật khẩu liên tục nếu không có key-only3306MySQLDatabase lộ trực tiếp ra Internet5432PostgreSQLTương tự MySQL6379RedisThường không có xác thực mặc định — nguy cơ rất cao27017MongoDBTương tự Redis8080, 8888HTTP thay thếThường là môi trường dev chưa được bảo vệ

Nguyên tắc đơn giản: chỉ mở cổng nào thật sự cần thiết, và giới hạn truy cập theo IP nguồn nếu có thể — ví dụ SSH chỉ cho IP văn phòng hoặc VPN của bạn.

4 bước kiểm tra và vệ sinh cổng mở

Bước 1 — Xác nhận IP server trước khi quét

Trước khi quét, hãy chắc chắn bạn đang nhập đúng IP server cần kiểm tra — không nhầm với IP khác. Với server VPS hoặc dedicated, dùng IP public được cấp từ nhà cung cấp hosting (ví dụ 103.x.x.x).

👉 Xem IP: công cụ xem địa chỉ IP (nếu cần xem IP public hiện tại của máy bạn; với server thì dùng IP được giao từ nhà cung cấp).

Nếu không chắc IP nào là của server mình, hãy đăng nhập vào bảng điều khiển (control panel) của nhà cung cấp hosting để xem — không nên đoán mò vì quét nhầm IP của người khác là vi phạm pháp luật.

Bước 2 — Quét cổng và đọc kết quả

Nhập IP server vào công cụ quét cổng. Kết quả sẽ liệt kê các cổng đang mở (open), đóng (closed) hoặc bị lọc (filtered) bởi firewall.

👉 Quét cổng: công cụ quét cổng (quét dải cổng phổ biến, hiển thị trạng thái open/closed/filtered).

Ví dụ: quét 103.x.x.x và thấy kết quả:

  • Cổng 22 (SSH): open — cần giữ, nhưng nên cấu hình key-only và giới hạn IP.

  • Cổng 80, 443 (HTTP/HTTPS): open — bình thường cho web server.

  • Cổng 3306 (MySQL): open — cần đóng ngay, đây là lỗ hổng nghiêm trọng.

  • Cổng 6379 (Redis): filtered — firewall đang chặn, ổn hơn nhưng vẫn nên tắt dịch vụ nếu không dùng.

  • Cổng 8080: open — service test từ hôm qua chưa tắt, cần xem lại.

Lỗi hay gặp:

  • Thấy filtered rồi nghĩ "an toàn rồi": filtered chỉ nghĩa là firewall đang chặn, không có nghĩa dịch vụ đã tắt. Nếu firewall bị reset hoặc cấu hình sai, cổng có thể mở trở lại. Vẫn nên tắt dịch vụ không cần thiết song song với giữ firewall — bảo vệ theo chiều sâu.

  • Nghĩ rằng quét cổng có thể làm hỏng server: công cụ chỉ thực hiện kết nối TCP thăm dò thụ động — không gửi payload, không thay đổi bất kỳ cấu hình nào trên server của bạn.

Bước 3 — Ping để xác nhận server còn phản hồi sau khi điều chỉnh firewall

Sau khi bạn đóng cổng thừa (thông qua iptables, ufw, hoặc security group của nhà cung cấp), hãy ping để xác nhận server vẫn sống và kết nối vẫn thông — tránh trường hợp vô tình chặn luôn cổng cần thiết.

👉 Ping: công cụ ping (xác nhận server còn phản hồi, RTT vẫn ổn sau khi thay đổi firewall).

Ví dụ: sau khi thêm rule ufw deny 3306, ping đến IP server vẫn phản hồi bình thường — xác nhận chưa chặn nhầm cổng SSH hay HTTP.

Lỗi hay gặp:

  • Đóng nhầm cổng SSH (22) từ xa: đây là lỗi kinh điển khiến bạn bị "khóa ngoài" server. Luôn mở một session SSH thứ hai dự phòng trước khi thay đổi rule firewall, và test rule mới trong session dự phòng đó trước khi lưu lại.

  • Chỉ đóng trên firewall mà không tắt dịch vụ: nếu dịch vụ (ví dụ MySQL) vẫn chạy và lắng nghe, khi firewall bị reset sau khởi động lại server thì cổng lại mở ra. Nên dừng dịch vụ không cần thiết bằng systemctl stopsystemctl disable để không tự chạy lại.

Bước 4 — Tra thêm thông tin IP để xác nhận đúng server

Nếu quét một IP và thấy kết quả không như kỳ vọng (cổng lạ đang mở hoặc đóng), hãy tra thêm thông tin để xác nhận đó đúng là server của bạn trước khi ra quyết định.

👉 Tra IP: công cụ tra cứu thông tin IP (tổ chức sở hữu IP, ASN, vị trí địa lý — để xác nhận đây đúng là IP hosting của bạn).

Ví dụ: bạn nhận IP 103.x.x.x từ nhà cung cấp, tra ra ASN 135967 (BKNS) tại Việt Nam — xác nhận đúng server BKNS. Nếu tra ra tổ chức khác hoặc vị trí bất ngờ thì có thể nhầm IP — dừng lại và kiểm tra lại nguồn IP từ control panel.

Sau khi đóng cổng thừa, xác nhận thế nào?

Chạy lại quét cổng sau khi điều chỉnh:

  • Cổng vừa đóng bằng firewall sẽ hiển thị là filtered — đúng như mong muốn.

  • Cổng vừa tắt dịch vụ sẽ hiển thị là closed — còn tốt hơn, không cần firewall để chặn.

  • Cổng cần thiết (80/443 và SSH) vẫn open — xác nhận chưa chặn nhầm.

Thói quen tốt là chạy quét cổng mỗi khi cài thêm phần mềm mới lên server. Nhiều package tự mở cổng khi cài xong mà không thông báo — ví dụ MySQL, MongoDB, các admin web panel như phpMyAdmin hay Portainer. Chạy quét cổng định kỳ giúp bạn phát hiện những cổng mở "ngoài kế hoạch" này sớm.

Câu hỏi thường gặp (FAQ)

Quét cổng server của người khác có bị gì không? Có. Quét hệ thống của người khác mà không có ủy quyền bị xem là hành vi xâm phạm hệ thống theo luật an ninh mạng Việt Nam. Chỉ quét IP bạn sở hữu hoặc được chủ sở hữu ủy quyền bằng văn bản.

Cổng 22 SSH nên đóng hay giữ? Nên giữ mở nhưng hạn chế theo IP nguồn (chỉ IP văn phòng hoặc VPN) và bắt buộc dùng SSH key thay vì mật khẩu. Nếu phải mở công khai, cân nhắc đổi sang cổng phi chuẩn (ví dụ 2222) kết hợp fail2ban để giảm brute-force tự động.

Có những cổng nào nhất thiết phải mở công khai? Với web server thông thường, chỉ cần 80 (HTTP)443 (HTTPS). Tất cả cổng còn lại — kể cả SSH — nên giới hạn theo IP hoặc đi qua VPN nếu có thể. Cổng database (3306, 5432, 6379) không bao giờ nên mở ra Internet.

Cổng filtered có nghĩa là gì? Firewall đang chặn kết nối đến cổng đó — tốt hơn open, nhưng dịch vụ bên trong vẫn có thể đang chạy. Kết hợp cả hai: tắt dịch vụ không cần thiết bằng systemctl disable giữ firewall để bảo vệ theo chiều sâu phòng trường hợp cấu hình bị thay đổi.


BKNS Tools — bộ công cụ kiểm tra bảo mật server miễn phí cho sysadmin Việt. Quét cổng · Ping · Xem địa chỉ IP · Tra cứu thông tin IP — không cần đăng nhập.