Bảo mật

UFW trên VPS Ubuntu: mở cổng và giữ đường quản trị

UFW hỗ trợ quản lý firewall trên Ubuntu theo rule đơn giản. Khi thao tác từ xa, điều quan trọng nhất là giữ đường quản trị và hiểu lưu lượng ứng dụng, đặc biệt nếu VPS dùng Docker hoặc làm router/VPN.

thuemaychu.vn
Ảnh minh họa: UFW trên VPS Ubuntu: mở cổng và giữ đường quản trị

UFW hỗ trợ quản lý firewall trên Ubuntu theo rule đơn giản. Khi thao tác từ xa, điều quan trọng nhất là giữ đường quản trị và hiểu lưu lượng ứng dụng, đặc biệt nếu VPS dùng Docker hoặc làm router/VPN.

Phạm vi ví dụ

Ví dụ dưới đây dành cho VPS Ubuntu làm web server, SSH ở TCP 22 và website dùng TCP 80/443; không đóng vai router. Nếu dùng cổng SSH khác, VPN, game hoặc dịch vụ riêng, phải thay rule trước khi bật. Có console dự phòng và giữ phiên SSH hiện tại.

Bước 1: kiểm tra trước thay đổi

bash
sudo ufw status verbose
sudo ss -lntup
ip -br address
ip route

Ghi rule hiện có và cổng thực sự đang nghe. ufw status có thể báo inactive nhưng có rule lưu sẵn; cũng có thể còn firewall khác. Không dùng reset hoặc flush để 'làm sạch' nếu chưa biết cấu hình đang phục vụ gì.

Bước 2: thiết lập chính sách và cho phép dịch vụ

bash
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Đây là ví dụ rule mở SSH cho mọi nguồn ở giai đoạn thiết lập, chưa phải chính sách cuối. Nếu UFW đã hoạt động, thay default có thể ảnh hưởng các luồng không có rule. Rà soát trước và áp dụng trong cửa sổ phù hợp.

Bước 3: bật và thử phiên mới

bash
sudo ufw --dry-run enable
sudo ufw enable
sudo ufw status numbered

Dry-run cho xem thay đổi dự kiến nhưng không chứng minh mọi luồng thực tế sẽ đi được. Sau bật, mở một phiên SSH mới và kiểm tra website từ bên ngoài; chưa đóng phiên cũ khi chưa thử thành công.

Giới hạn SSH theo IP nguồn

Khi có IP quản trị ổn định, thêm allowlist trước rồi loại rule mở rộng sau khi thử. 203.0.113.10 là IP dành cho tài liệu, phải thay bằng IP public thực tế của bạn; không chạy nguyên ví dụ để truy cập từ nguồn khác.

bash
sudo ufw allow proto tcp from 203.0.113.10 to any port 22
sudo ufw status numbered

Thử từ IP được phép trước khi xóa rule 22/tcp mở cho mọi nguồn. Nếu dùng số thứ tự xóa, đọc lại danh sách sau mỗi lần xóa vì số có thể thay đổi. Với IP động, thiết kế VPN hoặc đường dự phòng thay vì allowlist một IP sẽ đổi.

IPv6, UDP và Docker

Tình huốngĐiều cần kiểm tra
IPv6 publicRule và chính sách có bao phủ cả IPv6
UDPDNS/VPN/game cần gì; không chặn toàn bộ tùy tiện
Docker publishĐường forwarding/NAT và cổng thực tế từ bên ngoài
VPN/routerTraffic chuyển tiếp cần thiết kế riêng
Firewall nhà cung cấpKết hợp hai lớp và đường phục hồi

Docker mô tả cổng publish có thể đi qua đường xử lý khác rule UFW thông thường. Không giả định UFW deny đủ để khóa mọi container; xác nhận backend/network mode và cấu hình lọc phù hợp tài liệu Docker.

Khôi phục khi chặn nhầm

Vào console đã thử trước. Kiểm tra rule và thêm lại đường quản trị phù hợp. Nếu cần dừng UFW khẩn cấp bằng sudo ufw disable, việc này gỡ lớp bảo vệ UFW nên chỉ dùng để khôi phục có kiểm soát, rồi sửa và bật lại. Nó không sửa firewall upstream của nhà cung cấp.

Xem VPS Cloud. Sau mỗi thay đổi, lưu rule và kết quả thử IPv4/IPv6, cổng dịch vụ và SSH để tránh lặp lỗi khi bàn giao.

Có nên mở mọi cổng để dễ cài app?

Không. Liệt kê cổng cần dùng, phạm vi nguồn và chỉ mở theo nhu cầu.

UFW active có nghĩa Docker đã được bảo vệ?

Chưa. Cần kiểm tra cổng publish và đường packet theo tài liệu Docker.

Cần máy chủ cho workload này?

NOC thuemaychu.vn hỗ trợ chọn CPU, GPU và băng thông. PoC trong 24 giờ.

Bài viết liên quan

Xem tất cả bài viết
GọiFBZaloSalesZaloOA