UFW = Uncomplicated Firewall (không phải "Ubuntu Firewall"). Tên nói lên tất cả: cấu hình siêu đơn giản. Chỉ cần 3 lệnh cơ bản để an toàn tương đối. Nâng cao chỉ cần sửa file text. Ban đầu dành cho Ubuntu, nhưng hiện có sẵn trên Debian, Arch, Mint, Lubuntu, Xubuntu...
Vấn Đề: Mặc Định Tắt
Ubuntu để UFW disable mặc định. Debian thường chưa cài. May mắn là ai biết terminal cơ bản cũng bật được.
Phương Pháp 1: Bật UFW Từ Terminal
sudo ufw enable
Nhập password → thông báo "ufw is enabled and will run automatically on startup".
Kiểm tra: sudo ufw status → phải ra Status: active.
Nếu báo "ufw not installed":
- Debian/Ubuntu/Mint:
sudo apt-get update && sudo apt-get install ufw - Arch:
sudo pacman -Syu && sudo pacman -S ufw
Sau khi cài, chạy lại sudo ufw enable.
Phương Pháp 2: Quy Tắc Cơ Bản (Đủ 99% User)
sudo ufw default allow outgoing
sudo ufw default deny incoming
allow outgoing: cho phép mọi kết nối ra (web, email, git, game...).deny incoming: chặn mọi kết nối vào (bảo vệ khỏi scan, exploit).
Đây là cấu hình an toàn cho user cá nhân, doanh nghiệp nhỏ, gamer FPS. Kiểm tra sudo ufw status vẫn active sau reboot → có thể dừng ở đây.
Phương Pháp 3: Cấu Hình Nâng Cao (Khi Cần)
Chỉ cho user có nhu cầu đặc biệt (server, SSH, web server...).
Mở Port Cụ Thể
sudo ufw allow 80/tcp # HTTP
sudo ufw allow http/tcp # Tương đương (tên dịch vụ)
sudo ufw allow 22 # SSH (port 22)
sudo ufw allow ssh # Tương đương
sudo ufw allow from 192.168.1.0/24 # Chỉ cho phép dải IP này
Xóa Quy Tắc
sudo ufw delete allow 80/tcp
Xem Chi Tiết
sudo ufw status verbose
Thứ Tự Quy Tắc (Quan Trọng!)
UFW kiểm tra quy tắc theo thứ tự, lấy quy tắc khớp đầu tiên.
- Quy tắc ALLOW phải đặt TRƯỚC quy tắc DENY trên cùng port.
- Nếu thấy
DENY IN 80đứng trướcALLOW IN 80→ chặn trước khi cho phép. - Sửa: xóa cặp quy tắc → thêm lại với
default allowtrước. - Xóa dòng trùng lặp để hiệu năng.
Root Prompt (#) Không Cần sudo
Nếu prompt kết thúc bằng # (đã root) → bỏ sudo. Prompt $ = user thường. % (tcsh) → gõ whoami kiểm tra.
Cảnh Báo: reject vs deny
default reject gửi gói từ chối (RST/ICMP) → có thể lock out chính bạn nếu đặt trước rule allow SSH. Luôn đặt allow ssh trước default reject/deny.
Chỉnh Sửa File Cấu Hình Trực Tiếp
cd /etc/ufw
sudo nano ufw.conf # hoặc before.rules, after.rules...
# Xem trước: more ufw.conf / less ufw.conf
File có comment đầy đủ, dễ hiểu.
Công Cụ GUI (Tùy Chọn)
Gufw (GTK), kmyfirewall (Qt). Tuy nhiên CLI đủ nhanh, không cần cài thêm.
Tóm Tắt
sudo ufw enablesudo ufw default allow outgoingsudo ufw default deny incoming- Cần port nào →
sudo ufw allow PORT/PROTOCOLhoặcsudo ufw allow SERVICE. - Luôn để rule ALLOW trước DENY.
- Kiểm tra
sudo ufw status verboseđịnh kỳ.