UFW (Uncomplicated Firewall) là một giao diện quản lý tường lửa được thiết kế để đơn giản hóa việc cấu hình iptables trên các hệ điều hành Ubuntu và Debian. So với việc viết các quy tắc iptables phức tạp, UFW cung cấp một phương thức thân thiện và dễ sử dụng hơn nhiều cho người quản trị hệ thống. Bài viết này sẽ hướng dẫn bạn quy trình cài đặt, cấu hình cơ bản, các lệnh quản lý nâng cao cũng như cách xử lý những lỗi thường gặp khi sử dụng UFW.
Cài đặt UFW trên máy chủ
Trước khi bắt đầu cấu hình, bạn cần kiểm tra xem UFW đã được cài đặt trên hệ thống hay chưa. Bạn hãy mở Terminal và chạy lệnh sau:
ufw --versionNếu hệ thống thông báo chưa tìm thấy lệnh hoặc chưa cài đặt, bạn hãy cập nhật danh sách gói và tiến hành cài đặt bằng hai lệnh sau:
sudo apt update
sudo apt install ufw -y
Cấu hình UFW cơ bản
Để đảm bảo an toàn cho máy chủ mà không làm gián đoạn kết nối hiện tại, bạn nên thực hiện theo trình tự 3 bước sau đây.
Bước 1: Thiết lập rule mặc định
Nguyên tắc bảo mật cơ bản nhất là chặn tất cả các kết nối đi vào và chỉ cho phép các kết nối đi ra. Điều này giúp ngăn chặn mọi truy cập trái phép ngay từ đầu. Bạn thực hiện các lệnh sau:
# Chặn tất cả kết nối đi vào
sudo ufw default deny incoming
# Cho phép tất cả kết nối đi ra
sudo ufw default allow outgoing
Bước 2: Mở các port cần thiết
Bạn bắt buộc phải mở cổng SSH để tránh bị mất kết nối với máy chủ sau khi bật tường lửa.
Mở cổng SSH
Nếu bạn sử dụng cổng mặc định (22), hãy chạy lệnh:
sudo ufw allow 22/tcpNếu bạn đã đổi cổng SSH sang một số khác (ví dụ 2222), hãy sử dụng lệnh:
sudo ufw allow 2222/tcp
Mở cổng cho Web Server
Nếu máy chủ của bạn chạy website, bạn cần mở cổng HTTP và HTTPS bằng cách lần lượt chạy các lệnh:
# HTTP - port 80
sudo ufw allow 80/tcp
# HTTPS - port 443
sudo ufw allow 443/tcp
Mở các cổng dịch vụ khác (nếu cần)
Tùy vào nhu cầu sử dụng, bạn có thể mở thêm các cổng khác như FTP hoặc MySQL:
# FTP
sudo ufw allow 21/tcp
# MySQL (Chỉ nên mở nếu cần kết nối database từ xa)
sudo ufw allow 3306/tcp
Bước 3: Kích hoạt UFW
Sau khi đã thiết lập xong các quy tắc, bạn tiến hành bật tường lửa. Hệ thống sẽ yêu cầu xác nhận, bạn hãy gõ y và nhấn Enter để đồng ý.
sudo ufw enable
Kiểm tra và quản lý các quy tắc
Sau khi UFW đã hoạt động, bạn cần biết cách kiểm tra trạng thái và quản lý các quy tắc đã tạo.
Xem trạng thái UFW
Để xem danh sách các quy tắc hiện hành, bạn sử dụng lệnh:
sudo ufw status
Để kiểm tra trạng thái hoạt động của tường lửa UFW với các thông tin chi tiết hơn nữa (Status, Logging, Default), bạn chạy lệnh:
sudo ufw status verbose
Để xem chi tiết rule kèm theo số thứ tự của từng quy tắc (rất hữu ích khi cần xóa), bạn dùng lệnh:
sudo ufw status numbered
Xóa quy tắc
Nếu bạn muốn xóa một quy tắc sai, cách đơn giản nhất là xóa theo số thứ tự mà bạn vừa xem ở trên. Ví dụ, để xóa quy tắc số 3, bạn chạy lệnh:
sudo ufw delete 3
Đặt lại toàn bộ cấu hình
Nếu bạn muốn xóa sạch mọi cấu hình để làm lại từ đầu, hãy sử dụng các lệnh sau:
# Tạm tắt UFW
sudo ufw disable
# Xóa tất cả rule
sudo ufw reset
Các lệnh cấu hình nâng cao hữu ích
Ngoài việc mở cổng cơ bản, UFW còn hỗ trợ các cấu hình chi tiết hơn để tăng cường bảo mật.
Cho phép hoặc chặn theo địa chỉ IP
Nếu bạn chỉ muốn cho phép một IP cụ thể (ví dụ IP văn phòng hoặc nhà riêng) truy cập vào server, bạn dùng lệnh:
sudo ufw allow from 192.168.1.100Để cho phép dải mạng, bạn chạy lệnh:
sudo ufw allow from 192.168.1.0/24Hoặc để chặn hoàn toàn một IP đang tấn công server, bạn chạy lệnh:
sudo ufw deny from 10.0.0.50
Giới hạn kết nối (Rate Limiting)
Để chống lại các cuộc tấn công dò mật khẩu (brute-force) vào cổng SSH, UFW có tính năng giới hạn số lần kết nối trong một khoảng thời gian. Bạn có thể kích hoạt bằng lệnh:
sudo ufw limit 22/tcp
Ví dụ cấu hình thực tế cho một Web Server
Cấu hình cơ bản
# Đặt mặc định
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Mở port SSH (đổi nếu bạn dùng port khác)
sudo ufw allow 22/tcp
# Mở port web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Bật UFW
sudo ufw enable
Cấu hình cho server có nhiều dịch vụ
# Đặt mặc định
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Mở port SSH (đổi nếu bạn dùng port khác)
sudo ufw allow 22/tcp
# Mở port web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Mở port database cho IP cụ thể
sudo ufw allow from 192.168.1.100 to any port 3306
# Mở port FTP
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
# Bật UFW
sudo ufw enable
Xử lý các lỗi thường gặp
Trong quá trình sử dụng, bạn có thể gặp phải một số sự cố phổ biến. Dưới đây là cách khắc phục.
Lỗi 1: Bị khóa SSH (Lockout) sau khi bật UFW
- Nguyên nhân: Bạn quên mở cổng 22 hoặc cổng SSH tùy chỉnh trước khi kích hoạt UFW.
- Cách khắc phục: Bạn cần truy cập vào VPS thông qua giao diện Console (VNC) do nhà cung cấp dịch vụ cung cấp, sau đó thực hiện lần lượt các lệnh sau để mở lại quyền truy cập:
# Tạm tắt UFW
sudo ufw disable
# Mở port SSH
sudo ufw allow 22/tcp
# Bật lại UFW
sudo ufw enable
Lỗi 2: Website không truy cập được
- Nguyên nhân: Bạn chưa mở cổng 80 (HTTP) và 443 (HTTPS).
- Cách khắc phục: Bạn chỉ cần chạy lệnh bổ sung hai cổng này:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Những lưu ý quan trọng khi sử dụng
Để đảm bảo an toàn và tránh các rủi ro không đáng có, bạn hãy ghi nhớ các nguyên tắc sau:
- Tuân thủ đúng thứ tự: Luôn thiết lập rule mặc định, sau đó mở cổng SSH, tiếp đến là các cổng dịch vụ khác rồi mới kích hoạt UFW cuối cùng.
- Kiểm tra kỹ lưỡng: Hãy sử dụng lệnh sudo ufw status để rà soát lại các quy tắc và thử kết nối SSH (ssh user@server_ip) từ một cửa sổ terminal khác trước khi đóng phiên làm việc hiện tại.
- Sao lưu cấu hình: Bạn nên sao lưu file cấu hình /etc/ufw/user.rules trước khi thực hiện các thay đổi lớn để có thể khôi phục nhanh chóng khi cần.
# Backup rules
sudo cp /etc/ufw/user.rules /etc/ufw/user.rules.backup
# Khôi phục
sudo cp /etc/ufw/user.rules.backup /etc/ufw/user.rules
sudo ufw reloadUFW là một công cụ bảo mật đơn giản nhưng vô cùng hiệu quả để bảo vệ máy chủ Ubuntu/Debian của bạn. Chỉ cần tuân thủ đúng quy trình: Thiết lập mặc định, mở cổng SSH, mở cổng dịch vụ và cuối cùng là kích hoạt, bạn sẽ có một hệ thống tường lửa an toàn.
Nếu bạn gặp bất kỳ khó khăn nào trong quá trình thao tác hoặc cần tư vấn chuyên sâu hơn về vấn đề kỹ thuật, đừng ngần ngại liên hệ với đội ngũ kỹ thuật của Vietnix để được hỗ trợ nhanh chóng và hiệu quả nhất.
VIETNIX – DỊCH VỤ HOSTING, VPS TỐC ĐỘ CAO, ỔN ĐỊNH, BẢO MẬT
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
- Điện thoại: 1800 1093
- Email liên hệ: sales@vietnix.com.vn
- Website: https://vietnix.vn/

