UFW là gì? Cách cấu hình firewall cơ bản cho Ubuntu VPS

UFW là lớp tường lửa đơn giản trên Ubuntu, giúp bạn cho phép hoặc chặn kết nối vào VPS theo từng cổng. Với VPS mới, việc quan trọng nhất là cho phép SSH trước khi bật UFW, sau đó mở thêm HTTP/HTTPS nếu chạy website để tránh tự khóa quyền truy cập.

UFW là gì? Cách cấu hình firewall cơ bản cho Ubuntu VPS

Nếu VPS là một căn phòng đặt server, UFW giống như cánh cửa có danh sách ai được phép đi vào. Tôi thường khuyên người mới cấu hình UFW sớm, nhưng không làm vội. Chỉ cần sai thứ tự ở bước SSH, bạn có thể tự khóa mình khỏi VPS.

Bài này đi theo hướng thực dụng: mở đúng cổng cần dùng, hiểu vì sao port chưa vào được, và biết cách kiểm tra trước khi đóng phiên SSH cũ.

UFW là gì và vì sao nên dùng trên Ubuntu VPS?

UFW, viết tắt của Uncomplicated Firewall, là công cụ quản lý firewall đơn giản trên Ubuntu. Bên dưới UFW vẫn là hệ thống lọc gói của Linux, nhưng cú pháp được làm gọn để bạn không phải viết rule phức tạp ngay từ đầu.

Với một VPS chạy website, UFW giúp giảm bề mặt tấn công. Thay vì để mọi cổng có thể bị dò, bạn chỉ mở những cổng thật sự cần: SSH để quản trị, HTTP/HTTPS để người dùng truy cập website, và một vài cổng đặc biệt nếu ứng dụng của bạn cần.

Nếu bạn vẫn đang ở giai đoạn chọn máy chủ, bài VPS là gìVPS Linux là gì sẽ giúp bạn nắm nền trước khi đi sâu vào bảo mật.

Nên chuẩn bị gì trước khi bật UFW?

Điểm tôi muốn nhấn mạnh là: đừng bật firewall trước rồi mới nghĩ đến SSH. Bạn cần biết mình đang đăng nhập qua cổng nào. VPS mặc định thường dùng port 22, nhưng nhiều người đã đổi sang port riêng.

  • Giữ phiên SSH hiện tại đang mở, chưa thoát vội.
  • Biết chính xác port SSH đang dùng.
  • Nếu chạy web, xác định có cần mở 80 và 443 không.
  • Nếu nhà cung cấp có cloud firewall, kiểm tra lớp đó nữa.
Quy trình bật UFW an toàn trên Ubuntu VPS
Thứ tự an toàn là cho phép SSH trước, sau đó mới bật UFW và kiểm tra lại bằng phiên SSH mới.

Cách cấu hình UFW cơ bản trên Ubuntu như thế nào?

Trên Ubuntu, UFW thường có sẵn. Nếu chưa có, bạn có thể cài bằng apt. Các lệnh dưới đây chỉ là mẫu cơ bản, bạn cần thay port SSH nếu VPS của bạn đang dùng port khác.

sudo apt update
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

Nếu SSH của bạn không dùng port 22, đừng chạy allow OpenSSH một cách máy móc. Hãy mở đúng port, ví dụ:

sudo ufw allow 2222/tcp

Sau khi bật UFW, hãy mở một cửa sổ terminal mới và thử đăng nhập lại. Khi phiên mới vào được bình thường, bạn mới nên đóng phiên cũ.

Cổng nào nên mở cho website WordPress trên VPS?

Với website WordPress thông thường, bạn chỉ cần mở 80 và 443 cho người dùng truy cập web. Port database như MySQL/MariaDB không nên mở ra Internet nếu database nằm cùng VPS với website.

Nhu cầu Cổng thường dùng Ghi chú
SSH quản trị 22 hoặc port riêng Nên giới hạn IP nếu có thể
HTTP 80/tcp Dùng cho web và cấp SSL ban đầu
HTTPS 443/tcp Cổng chính sau khi có SSL
Database nội bộ 3306 Không mở public nếu không bắt buộc

Nếu bạn đang chọn cấu hình cho website mới, bài cách chọn cấu hình VPS sẽ hợp hơn là mở port theo cảm tính. Firewall chỉ an toàn khi bạn hiểu ứng dụng nào thật sự cần lắng nghe từ Internet.

Vì sao đã mở UFW nhưng port vẫn chưa truy cập được?

Đây là lỗi rất hay gặp. Mở UFW không có nghĩa ứng dụng đã chạy. Một cổng chỉ truy cập được khi cả ba lớp cùng đúng: ứng dụng đang listen, UFW cho phép, và firewall bên ngoài không chặn.

Ba lớp cần kiểm tra khi mở port trên VPS Ubuntu
Khi port chưa vào được, hãy kiểm tra ứng dụng, UFW và firewall của nhà cung cấp thay vì chỉ nhìn một lớp.
sudo ss -tulpn
sudo ufw status numbered
curl -I http://your-domain.com

Nếu dịch vụ chỉ listen ở 127.0.0.1, bên ngoài sẽ không truy cập được dù UFW đã cho phép. Nếu dịch vụ listen đúng nhưng vẫn không vào, lúc đó mới kiểm tra cloud firewall hoặc reverse proxy.

Khi nào nên dùng rule giới hạn IP?

Nếu bạn có IP cố định, hãy giới hạn SSH theo IP. Đây là một lớp bảo vệ rất đáng làm, đặc biệt với VPS chạy website công khai. Ví dụ:

sudo ufw allow from 203.0.113.10 to any port 22 proto tcp

Nếu IP mạng của bạn thay đổi liên tục, đừng khóa quá chặt ngay từ đầu. Bạn có thể kết hợp SSH key, mật khẩu mạnh, và sau này dùng thêm Fail2Ban để giảm brute force.

Gợi ý cấu hình UFW an toàn cho người mới

Với VPS web cơ bản, tôi thường bắt đầu bằng cấu hình tối giản: deny incoming, allow outgoing, mở SSH, 80, 443. Sau đó mỗi khi cài thêm dịch vụ, tôi mới mở thêm port theo nhu cầu thật.

Gợi ý nhanh: nếu mục tiêu của bạn là chạy website cho khách Việt Nam, hãy ưu tiên VPS gần người dùng, cấu hình đủ RAM và firewall gọn. Bạn có thể xem thêm hướng dẫn thuê VPS Việt Nam để hiểu khi nào server trong nước có lợi.

Câu hỏi thường gặp về UFW trên Ubuntu VPS

Bật UFW có làm mất kết nối SSH không?

Có thể, nếu bạn chưa cho phép cổng SSH trước khi chạy lệnh ufw enable. Vì vậy hãy luôn chạy ufw allow OpenSSH hoặc allow đúng port SSH riêng trước, sau đó mở một phiên SSH mới để kiểm tra.

UFW có thay thế firewall của nhà cung cấp VPS không?

Không hoàn toàn. UFW là firewall bên trong hệ điều hành Ubuntu; một số nhà cung cấp còn có cloud firewall riêng ở lớp hạ tầng. Khi debug port, bạn nên kiểm tra cả ứng dụng, UFW và firewall của nhà cung cấp.

Website WordPress trên VPS cần mở cổng nào?

Thông thường cần mở 80 cho HTTP và 443 cho HTTPS. Cổng SSH chỉ nên mở cho quản trị, tốt nhất giới hạn IP nếu bạn có IP cố định.

Có nên deny toàn bộ incoming bằng UFW không?

Có, đây là mặc định an toàn cho VPS web: deny incoming, allow outgoing, rồi chỉ mở các cổng thực sự cần thiết như SSH, 80 và 443.

Làm sao biết UFW đang chặn cổng nào?

Bạn có thể dùng ufw status verbose để xem rule, ss -tulpn để xem ứng dụng có listen chưa, và curl hoặc nc từ máy khác để kiểm tra kết nối thực tế.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *