Bài viết hướng dẫn bạn thiết lập UFW trên VPS Linux, chỉ cho phép các kết nối cần dùng và hạn chế những cổng không cần thiết. Hãy thực hiện theo thứ tự để giảm nguy cơ mất kết nối SSH khi bật tường lửa.
1. Kiểm tra hệ điều hành và cài UFW
Các lệnh dưới đây dành cho Ubuntu hoặc Debian. Đăng nhập VPS bằng tài khoản có quyền sudo. Kiểm tra UFW đã được cài đặt và trạng thái hiện tại:
sudo ufw status verbose
Nếu hệ thống chưa có UFW, cài đặt bằng lệnh:
sudo apt update && sudo apt install ufw
2. Cho phép SSH trước khi bật tường lửa
SSH thường sử dụng cổng 22, nhưng VPS của bạn có thể được cấu hình cổng khác. Nếu SSH dùng cổng mặc định, thêm quy tắc sau:
sudo ufw allow 22/tcp
Nếu đã đổi cổng SSH, thay 22 bằng cổng đang sử dụng, ví dụ:
sudo ufw allow 2222/tcp
Chỉ dùng một trong hai lệnh phù hợp. Nếu không chắc cổng SSH là bao nhiêu, hãy kiểm tra cấu hình máy chủ hoặc thông tin kết nối trước khi tiếp tục. Không bật UFW khi chưa cho phép cổng SSH đang sử dụng, vì bạn có thể bị ngắt kết nối và không đăng nhập lại được.
3. Thiết lập quy tắc mặc định
Đặt UFW chặn kết nối đến không được cho phép, đồng thời cho phép kết nối đi từ VPS:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Tiếp theo, chỉ mở các cổng mà dịch vụ trên VPS thực sự cần. Ví dụ, máy chủ chạy website cần nhận kết nối HTTP và HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Không thêm các quy tắc này nếu VPS không cung cấp website. Với ứng dụng dùng cổng khác, chẳng hạn 8080, chỉ mở cổng đó khi ứng dụng cần truy cập trực tiếp từ bên ngoài:
sudo ufw allow 8080/tcp
4. Bật UFW và kiểm tra quy tắc
Khi đã cho phép cổng SSH và các dịch vụ cần thiết, bật UFW:
sudo ufw enable
Xác nhận theo yêu cầu trên màn hình, sau đó xem danh sách quy tắc: