Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Linux

Thành Thạo UFW: Hướng Dẫn Cấu Hình Tường Lửa Linux Bước Đi

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ước ALLOW 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 allow trướ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

  1. sudo ufw enable
  2. sudo ufw default allow outgoing
  3. sudo ufw default deny incoming
  4. Cần port nào → sudo ufw allow PORT/PROTOCOL hoặc sudo ufw allow SERVICE.
  5. Luôn để rule ALLOW trước DENY.
  6. Kiểm tra sudo ufw status verbose định kỳ.