close

Hướng dẫn cấu hình tường lửa cho VPS từ A-Z

Tác giả: Đông Tùng Ngày đăng: 28/10/2026 Chuyên mục: Quản trị Server & Linux
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Tino Group có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Để cấu hình tường lửa cho VPS, bạn có thể sử dụng UFW trên Ubuntu/Debian hoặc firewalld trên AlmaLinux/Rocky Linux. Cách thực hiện cơ bản là cho phép các cổng cần thiết như SSH, HTTP, HTTPS, thiết lập quy tắc chặn kết nối không mong muốn, sau đó kích hoạt tường lửa.

Việc cấu hình đúng giúp hạn chế truy cập trái phép và giảm nguy cơ máy chủ bị khai thác qua những dịch vụ không cần thiết. Tuy nhiên, chỉ một thao tác sai cũng có thể khiến bạn mất kết nối SSH. Hãy cùng Tino tìm hiểu cách thực hiện chính xác nhé!

Tường lửa VPS là gì? Tại sao cần cấu hình?

Tường lửa VPS (VPS Firewall) là cơ chế bảo mật giúp kiểm soát lưu lượng mạng đi vào và đi ra khỏi máy chủ ảo dựa trên những quy tắc được thiết lập sẵn.

Bạn có thể hình dung tường lửa giống như một nhân viên bảo vệ tại cổng ra vào của máy chủ. Khi có yêu cầu kết nối, hệ thống sẽ kiểm tra địa chỉ IP, cổng kết nối, giao thức và các điều kiện liên quan để quyết định cho phép hay từ chối lưu lượng.

Ví dụ, một VPS được sử dụng để chạy website thường cần mở cổng 80 (HTTP) và 443 (HTTPS). Trong khi đó, cổng 22 (SSH) dành cho quản trị máy chủ nên được giới hạn quyền truy cập khi có thể.

Tường lửa VPS là gì? Tại sao cần cấu hình?
Tường lửa VPS là gì? Tại sao cần cấu hình?

Việc cấu hình tường lửa mang lại những lợi ích chính:

  • Hạn chế truy cập trái phép: Kiểm soát những kết nối được phép đến các dịch vụ trên VPS.
  • Giảm bề mặt tấn công: Đóng hoặc hạn chế truy cập các cổng không cần thiết.
  • Bảo vệ dịch vụ nội bộ: Giúp hạn chế truy cập trực tiếp vào database, bảng điều khiển quản trị và ứng dụng nội bộ.
  • Kiểm soát kết nối: Có thể thiết lập quy tắc theo IP, cổng và giao thức.
  • Hỗ trợ quản trị bảo mật: Giúp theo dõi, kiểm tra và điều chỉnh quyền truy cập khi triển khai dịch vụ mới.

Tuy nhiên, cần lưu ý rằng tường lửa không thể thay thế việc cập nhật phần mềm, quản lý mật khẩu, cấu hình SSH an toàn hoặc các biện pháp bảo mật ứng dụng.

Nên sử dụng công cụ tường lửa nào cho VPS?

UFW là lựa chọn phù hợp cho người mới sử dụng VPS Ubuntu hoặc Debian. Đối với AlmaLinux, Rocky Linux và các hệ điều hành thuộc họ RHEL, firewalld thường được sử dụng để quản lý quy tắc mạng.

Dưới đây là bảng so sánh nhanh:

Công cụHệ điều hành phù hợpĐặc điểm
UFWUbuntu, DebianCú pháp đơn giản, dễ quản lý cổng và địa chỉ IP
firewalldAlmaLinux, Rocky Linux, RHEL, FedoraQuản lý theo zone, service và port
iptables/nftablesLinuxHỗ trợ cấu hình chuyên sâu, yêu cầu kiến thức mạng tốt hơn
Windows Defender FirewallWindows ServerQuản lý qua giao diện hoặc PowerShell

Trong đó:

  • UFW (Uncomplicated Firewall): Cung cấp giao diện dòng lệnh đơn giản để quản lý những quy tắc tường lửa trên Linux.
  • firewalld: Hỗ trợ quản lý tường lửa theo vùng mạng (zone), cho phép áp dụng chính sách khác nhau cho từng nhóm kết nối.
  • iptables/nftables: Là những công cụ quản lý cơ chế lọc gói tin trên Linux, phù hợp hơn với người quản trị có kinh nghiệm.
  • Windows Defender Firewall: Là thành phần tường lửa tích hợp trong Windows Server.

Trong phạm vi bài viết, chúng ta sẽ ưu tiên hướng dẫn UFW trên Ubuntu/Debian, sau đó giới thiệu cách thực hiện tương ứng trên AlmaLinux/Rocky Linux và Windows Server.

Cần chuẩn bị gì trước khi cấu hình tường lửa VPS?

Trước khi bắt đầu, bạn cần đảm bảo có quyền quản trị máy chủ và xác định chính xác các cổng đang được sử dụng.

Những yêu cầu cơ bản gồm:

  • VPS đang hoạt động và có thể kết nối từ xa.
  • Tài khoản root hoặc tài khoản có quyền sudo trên Linux.
  • Công cụ SSH như Xshell, PuTTY hoặc Terminal để truy cập VPS Linux.
  • Xác định cổng SSH hiện tại, mặc định thường là 22.
  • Biết những dịch vụ cần truy cập từ Internet.
  • Có phương án truy cập máy chủ qua Console hoặc Rescue Mode của nhà cung cấp nếu xảy ra sự cố.
Cần chuẩn bị gì trước khi cấu hình tường lửa VPS?
Cần chuẩn bị gì trước khi cấu hình tường lửa VPS?

Lưu ý quan trọng: 

  • Không kích hoạt chính sách chặn kết nối trước khi cho phép cổng SSH đang sử dụng. Nếu cấu hình sai, bạn có thể mất quyền truy cập VPS từ xa.
  • Đối với VPS đang vận hành website hoặc ứng dụng quan trọng, nên sao lưu cấu hình và thực hiện trong thời gian bảo trì phù hợp.

Hướng dẫn cấu hình tường lửa cho VPS Ubuntu/Debian bằng UFW

Để cấu hình Firewall trên Ubuntu hoặc Debian, bạn chỉ cần cài đặt UFW, mở cổng SSH và những cổng dịch vụ cần thiết, thiết lập chính sách mặc định, sau đó bật tường lửa.

Các bước sau áp dụng cho VPS Linux sử dụng trình quản lý gói APT.

Bước 1: Kết nối SSH và kiểm tra trạng thái tường lửa

Trước tiên, mở Xshell, PuTTY hoặc Terminal trên máy tính và đăng nhập vào VPS bằng địa chỉ IP, tài khoản quản trị và thông tin xác thực được cung cấp.

Sau khi kết nối thành công, nhập lệnh:

sudo ufw status verbose

Nếu màn hình hiển thị:

Status: inactive

Điều này có nghĩa UFW hiện chưa được kích hoạt.

Nếu xuất hiện:

Status: active

UFW đang hoạt động. Bạn cần kiểm tra những quy tắc hiện tại trước khi thay đổi để tránh ảnh hưởng đến các dịch vụ đang chạy.

Trường hợp hệ thống báo ufw: command not found, bạn cần cài đặt công cụ ở bước tiếp theo.

Tiếp theo, kiểm tra các cổng TCP đang lắng nghe trên VPS:

sudo ss -lntp

Trong kết quả, hãy xác định cổng SSH đang được sử dụng, chẳng hạn :22 hoặc :2222.

Hướng dẫn cấu hình tường lửa cho VPS từ A-Z 1
Kết nối SSH và kiểm tra trạng thái tường lửa

Cần đối chiếu thêm với cổng đang sử dụng trong ứng dụng SSH. Nếu cổng quản trị không phải 22, các lệnh ở những bước tiếp theo phải được điều chỉnh tương ứng.

Bước 2: Cài đặt UFW trên VPS

Nếu VPS chưa được cài đặt UFW, hãy cập nhật danh sách gói phần mềm:

sudo apt update

Sau đó, tiến hành cài đặt:

sudo apt install ufw -y

Khi quá trình cài đặt hoàn tất, kiểm tra lại:

sudo ufw status

Nếu UFW đã được cài đặt thành công, lệnh sẽ hiển thị trạng thái hiện tại của tường lửa.

Bạn chưa cần kích hoạt UFW ở bước này.

Cài đặt UFW trên VPS
Cài đặt UFW trên VPS

Bước 3: Cho phép kết nối SSH

Trước khi bật tường lửa, cần cho phép kết nối đến đúng cổng SSH đang sử dụng. Nếu VPS dùng cổng SSH mặc định là 22, nhập lệnh:

sudo ufw allow 22/tcp

Trong đó:

  • allow: Cho phép kết nối.
  • 22: Số cổng SSH.
  • tcp: Giao thức kết nối.
Cho phép kết nối SSH
Cho phép kết nối SSH

Nếu trước đó bạn đã chuyển SSH sang cổng 2222, sử dụng:

sudo ufw allow 2222/tcp

Lưu ý: Cổng 2222 chỉ là ví dụ. Không chạy lệnh mở cổng 2222 nếu máy chủ đang sử dụng cổng khác.

Sau khi thêm quy tắc, có thể kiểm tra bằng lệnh:

sudo ufw show added

Lệnh sẽ liệt kê những quy tắc đã được thêm thông qua giao diện UFW, kể cả khi tường lửa chưa được bật.

Bước 4: Thiết lập chính sách tường lửa mặc định

Sau khi cho phép SSH, bạn có thể thiết lập chính sách mặc định để từ chối kết nối đến không được cấp quyền.

Nhập lệnh:

sudo ufw default deny incoming

Lệnh trên thiết lập chính sách từ chối những kết nối mới đi vào VPS nếu không có quy tắc cho phép phù hợp.

Tiếp theo, cho phép lưu lượng đi ra ngoài:

sudo ufw default allow outgoing

Cách cấu hình này phù hợp với nhiều VPS chạy website hoặc ứng dụng thông thường.

Ví dụ, máy chủ vẫn có thể kết nối đến kho phần mềm để tải bản cập nhật, trong khi những kết nối mới từ Internet vào các cổng không được cho phép sẽ bị hạn chế.

Thiết lập chính sách tường lửa mặc định
Thiết lập chính sách tường lửa mặc định

Lưu ý rằng đây là chính sách cơ bản, chưa phải cấu hình hạn chế tất cả lưu lượng đi ra ngoài. Nếu VPS đang có UFW hoạt động, cần kiểm tra đầy đủ các quy tắc trước khi thay đổi chính sách mặc định.

Bước 5: Mở các cổng dịch vụ cần thiết

Nếu VPS được sử dụng để chạy website, bạn cần cho phép truy cập HTTP và HTTPS.

Mở cổng HTTP:

sudo ufw allow 80/tcp

Mở cổng HTTPS:

sudo ufw allow 443/tcp

Nếu triển khai một ứng dụng chạy trực tiếp trên cổng 8080 và thực sự cần truy cập từ bên ngoài, có thể mở thêm:

sudo ufw allow 8080/tcp

Không cần mở cổng 8080 nếu dịch vụ chỉ sử dụng nội bộ hoặc truy cập thông qua Reverse Proxy.

 Mở các cổng dịch vụ cần thiết
Mở các cổng dịch vụ cần thiết

Dưới đây là bảng tham khảo những cổng thường gặp:

Dịch vụCổng mặc định/thường dùngKhuyến nghị
SSH22/TCPCho phép, ưu tiên giới hạn IP quản trị
HTTP80/TCPMở khi cung cấp website HTTP hoặc chuyển hướng sang HTTPS
HTTPS443/TCPMở khi cung cấp website HTTPS
MySQL3306/TCPKhông mở công khai nếu không cần thiết
PostgreSQL5432/TCPƯu tiên kết nối nội bộ
Redis6379/TCPKhông công khai trực tiếp lên Internet
Ứng dụng web tùy chỉnh8080/TCP hoặc cổng khácChỉ mở khi thực sự cần truy cập từ bên ngoài

Các cổng trong bảng là giá trị phổ biến, không phải cấu hình bắt buộc của mọi ứng dụng.

Nguyên tắc nên áp dụng: Chỉ cho phép những cổng thực sự cần thiết cho hoạt động của VPS.

Bước 6: Kích hoạt tường lửa UFW

Sau khi đã cho phép SSH và các dịch vụ cần thiết, bạn có thể kích hoạt UFW:

sudo ufw enable

Nếu đang truy cập qua SSH, hệ thống có thể hiển thị thông báo:

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

Hãy xác nhận rằng cổng SSH đã được cho phép, sau đó nhập y xong nhấn Enter để tiếp tục.

Kích hoạt tường lửa UFW
Kích hoạt tường lửa UFW

Khi kích hoạt thành công, bạn có thể nhận được thông báo cho biết tường lửa đang hoạt động.

Quan trọng: Giữ nguyên phiên SSH hiện tại và thử mở một phiên SSH mới từ máy tính. Chỉ đóng phiên cũ khi đã chắc chắn phiên mới kết nối thành công.

Bước 7: Kiểm tra và xác nhận cấu hình

Sau khi kích hoạt, kiểm tra trạng thái UFW:

sudo ufw status verbose

Với một VPS chạy website thông thường, kết quả tham khảo có thể hiển thị như sau:

Status: active

Logging: on (low)

Default: deny (incoming), allow (outgoing), disabled (routed)

To                         Action      From

--                         ------      ----

22/tcp                     ALLOW IN    Anywhere

80/tcp                     ALLOW IN    Anywhere

443/tcp                    ALLOW IN    Anywhere

Đây chỉ là ví dụ minh họa. Kết quả thực tế có thể khác tùy phiên bản, chế độ ghi nhật ký và cấu hình IPv6.

Kiểm tra và xác nhận cấu hình
Kiểm tra và xác nhận cấu hình

Bạn cần kiểm tra ba thông tin quan trọng:

  • Status: active: UFW đang được kích hoạt.
  • deny (incoming): Chính sách mặc định đối với kết nối đi vào.
  • Những cổng SSH và dịch vụ cần thiết xuất hiện trong danh sách cho phép.

Cuối cùng, kiểm tra lại kết nối SSH và truy cập website từ một thiết bị bên ngoài VPS.

Nếu SSH hoạt động bình thường, website truy cập được và những cổng không cần thiết không còn được phép truy cập, cấu hình cơ bản đã đáp ứng mục tiêu đề ra.

Cách quản lý các quy tắc tường lửa UFW

Sau khi kích hoạt UFW, bạn có thể bổ sung, chỉnh sửa hoặc xóa những quy tắc theo nhu cầu thực tế mà không cần cài đặt lại tường lửa.

Cho phép truy cập từ một địa chỉ IP cụ thể

Nếu chỉ muốn một máy tính có quyền SSH vào VPS, bạn có thể giới hạn kết nối dựa trên địa chỉ IP nguồn.

Ví dụ, cho phép địa chỉ IP 203.0.113.10 truy cập cổng SSH 22:

sudo ufw allow from 203.0.113.10 to any port 22 proto tcp

Lưu ý: 203.0.113.10 là địa chỉ IP minh họa. Cần thay bằng địa chỉ IP public thực tế của máy tính hoặc mạng quản trị.

Cho phép truy cập từ một địa chỉ IP cụ thể
Cho phép truy cập từ một địa chỉ IP cụ thể

Nếu đã tồn tại quy tắc cho phép mọi địa chỉ IP truy cập SSH, bạn cần kiểm tra và xóa quy tắc rộng hơn sau khi xác nhận quy tắc giới hạn IP hoạt động.

Ví dụ, nếu trước đó đã tạo quy tắc allow 22/tcp, có thể xóa bằng:

sudo ufw delete allow 22/tcp

Trước khi xóa, hãy thử kết nối SSH bằng một phiên mới từ IP được cấp quyền.

Xóa quy tắc
Xóa quy tắc

Chú ý: Nếu đang sử dụng Internet có IP public thay đổi thường xuyên, việc giới hạn một IP cố định có thể khiến bạn không thể truy cập VPS sau khi địa chỉ IP thay đổi.

Chặn địa chỉ IP và cổng không mong muốn

Khi phát hiện một địa chỉ IP không mong muốn liên tục truy cập VPS, bạn có thể thêm quy tắc từ chối. Ví dụ:

sudo ufw insert 1 deny from 198.51.100.25

Lệnh trên thêm quy tắc chặn địa chỉ IP minh họa 198.51.100.25 ở đầu danh sách quy tắc người dùng, giúp ưu tiên kiểm tra quy tắc này trước các quy tắc cho phép thông thường được thêm sau.

Cần thay địa chỉ ví dụ bằng IP thực tế và đảm bảo không chặn nhầm IP quản trị hoặc hệ thống giám sát hợp lệ.

Chặn địa chỉ IP và cổng không mong muốn
Chặn địa chỉ IP và cổng không mong muốn

Đối với cổng không cần sử dụng, bạn có thể thiết lập quy tắc từ chối, chẳng hạn:

sudo ufw deny 3306/tcp

Tuy nhiên, nếu chính sách mặc định đã là deny incoming và không tồn tại quy tắc cho phép cổng 3306, bạn không cần thêm quy tắc từ chối riêng.

Nếu trước đó đã tạo quy tắc mở cổng MySQL cho mọi nguồn, cần xóa hoặc chỉnh sửa quy tắc cho phép tương ứng. Một quy tắc từ chối được thêm sau chưa chắc có thể ghi đè quy tắc cho phép đứng trước.

Xóa quy tắc và quản lý nhật ký tường lửa

Để xem danh sách quy tắc kèm số thứ tự, nhập:

sudo ufw status numbered

Ví dụ, nếu muốn xóa quy tắc số 5, sử dụng:

sudo ufw delete 5

Sau đó, kiểm tra lại danh sách để xác nhận quy tắc đã được xóa.

Số thứ tự có thể thay đổi sau mỗi lần thêm hoặc xóa quy tắc. Vì vậy, cần kiểm tra lại trước khi thực hiện thao tác tiếp theo.

Xóa quy tắc và quản lý nhật ký tường lửa
Xóa quy tắc theo số thứ tự

Bạn cũng có thể xóa quy tắc theo nội dung. Ví dụ, xóa quy tắc cho phép cổng 8080:

sudo ufw delete allow 8080/tcp

Lệnh này áp dụng khi quy tắc tương ứng đã tồn tại. Để bật ghi nhật ký UFW:

sudo ufw logging on

Để xem trạng thái và mức độ ghi nhật ký:

sudo ufw status verbose

Nhật ký hỗ trợ người quản trị tìm hiểu những kết nối bị chặn hoặc hoạt động mạng đáng chú ý. Tuy nhiên, cần theo dõi dung lượng lưu trữ nếu lưu lượng truy cập lớn.

Xóa theo nội dung và bật nhật ký tường lửa
Xóa theo nội dung và bật nhật ký tường lửa

Cấu hình tường lửa cho VPS AlmaLinux/Rocky Linux bằng firewalld

Đối với VPS chạy AlmaLinux hoặc Rocky Linux, bạn có thể sử dụng firewalld để quản lý những dịch vụ và cổng mạng được phép truy cập.

Khác với UFW, firewalld sử dụng khái niệm zone để nhóm các quy tắc theo mức độ tin cậy của mạng hoặc giao diện.

Trước tiên, kết nối SSH vào VPS và kiểm tra phiên bản hệ điều hành:

cat /etc/os-release
Cài đặt firewalld
Cài đặt firewalld

Bước 1: Cài đặt firewalld

Nếu chưa cài đặt, nhập:

sudo dnf install -y firewalld

Kiểm tra dịch vụ có đang chạy hay không:

sudo systemctl is-active firewalld

Bước 2: Cấu hình quy tắc trước khi khởi chạy

Nếu kết quả là inactive, nên cấu hình quyền truy cập SSH trước khi bật dịch vụ.

Với cổng SSH mặc định 22:

sudo firewall-offline-cmd --add-service=ssh

Nếu SSH sử dụng cổng tùy chỉnh, chẳng hạn 2222, cần mở thêm đúng cổng:

sudo firewall-offline-cmd --add-port=2222/tcp
Hướng dẫn cấu hình tường lửa cho VPS từ A-Z 2
Cấu hình quy tắc trước khi khởi chạy

Đối với VPS chạy website, cho phép HTTP và HTTPS:

sudo firewall-offline-cmd --add-service=http

sudo firewall-offline-cmd --add-service=https

Những lệnh trên cấu hình zone mặc định khi firewalld chưa hoạt động. Nếu giao diện mạng được gán cho zone khác, cần sử dụng đúng zone tương ứng.

Bước 3: Kích hoạt firewalld

Sau khi chuẩn bị các quy tắc cần thiết:

sudo systemctl enable --now firewalld

Lệnh sẽ khởi chạy firewalld và thiết lập dịch vụ khởi động cùng hệ thống.

Nếu firewalld đã hoạt động từ trước, không sử dụng các lệnh firewall-offline-cmd phía trên. Thay vào đó, bạn có thể bổ sung quy tắc bằng firewall-cmd.

Ví dụ, mở HTTP và HTTPS trong zone mặc định:

sudo firewall-cmd --permanent --add-service=http

sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload
Kích hoạt firewalld
Kích hoạt firewalld

Bước 4: Kiểm tra kết quả

Kiểm tra những zone đang hoạt động:

sudo firewall-cmd --get-active-zones

Sau đó, xem các quy tắc trong zone mặc định:

sudo firewall-cmd --list-all

Nếu giao diện mạng sử dụng zone khác zone mặc định, hãy kiểm tra zone thực tế bằng:

sudo firewall-cmd --zone=public --list-all

Trong ví dụ này, public cần được thay bằng zone đang gắn với giao diện mạng của VPS.

Kiểm tra kết quả
Kiểm tra kết quả

Khi sử dụng –permanent, các thay đổi được lưu lại để sử dụng sau khi khởi động lại hoặc tải lại firewalld. Những thay đổi này chưa có hiệu lực tức thì nếu chưa được áp dụng vào cấu hình runtime.

Lưu ý: Không nên đồng thời quản lý cùng một bộ quy tắc mạng bằng UFW, firewalld và những công cụ cấu hình cấp thấp khác nếu chưa hiểu rõ cách các quy tắc tương tác với nhau.

Cấu hình tường lửa cho VPS Windows Server

Đối với VPS Windows Server, bạn có thể sử dụng Windows Defender Firewall để quản lý các kết nối mà không cần cài đặt UFW.

Cách đơn giản cho người mới là sử dụng giao diện Windows Firewall with Advanced Security.

Bước 1: Kết nối vào VPS Windows Server bằng Remote Desktop và đăng nhập bằng tài khoản có quyền quản trị.

Bước 2: Nhấn Windows + R, nhập wf.msc.

Sau đó, nhấn Enter để mở công cụ quản lý tường lửa.

Bước 3: Chọn Inbound Rules ở menu bên trái, sau đó nhấp New Rule….

Cấu hình tường lửa cho VPS Windows Server
Cấu hình tường lửa cho VPS Windows Server

Bước 4: Chọn loại quy tắc Port, nhấn Next.

Bước 5: Chọn giao thức TCP và mục Specific local ports.

Ví dụ, nếu muốn mở cổng 80 và 443 cho website, nhập:

80,443

Nhấn Next để tiếp tục.

Bước 6: Chọn Allow the connection, sau đó lựa chọn những network profile phù hợp với cấu hình máy chủ.

Bước 7: Đặt tên dễ nhận biết, chẳng hạn Allow Web HTTP HTTPS, rồi nhấn Finish.

Cấu hình tường lửa cho VPS Windows Server
Cấu hình tường lửa cho VPS Windows Server

Quy tắc mới sẽ xuất hiện trong danh sách Inbound Rules.

Bạn cũng có thể tạo quy tắc bằng PowerShell với quyền Administrator. Ví dụ, cho phép kết nối TCP vào cổng 80:

New-NetFirewallRule -DisplayName "Allow HTTP 80" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80

Đặc biệt lưu ý: Trước khi thay đổi chính sách tường lửa trên Windows Server, phải đảm bảo cổng Remote Desktop đang sử dụng vẫn được cho phép. Cổng RDP mặc định là 3389/TCP nhưng có thể đã được thay đổi.

Đối với VPS Windows đang sử dụng thực tế, nên ưu tiên giới hạn quyền RDP theo địa chỉ IP nguồn hoặc thông qua VPN, thay vì mở cho toàn bộ Internet.

Cách kiểm tra và khắc phục lỗi tường lửa VPS

Khi VPS không thể kết nối SSH hoặc website ngừng truy cập sau khi cấu hình tường lửa, cần xác định nguyên nhân trước khi thực hiện thay đổi.

Những sự cố phổ biến bao gồm:

Tình trạngNguyên nhân có thể xảy raCách xử lý
Không kết nối được SSHChưa cho phép đúng cổng SSH hoặc IP quản trịKiểm tra quy tắc SSH và địa chỉ nguồn
Website không truy cập đượcChưa mở cổng 80/443 hoặc web server gặp lỗiKiểm tra UFW và dịch vụ web
Đã mở port nhưng vẫn không kết nối đượcDịch vụ chưa lắng nghe hoặc tường lửa nhà cung cấp đang chặnKiểm tra cổng lắng nghe và firewall bên ngoài VPS
Không thể truy cập bằng IPv6Quy tắc IPv6 chưa được áp dụng phù hợpKiểm tra cấu hình IPv6 và các quy tắc tương ứng
Truy cập được trước khi bật UFW nhưng bị lỗi sau đóQuy tắc cho phép chưa đầy đủ hoặc xung độtRà soát danh sách quy tắc và thứ tự áp dụng

Để kiểm tra cổng TCP đang lắng nghe trên VPS Linux, sử dụng:

sudo ss -lntp

Nếu ứng dụng chưa lắng nghe trên cổng cần thiết, việc mở cổng trong tường lửa cũng không thể giúp truy cập dịch vụ thành công.

Đối với máy tính Windows, có thể mở PowerShell để kiểm tra khả năng kết nối đến cổng SSH:

Test-NetConnection -ComputerName 203.0.113.20 -Port 22

Thay 203.0.113.20 bằng IP public của VPS và 22 bằng cổng SSH thực tế.

Nếu đã mất kết nối SSH do cấu hình UFW, bạn nên thực hiện theo thứ tự:

  1. Truy cập VPS qua Console, VNC hoặc Rescue Mode do nhà cung cấp hỗ trợ, nếu có.
  2. Kiểm tra trạng thái bằng sudo ufw status verbose.
  3. Bổ sung đúng quy tắc cho phép SSH và IP quản trị.
  4. Kiểm tra kết nối từ máy tính trước khi đóng Console.

Trong trường hợp khẩn cấp và đã xác định UFW là nguyên nhân, có thể tạm thời vô hiệu hóa từ Console:

sudo ufw disable

Sau đó, kiểm tra và cấu hình lại các quy tắc cần thiết trước khi bật UFW trở lại.

Không nên duy trì trạng thái tắt tường lửa lâu dài khi chưa có biện pháp kiểm soát truy cập thay thế phù hợp.

Những lưu ý quan trọng khi cấu hình Firewall VPS

Để tường lửa hoạt động hiệu quả mà không ảnh hưởng đến dịch vụ, bạn nên ghi nhớ những nguyên tắc sau:

  • Luôn cho phép SSH trước khi kích hoạt tường lửa: Đảm bảo cổng và IP quản trị được cấu hình chính xác.
  • Chỉ mở những cổng cần thiết: Hạn chế công khai các dịch vụ database, Redis hoặc giao diện quản trị.
  • Kiểm tra cả IPv4 và IPv6: Nếu VPS có địa chỉ IPv6 public, cần đảm bảo chính sách tường lửa cũng áp dụng phù hợp cho IPv6.
  • Kiểm tra tường lửa của nhà cung cấp: VPS có thể đồng thời chịu ảnh hưởng từ firewall tại hệ điều hành và hệ thống mạng của nhà cung cấp.
  • Thận trọng khi sử dụng Docker: Các cổng được công khai qua Docker có thể đi qua quy tắc mạng riêng và không chịu sự kiểm soát như mong đợi của UFW.
  • Lưu lại phương án khôi phục: Nên biết cách truy cập Console hoặc Rescue Mode trước khi thay đổi quy tắc quan trọng.
  • Thường xuyên rà soát quy tắc: Xóa những cổng không còn sử dụng và hạn chế quyền truy cập theo nhu cầu thực tế.
Cấu hình tường lửa cho VPS Windows Server
Những lưu ý quan trọng khi cấu hình Firewall VPS

Lưu ý riêng đối với VPS chạy Docker, n8n hoặc AI Agent:

Nếu Docker công khai một cổng bằng cấu hình như:

ports:

  - "5678:5678"

Cổng này có thể được truy cập từ bên ngoài máy chủ, tùy cấu hình mạng và các lớp bảo mật liên quan. Đặc biệt, Docker có thể xử lý lưu lượng trước những quy tắc UFW thông thường.

Nếu ứng dụng chỉ cần được truy cập qua Reverse Proxy trên cùng VPS, một cách cấu hình phù hợp hơn là:

ports:

  - "127.0.0.1:5678:5678"

Cách ánh xạ này giới hạn cổng xuất bản vào giao diện loopback IPv4 của máy chủ trong mô hình Docker bridge thông thường. Reverse Proxy có thể tiếp nhận yêu cầu từ bên ngoài qua HTTPS và chuyển tiếp đến ứng dụng nội bộ.

Những lưu ý quan trọng khi cấu hình Firewall VPS
Những lưu ý quan trọng khi cấu hình Firewall VPS

Với môi trường có nhiều container, VPN hoặc mạng tùy chỉnh, cần đánh giá thêm quy tắc Docker và cấu hình mạng thực tế trước khi triển khai.

Kết luận

Cấu hình tường lửa cho VPS là bước cơ bản nhưng quan trọng để kiểm soát truy cập và giảm rủi ro bảo mật. Với Ubuntu/Debian, UFW giúp người mới dễ dàng quản lý những cổng cần thiết; trong khi firewalld phù hợp với các hệ điều hành thuộc họ RHEL.

Điều quan trọng nhất là luôn cho phép cổng quản trị trước khi bật tường lửa, chỉ công khai dịch vụ thực sự cần thiết và kiểm tra lại khả năng kết nối sau mỗi thay đổi.

Nếu đang tìm kiếm máy chủ để triển khai website hoặc ứng dụng riêng, bạn có thể tham khảo dịch vụ VPS của Tino để lựa chọn môi trường phù hợp với nhu cầu sử dụng.

Những câu hỏi thường gặp

Có cần cấu hình tường lửa cho VPS mới mua không?

Có. Khi triển khai VPS mới, bạn nên kiểm tra những cổng đang được mở và thiết lập chính sách truy cập phù hợp. Tuy nhiên, không nên mặc định rằng VPS chưa có bất kỳ cơ chế bảo vệ nào, vì một số nhà cung cấp đã áp dụng tường lửa ở lớp hạ tầng. Cần kiểm tra cả hai lớp trước khi thay đổi.

Bật UFW có làm mất kết nối SSH không?

Có thể, nếu cổng SSH hoặc địa chỉ IP quản trị chưa được cho phép. Trước khi chạy sudo ufw enable, hãy thêm quy tắc phù hợp với cổng SSH thực tế. Sau khi bật, giữ nguyên phiên SSH hiện tại và mở thêm một phiên mới để kiểm tra trước khi ngắt kết nối cũ.

Vì sao đã mở cổng 80 và 443 nhưng website vẫn không truy cập được?

Mở cổng tường lửa chỉ cho phép lưu lượng đi qua, không đảm bảo website đang hoạt động. Bạn cần kiểm tra Nginx, Apache hoặc ứng dụng web có đang chạy và lắng nghe đúng cổng hay không. Ngoài ra, cần kiểm tra địa chỉ IP, DNS, cấu hình Reverse Proxy và quy tắc firewall của nhà cung cấp.

Khi chạy Docker, chỉ bật UFW đã đủ bảo vệ các cổng container chưa?

Chưa đủ. Docker có thể tạo những quy tắc mạng riêng khi công khai cổng container, khiến một số lưu lượng không chịu sự kiểm soát của UFW như mong đợi. Bạn cần kiểm tra cấu hình ports, giới hạn địa chỉ bind phù hợp, đồng thời sử dụng firewall ở lớp hạ tầng hoặc các quy tắc Docker chuyên biệt khi cần.

Có cần cấu hình tường lửa riêng cho IPv6 không?

Có, nếu VPS sử dụng IPv6. UFW có thể hỗ trợ quy tắc cho cả IPv4 và IPv6 khi tính năng IPv6 được bật trong cấu hình tương ứng. Bạn nên kiểm tra kết quả sudo ufw status verbose và thử truy cập bằng IPv6 nếu máy chủ có địa chỉ IPv6 public, tránh bỏ sót đường kết nối ngoài ý muốn.

Cấu hình tường lửa có giúp VPS chống mọi cuộc tấn công mạng không?

Không. Tường lửa giúp lọc lưu lượng và giảm khả năng truy cập các dịch vụ không cần thiết, nhưng không thể ngăn chặn mọi hình thức tấn công. VPS vẫn cần cập nhật phần mềm, xác thực SSH an toàn, bảo vệ ứng dụng, sao lưu dữ liệu và sử dụng giải pháp chống DDoS ở lớp hạ tầng khi cần thiết.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan

Xem nhiều