UFW là gì? Tất tần tật chi tiết cách sử dụng UFW Firewall trên Linux VPS

UFW là gì? Tất tần tật chi tiết cách sử dụng UFW Firewall trên Linux VPS

UFW là gì? Tất tần tật chi tiết cách sử dụng UFW Firewall trên Linux VPS

Khi vận hành Cloud VPS, máy chủ Linux hoặc server doanh nghiệp, bảo mật cổng mạng là việc bắt buộc phải làm ngay từ đầu. Một VPS mới cài đặt nếu mở quá nhiều port ra Internet có thể bị scan, brute-force SSH, dò database, tấn công dịch vụ web hoặc khai thác lỗ hổng phần mềm.

UFW là công cụ firewall đơn giản, dễ dùng và rất phổ biến trên Ubuntu/Debian. Với UFW, bạn có thể mở port, chặn port, giới hạn IP truy cập SSH, bật/tắt firewall, xem log và quản lý rule chỉ bằng vài dòng lệnh.

Mục lục bài viết
  1. UFW là gì?
  2. UFW hoạt động như thế nào?
  3. Khi nào nên dùng UFW trên VPS?
  4. Yêu cầu CPU/RAM/NVMe khi dùng UFW
  5. Cài đặt UFW trên Ubuntu/Debian
  6. Các lệnh UFW cơ bản cần biết
  7. Mở port bằng UFW
  8. Chặn port và chặn IP bằng UFW
  9. Giới hạn SSH để chống brute-force
  10. Xóa rule, reset và xem trạng thái UFW
  11. Cấu hình UFW cho website, database, Docker, mail server
  12. Bật log UFW và kiểm tra truy cập
  13. Lỗi thường gặp khi dùng UFW
  14. CloudX hỗ trợ cấu hình Firewall VPS

1. UFW là gì?

UFW là viết tắt của Uncomplicated Firewall, nghĩa là firewall đơn giản hóa. Đây là công cụ giúp quản trị viên Linux cấu hình tường lửa dễ hơn so với thao tác trực tiếp với iptables hoặc nftables.

UFW thường được dùng để:

  • Mở port cho website.
  • Mở port SSH.
  • Chặn IP lạ.
  • Giới hạn IP truy cập database.
  • Chặn truy cập không mong muốn.
  • Bảo vệ VPS khỏi scan port cơ bản.
  • Giảm rủi ro brute-force SSH.
Note: UFW không thay thế toàn bộ giải pháp bảo mật chuyên sâu như WAF, Anti-DDoS, IDS/IPS, nhưng là lớp bảo vệ cơ bản rất cần thiết cho mọi VPS Linux.

2. UFW hoạt động như thế nào?

UFW hoạt động bằng cách tạo các rule cho firewall của hệ điều hành. Khi có kết nối đi vào VPS, UFW sẽ kiểm tra rule và quyết định:

  • Cho phép kết nối.
  • Từ chối kết nối.
  • Chặn kết nối.
  • Ghi log kết nối.

Mô hình cơ bản:

Internet
   |
   | Request đến VPS
   |
UFW Firewall
   |
   | Nếu rule cho phép
   v
Dịch vụ SSH / Web / Database / App

3. Khi nào nên dùng UFW trên VPS?

Bạn nên bật UFW khi VPS chạy:

  • Website WordPress.
  • Nginx/Apache.
  • Docker.
  • n8n.
  • GitLab.
  • PostgreSQL/MySQL.
  • Redis.
  • Grafana/Prometheus.
  • Canvas LMS.
  • BigBlueButton.
  • AI Chatbot.

Nguyên tắc bảo mật rất đơn giản:

Chỉ mở port thật sự cần thiết, còn lại đóng hết.

4. Yêu cầu CPU/RAM/NVMe khi dùng UFW

UFW rất nhẹ, gần như không tiêu tốn nhiều tài nguyên. Tuy nhiên với VPS nhiều kết nối, firewall log nhiều hoặc có nhiều rule phức tạp, bạn vẫn nên có cấu hình phù hợp.

Nhu cầu CPU RAM NVMe Ghi chú
VPS nhỏ / website cá nhân 1-2 vCPU 1-2 GB 20-40 GB UFW chạy rất nhẹ
Website doanh nghiệp 2-4 vCPU 4-8 GB 40-80 GB NVMe Nên bật log vừa phải
Docker / nhiều service 4-8 vCPU 8-16 GB 100 GB NVMe Cần kiểm tra rule Docker
Hệ thống production lớn 8 vCPU+ 16 GB+ 200 GB NVMe+ Nên kết hợp Cloud Firewall, WAF, Anti-DDoS
Note: UFW nhẹ nhưng log firewall có thể tăng dung lượng ổ cứng theo thời gian. Với VPS production, nên giám sát dung lượng log định kỳ.

5. Cài đặt UFW trên Ubuntu/Debian

Trên Ubuntu, UFW thường đã được cài sẵn. Kiểm tra phiên bản:

sudo ufw version

Nếu chưa có, cài bằng lệnh:

sudo apt update
sudo apt install -y ufw

Kiểm tra trạng thái:

sudo ufw status

6. Các lệnh UFW cơ bản cần biết

Lệnh Ý nghĩa
sudo ufw status Xem trạng thái firewall
sudo ufw status verbose Xem trạng thái chi tiết
sudo ufw status numbered Xem rule kèm số thứ tự
sudo ufw enable Bật UFW
sudo ufw disable Tắt UFW
sudo ufw reset Reset toàn bộ rule
sudo ufw reload Tải lại cấu hình UFW

7. Mở port bằng UFW

Mở SSH

Trước khi bật UFW, luôn mở SSH để tránh tự khóa mình khỏi VPS:

sudo ufw allow OpenSSH

Hoặc mở port SSH cụ thể:

sudo ufw allow 22/tcp

Mở website HTTP/HTTPS

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Hoặc dùng profile:

sudo ufw allow "Nginx Full"
sudo ufw allow "Apache Full"

Mở port ứng dụng riêng

sudo ufw allow 3000/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 9000/tcp

Mở port UDP

sudo ufw allow 1194/udp

8. Chặn port và chặn IP bằng UFW

Chặn một port

sudo ufw deny 3306/tcp

Chặn một IP

sudo ufw deny from 192.168.1.100

Chặn IP truy cập một port cụ thể

sudo ufw deny from 192.168.1.100 to any port 22 proto tcp

Chỉ cho một IP truy cập SSH

sudo ufw allow from YOUR_ADMIN_IP to any port 22 proto tcp
Warning: Khi giới hạn SSH theo IP, hãy chắc chắn IP quản trị của bạn là IP tĩnh. Nếu IP thay đổi, bạn có thể không SSH được vào VPS.

9. Giới hạn SSH để chống brute-force

UFW có lệnh limit giúp giới hạn số lần kết nối tới SSH:

sudo ufw limit OpenSSH

Hoặc:

sudo ufw limit 22/tcp

Lệnh này giúp giảm rủi ro brute-force SSH cơ bản.

Note: Với VPS public Internet, nên kết hợp UFW với SSH key, đổi port SSH nếu cần và dùng Fail2ban để chặn brute-force tốt hơn.

10. Xóa rule, reset và xem trạng thái UFW

Xem rule theo số thứ tự

sudo ufw status numbered

Xóa rule theo số

sudo ufw delete 3

Xóa rule theo nội dung

sudo ufw delete allow 80/tcp

Reset toàn bộ UFW

sudo ufw reset

Bật lại UFW sau khi cấu hình

sudo ufw enable

11. Cấu hình UFW cho website, database, Docker, mail server

Website Nginx/Apache

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

PostgreSQL chỉ cho IP nội bộ truy cập

sudo ufw allow from 10.10.10.5 to any port 5432 proto tcp

MySQL/MariaDB chỉ cho IP app server truy cập

sudo ufw allow from 10.10.10.6 to any port 3306 proto tcp

Redis chỉ cho localhost hoặc private IP

sudo ufw deny 6379/tcp
sudo ufw allow from 10.10.10.7 to any port 6379 proto tcp

Grafana chỉ cho IP quản trị truy cập

sudo ufw allow from YOUR_ADMIN_IP to any port 3000 proto tcp

Prometheus và Node Exporter

sudo ufw allow from YOUR_MONITORING_IP to any port 9090 proto tcp
sudo ufw allow from YOUR_MONITORING_IP to any port 9100 proto tcp

Mail server cơ bản

sudo ufw allow 25/tcp
sudo ufw allow 465/tcp
sudo ufw allow 587/tcp
sudo ufw allow 993/tcp
sudo ufw allow 995/tcp
Warning: Không nên mở database như MySQL, PostgreSQL, Redis trực tiếp ra Internet nếu không có lý do thật sự cần thiết.

12. UFW và Docker cần lưu ý gì?

Docker có thể tự tạo rule iptables riêng, đôi khi làm lưu lượng container bypass qua UFW nếu không cấu hình kỹ.

Khi dùng Docker trên VPS, bạn nên:

  • Không publish port container ra 0.0.0.0 nếu không cần.
  • Bind dịch vụ nội bộ vào 127.0.0.1.
  • Dùng Nginx Reverse Proxy cho ứng dụng web.
  • Chỉ mở 80/443 public.
  • Kiểm tra rule iptables sau khi chạy container.

Ví dụ chỉ bind app vào localhost:

docker run -d -p 127.0.0.1:3000:3000 your-app-image

13. Bật log UFW và kiểm tra truy cập

Bật log

sudo ufw logging on

Bật log mức thấp

sudo ufw logging low

Tắt log

sudo ufw logging off

Xem log UFW

sudo tail -f /var/log/ufw.log

Xem log hệ thống liên quan UFW

sudo journalctl -u ufw

14. Lỗi thường gặp khi dùng UFW

Lỗi Nguyên nhân Cách xử lý
Bật UFW xong mất SSH Chưa mở port SSH Mở OpenSSH trước khi enable
Website không truy cập được Chưa mở port 80/443 Allow 80/tcp và 443/tcp
Database không kết nối được UFW đang chặn port database Allow đúng IP nguồn
Docker vẫn public port dù UFW chặn Docker tạo iptables riêng Bind localhost hoặc cấu hình firewall nâng cao
Log quá nhiều Bật logging mức cao Chuyển logging low hoặc tắt log

15. Checklist cấu hình UFW an toàn cho VPS mới

sudo apt update
sudo apt install -y ufw

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
Note: Đây là cấu hình cơ bản phù hợp cho VPS chạy website. Với các hệ thống phức tạp hơn như GitLab, BigBlueButton, VPN, mail server, Docker hoặc Kubernetes, cần mở port theo từng dịch vụ cụ thể.

16. CloudX hỗ trợ cấu hình Firewall VPS chuyên nghiệp

CloudX - Bảo mật Cloud VPS từ lớp Firewall đầu tiên

CloudX hỗ trợ doanh nghiệp cấu hình firewall và bảo mật VPS Linux chuyên nghiệp:

  • Cài đặt và cấu hình UFW.
  • Giới hạn SSH theo IP.
  • Mở port an toàn cho website, database, Docker.
  • Cấu hình Fail2ban chống brute-force.
  • Cấu hình Cloud Firewall.
  • Giám sát truy cập bất thường.
  • Backup và kiểm tra bảo mật định kỳ.
  • Tối ưu bảo mật cho WordPress, GitLab, n8n, Canvas LMS, BigBlueButton.

Ưu điểm CloudX:

  • Cloud VPS NVMe tốc độ cao.
  • Hạ tầng ổn định.
  • Hỗ trợ kỹ thuật chuyên sâu.
  • Phù hợp website, phần mềm, AI, LMS, DevOps, doanh nghiệp.

Hotline/Zalo: 0983.357.585

Kết luận

UFW là công cụ firewall đơn giản nhưng rất hữu ích cho mọi VPS Linux. Chỉ với vài lệnh cơ bản, bạn có thể kiểm soát port, chặn IP, giới hạn SSH, bảo vệ database và giảm đáng kể rủi ro bị tấn công từ Internet.

Nếu bạn đang vận hành Cloud VPS, hãy cấu hình UFW ngay từ đầu theo nguyên tắc: chỉ mở port cần thiết, giới hạn truy cập quản trị và theo dõi log định kỳ.

Tags: UFW, UFW là gì, UFW Firewall, Ubuntu Firewall, Linux Firewall, mở port UFW, chặn IP UFW, bảo mật VPS, Cloud VPS NVMe, Firewall VPS, CloudX.

BÀI VIẾT CÙNG CHUYÊN MỤC

Hướng Dẫn Sửa Lỗi Không Extend Được Ổ C Trên Windows Server 2025 Do Vướng Phân Vùng Recovery
Hướng Dẫn Sửa Lỗi Không Extend Được Ổ C Trên Windows ...

Hướng Dẫn Sửa Lỗi Không Extend Được Ổ C Trên Windows Server 2025 Do Vướng Phân ...

Cảnh Báo Đỏ: Chiến Dịch FortiBleed Rò Rỉ Hàng Chục Nghìn Thông Tin Quản Trị Tường Lửa Fortinet
Cảnh Báo Đỏ: Chiến Dịch FortiBleed Rò Rỉ Hàng Chục ...

Cảnh Báo Đỏ: Chiến Dịch FortiBleed Rò Rỉ Hàng Chục Nghìn Thông Tin Quản Trị ...

Không copy được giữa máy Windows và máy ảo qua mRemoteNG/RDP: Nguyên nhân và cách sửa
Không copy được giữa máy Windows và máy ảo qua ...

mRemoteNG Remote Desktop RDP Clipboard Redirection rdpclip.exe VPS Windows ...

Hướng dẫn bật Nested Virtualization trên ESXi để chạy Android Studio Emulator trong máy ảo Windows
Hướng dẫn bật Nested Virtualization trên ESXi để chạy ...

Nested Virtualization ESXi VMware Android Studio Android Emulator WHPX Hyper-V ...

PITR (Point In Time Recovery) là gì? Khôi phục Database về đúng thời điểm cần thiết
PITR (Point In Time Recovery) là gì? Khôi phục ...

PITR, Point In Time Recovery, PITR là gì, Database Recovery, PostgreSQL PITR, ...