Firewall VPS là lớp gác cổng ngay trong hệ điều hành. Xem cách mở SSH, web đúng lúc bằng UFW hoặc firewalld và tránh tự khóa quyền quản trị.
Khi thuê một máy chủ ảo, nhiều người quản trị mới thường có thói quen mở mọi kết nối để tiện làm việc. Tuy nhiên, việc mở càng nhiều cổng mạng càng tạo ra nhiều rủi ro an ninh nghiêm trọng. Một máy chủ mở toang cửa sẽ liên tục bị các công cụ tự động dò quét trên Internet tấn công.
Bảo vệ máy chủ bắt đầu ngay bên trong nó: firewall VPS là bộ quy tắc quyết định kết nối nào được vào. Đây là kỹ năng nền tảng khi vận hành VPS tại cloudmoon.net.
Firewall, hay tường lửa VPS, là một bộ quy tắc bảo mật nằm ngay trong hệ điều hành của máy chủ ảo. Nó ngồi ngay cửa và soi từng lượt ra vào. Firewall quyết định cho phép hay chặn kết nối theo địa chỉ IP nguồn, cổng mạng (port), và giao thức truyền tải (TCP hoặc UDP — hai kiểu đường truyền dữ liệu).
Hãy hình dung firewall trên VPS giống như nhân viên an ninh của một tòa nhà văn phòng khép kín. Người nhân viên này giữ một danh sách các phòng ban và quy định nghiêm ngặt ai được phép vào phòng nào. Nếu người lạ có IP không hợp lệ muốn vào phòng giám đốc, nhân viên an ninh sẽ chặn lại từ vòng ngoài. Việc cấu hình firewall VPS chính là việc bạn giao danh sách đó cho nhân viên an ninh.
Đóng các dịch vụ không dùng sẽ thu hẹp bề mặt tấn công của chúng. Riêng SSH vẫn bị bot tìm tới nếu bạn chỉ dùng allow 22/tcp; firewall không tự làm mất các lượt thử mật khẩu ở cổng đang mở. Phần cấu hình bên dưới có lựa chọn giới hạn tốc độ hoặc chỉ cho IP của bạn vào SSH.
Trước khi kích hoạt tường lửa VPS, nguyên tắc sống còn là bạn phải mở cửa cho chính quyền quản trị của mình trước. Tường lửa hoạt động rất máy móc. Nếu bật firewall mà quên cấu hình cho phép cổng điều khiển, bạn sẽ tự khóa mình ở ngoài máy chủ.
Đừng đoán cổng. Trước hết, dùng lệnh sau để xem dịch vụ nào đang lắng nghe:
sudo ss -tulp
Nhìn cột Local Address:Port: 0.0.0.0:PORT hoặc [::]:PORT nghĩa là dịch vụ đang nghe trên mạng và cần cân nhắc rule. 127.0.0.1:PORT chỉ nghe trong chính VPS, thường không cần mở ra Internet. Lệnh này cho biết dịch vụ đang nghe; nó không tự chứng minh Internet đã vào được hay chưa.
sudo ufw allow proto tcp from 203.0.113.10 to any port 3306. IP này chỉ là ví dụ; mạng dùng IP động có thể đổi IP rồi tự mất quyền truy cập.Hai khung dưới đây dành cho Ubuntu/Debian dùng UFW hoặc nhóm AlmaLinux, Rocky Linux, CentOS, RHEL dùng firewalld. Trước khi chọn, hãy xem tên hệ điều hành và kiểm tra công cụ có sẵn:
cat /etc/os-release
command -v ufw
command -v firewall-cmd
Nếu kết quả có Ubuntu hoặc Debian, đọc phần UFW. Nếu có AlmaLinux, Rocky Linux, CentOS hoặc RHEL, đọc phần firewalld. Dòng command -v không in ra đường dẫn nghĩa là công cụ chưa có; dừng ở đó và kiểm tra tài liệu của đúng bản hệ điều hành thay vì chép tiếp lệnh. Các lệnh bên dưới giả định tài khoản có quyền sudo; nếu đang đăng nhập bằng tài khoản quản trị cao nhất, bỏ sudo.
Linux có lớp lõi iptables hoặc nftables để lọc gói tin mạng (chặn hoặc cho qua từng mẩu dữ liệu ra vào máy). UFW và firewalld là lớp vỏ dễ dùng hơn bọc quanh lớp đó. Chọn theo hệ điều hành, không cài cả hai chỉ để thử.
Giữ phiên SSH hiện tại mở và dùng một cửa sổ thứ hai để thử đăng nhập lại. Với SSH mở cho Internet, dùng limit thay vì allow để hạn chế các lần kết nối dồn dập từ một IP. Nếu bạn có IP cố định, có thể dùng rule chỉ cho IP đó vào; đừng dùng đồng thời hai lựa chọn cho cùng một cổng.
# Chọn MỘT: SSH công khai nhưng giới hạn tốc độ
sudo ufw limit 22/tcp
# Hoặc: chỉ cho IP cố định của bạn vào SSH
# sudo ufw allow proto tcp from 203.0.113.10 to any port 22
# Chỉ sau khi đã mở SSH mới chặn mặc định
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose
Mở SSH trước, chặn mặc định sau — đảo thứ tự là tự đóng đường vào của chính mình. Nếu SSH dùng cổng khác 22, thay đúng số cổng ở lựa chọn SSH. Lệnh ufw enable có thể cảnh báo nó ảnh hưởng kết nối SSH và hỏi xác nhận; chỉ gõ y sau khi đã kiểm lại rule SSH. Đừng đóng phiên cũ cho tới khi phiên mới đăng nhập thành công.
Kết quả ufw status verbose cần hiện Status: active, chính sách incoming là deny, cùng rule SSH và 80/443 nếu có website. Khi IPv6 đang bật trong UFW, rule chung như 22/tcp áp cho cả IPv4 và IPv6; kiểm tra phần rule IPv6 trong trạng thái. Nếu không có website, bỏ hai dòng 80/443.
firewalld dùng zone. Lệnh đầu tiên in tên zone đang gắn với card mạng; nếu tên đó không phải public, thay mọi chữ public trong các dòng sau bằng đúng tên vừa in. --permanent là ghi rule vào sổ để còn sau khởi động lại. --reload là đọc lại sổ để rule có hiệu lực ngay.
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list-all
Nếu SSH dùng cổng riêng, thay service SSH bằng hai lệnh đầy đủ sau rồi thử phiên SSH mới:
sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp
sudo firewall-cmd --reload
Thiếu --permanent, rule chỉ nằm ở phần đang chạy và có thể mất sau reload hoặc khởi động lại. Kết quả --list-all cần có service ssh, http, https hoặc cổng tùy biến bạn vừa thêm. Nếu máy có dịch vụ nghe ở [::], hãy kiểm tra zone/rule cũng phủ được đường IPv6 đó thay vì chỉ thử từ IPv4.
Đừng chờ đến lúc mất kết nối mới tìm lệnh. Với UFW, xem số thứ tự rồi xóa rule sai; với firewalld, gỡ đúng cổng và nạp lại:
sudo ufw status numbered
sudo ufw delete 3
sudo firewall-cmd --permanent --zone=public --remove-port=2222/tcp
sudo firewall-cmd --reload
Số 3 chỉ là ví dụ: đọc đúng số trong máy bạn trước khi xóa. Nếu UFW đang có cả rule IPv4 và IPv6, xóa theo số có thể chỉ xóa một rule; khi biết đúng rule ban đầu, lệnh như sudo ufw delete allow 80/tcp sẽ xóa rule chung đó. Với firewalld, thay zone và cổng theo rule thật của bạn.
Nếu đã mất SSH, tìm mục console hoặc cứu hộ trong trang quản trị dịch vụ để vào máy không qua mạng SSH thông thường. Vào được thì có thể tắt tạm firewall bằng sudo ufw disable hoặc sudo systemctl stop firewalld, kết nối SSH lại, rồi sửa rule và bật lại. Không có console, hãy mở yêu cầu hỗ trợ kèm IP VPS, thời điểm mất kết nối và cổng SSH đang dùng; đừng gửi mật khẩu.
Firewall hệ điều hành là một lớp riêng với WAF; xem bài WAF khác gì firewall thường nếu cần phân biệt hai khái niệm, rồi quay lại cấu hình cổng cho VPS.
Cuối cùng, việc đóng bớt các cổng mạng lạ không giúp ích gì nếu phần mềm website bạn đang chạy dính lỗ hổng bảo mật. Firewall cũng không vá phần mềm lỗi thời, không thay thế cho việc sử dụng mật khẩu mạnh. Nó cũng không tự động cập nhật hệ điều hành hay sao lưu dữ liệu. Thiết lập tường lửa chỉ là một phần trong toàn bộ quy trình bảo mật VPS cơ bản.
Cấu hình tường lửa VPS luôn đi kèm rủi ro tự chặn chính mình nếu bạn mở cổng VPS sai cách. Để không tự khóa mình ở ngoài máy chủ, hãy chạy đủ bốn bước sau mỗi lần đổi rule.
list-all có rule nhưng từ ngoài vẫn không vào được. Quay lại --get-active-zones và kiểm zone gắn với card mạng.VPS không bật tường lửa vẫn chạy. Nhưng để trần như vậy, bạn mở thêm cửa cho mọi dịch vụ không cần thiết. Firewall giúp đóng các cửa đó; riêng SSH cần thêm giới hạn tốc độ hoặc giới hạn IP nếu mục tiêu là giảm dò mật khẩu.
Có. Nếu bạn kích hoạt firewall mà quên cấu hình cho phép cổng kết nối SSH, hệ thống sẽ lập tức chặn kết nối từ bên ngoài. Để phòng tránh, luôn thử kết nối bằng một phiên làm việc mới trước khi đóng phiên hiện tại.
Lựa chọn này hoàn toàn phụ thuộc vào hệ điều hành bạn sử dụng. UFW là công cụ phù hợp và dễ cấu hình nhất trên Ubuntu và Debian. Ngược lại, firewalld là công cụ quản lý tiêu chuẩn trên các hệ điều hành họ RHEL như CentOS, AlmaLinux.
Với một máy chủ cơ bản, bạn chỉ cần mở cổng SSH để quản trị và cổng 80, 443 nếu máy chủ có chạy website. Cổng cơ sở dữ liệu thường không cần mở ra Internet; nếu cần, phải có mục đích rõ ràng và giới hạn IP.
Không. Tường lửa mạng tập trung chặn kết nối ở mức cổng mạng và địa chỉ IP. WAF là tường lửa lớp ứng dụng web, có thể đọc và lọc truy vấn vào website. Hai lớp này làm các việc khác nhau.
Việc thiết lập firewall VPS bắt đầu từ việc xác định chính xác dịch vụ nào thực sự cần giao tiếp bên ngoài. Dù dùng UFW hay firewalld, hãy mở SSH trước, chỉ mở cổng cần thiết và thử lại kết nối sau mỗi thay đổi. Khi đã sẵn sàng triển khai, xem các lựa chọn Cloud VPS tại cloudmoon.net.
Chưa có bình luận nào. Hãy là người đầu tiên!