Cách Thiết Lập Tường Lửa Cho VPS: Hướng Dẫn A-Z

Việc vận hành một máy chủ ảo (VPS) mà không có lớp bảo vệ vững chắc cũng giống như để ngỏ cửa nhà bạn. Các mối đe dọa tự động như botnet liên tục quét internet để tìm kiếm những hệ thống dễ bị tổn thương. Việc thiết lập tường lửa là bước đi cơ bản nhưng cực kỳ quan trọng để bảo vệ tài sản số của bạn.

Bài viết này của InterData sẽ hướng dẫn bạn từng bước cách thiết lập tường lửa cho VPS. Chúng tôi sẽ đi từ những khái niệm cơ bản nhất đến việc cấu hình chi tiết các công cụ firewall phổ biến, đảm bảo ngay cả người mới bắt đầu cũng có thể tự tin thực hiện.

Tường lửa (Firewall) cho VPS là gì và tại sao lại quan trọng?

Hãy hình dung tường lửa như một người bảo vệ kỹ thuật số đứng canh gác tại cổng vào của VPS. Nhiệm vụ chính của tường lửa là giám sát và lọc tất cả lưu lượng mạng đi vào và đi ra dựa trên một bộ quy tắc bảo mật đã được định sẵn. Tường lửa quyết định cho phép những kết nối an toàn và chặn đứng những truy cập đáng ngờ.

Thiết lập tường lửa cho VPS

Tầm quan trọng của tường lửa không thể bị xem nhẹ. Theo các báo cáo an ninh mạng, hàng ngàn cuộc tấn công tự động diễn ra mỗi phút trên toàn cầu. Một VPS không được bảo vệ có thể bị xâm nhập chỉ trong vài giờ. Tường lửa giúp bạn ngăn chặn các mối đe dọa phổ biến nhất, đảm bảo sự ổn định và an toàn cho dữ liệu.

Cụ thể, tường lửa bảo vệ VPS của bạn bằng cách:

  • Chặn các truy cập trái phép: Ngăn chặn hacker và các bot độc hại cố gắng dò tìm mật khẩu (brute-force attack) qua các cổng dịch vụ như SSH hoặc Remote Desktop.
  • Ngăn ngừa phần mềm độc hại: Hạn chế khả năng lây nhiễm malware bằng cách chặn các kết nối đến từ những nguồn không đáng tin cậy.
  • Kiểm soát luồng dữ liệu: Cho phép bạn toàn quyền quyết định dịch vụ nào được phép giao tiếp với internet, giảm thiểu bề mặt tấn công của hệ thống.

Lựa chọn công cụ Firewall phù hợp cho VPS của bạn

Việc lựa chọn công cụ tường lửa phụ thuộc chủ yếu vào hệ điều hành bạn đang sử dụng và mức độ kiểm soát bạn mong muốn. Mỗi công cụ đều có ưu và nhược điểm riêng. Dưới đây là ba lựa chọn phổ biến nhất hiện nay mà bạn nên cân nhắc.

UFW (Uncomplicated Firewall)

Đúng như tên gọi, UFW là một giao diện quản lý tường lửa được thiết kế để đơn giản hóa quá trình cấu hình Iptables. UFW là lựa chọn mặc định và được khuyến nghị cho người dùng hệ điều hành Ubuntu, đặc biệt là những người mới bắt đầu. Ưu điểm lớn nhất của UFW là cú pháp lệnh ngắn gọn, dễ hiểu và dễ nhớ.

UFW

CSF (ConfigServer Security & Firewall)

CSF là một bộ công cụ bảo mật toàn diện và mạnh mẽ hơn. Ngoài chức năng tường lửa, CSF còn tích hợp Login Failure Daemon (LFD) – một tiến trình tự động quét file log để phát hiện các cuộc tấn công brute-force và tự động chặn IP vi phạm. CSF là lựa chọn hàng đầu cho các máy chủ yêu cầu bảo mật cao, đặc biệt là các VPS có cài đặt control panel như cPanel hoặc DirectAdmin.

CSF

Windows Defender Firewall

Đối với người dùng VPS chạy hệ điều hành Windows Server, Windows Defender Firewall là một giải pháp tích hợp sẵn vô cùng hiệu quả. Công cụ này cung cấp giao diện đồ họa trực quan để tạo các quy tắc cho kết nối đến (Inbound Rules) và đi (Outbound Rules), giúp việc quản lý trở nên đơn giản hơn so với việc sử dụng dòng lệnh.

Windows_Defender_Firewall

Hướng dẫn thiết lập tường lửa UFW cho VPS Ubuntu

UFW là điểm khởi đầu tuyệt vời để bảo vệ VPS Ubuntu. Quá trình thiết lập rất nhanh chóng và trực quan. Hãy đảm bảo bạn đang đăng nhập vào VPS với quyền root hoặc người dùng có quyền sudo.

Thiết lập tường lửa cho VPS

Bước 1: Cài đặt và kích hoạt UFW

Trên hầu hết các phiên bản Ubuntu mới, UFW đã được cài đặt sẵn. Bạn có thể kiểm tra bằng lệnh ufw status. Nếu chưa có, hãy chạy lệnh sau để cài đặt:

sudo apt update
sudo apt install ufw

Sau khi cài đặt, bạn cần kích hoạt UFW. Tuy nhiên, trước khi làm điều đó, hãy chắc chắn bạn đã cho phép kết nối SSH ở bước tiếp theo để không tự khóa mình khỏi VPS.

Bước 2: Thiết lập quy tắc mặc định (Default Rules)

Một nguyên tắc bảo mật vàng là “chặn tất cả, chỉ cho phép những gì cần thiết”. Chúng ta sẽ áp dụng nguyên tắc này bằng cách từ chối tất cả các kết nối đến và cho phép tất cả các kết nối đi.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Thiết lập này tạo ra một nền tảng an toàn. Mặc định, không ai có thể truy cập vào VPS của bạn từ bên ngoài, nhưng các ứng dụng bên trong VPS vẫn có thể kết nối ra internet để cập nhật hoặc sử dụng các dịch vụ khác.

Bước 3: Mở các port cần thiết

Bây giờ, chúng ta sẽ “đục lỗ” trên tường lửa để cho phép các kết nối hợp lệ. Điều quan trọng nhất là phải mở cổng SSH trước tiên. Nếu bạn bỏ qua bước này và bật tường lửa, bạn sẽ ngay lập tức bị mất kết nối.

# Mở cổng SSH (cổng 22 là mặc định)
sudo ufw allow ssh
# Hoặc sudo ufw allow 22/tcp

# Mở cổng HTTP cho web server
sudo ufw allow http
# Hoặc sudo ufw allow 80/tcp

# Mở cổng HTTPS cho web server
sudo ufw allow https
# Hoặc sudo ufw allow 443/tcp

Sau khi đã chắc chắn mở cổng SSH và các cổng cần thiết khác, bạn có thể an toàn kích hoạt UFW:

sudo ufw enable

Hệ thống sẽ hỏi bạn xác nhận, hãy nhập y và nhấn Enter.

Bước 4: Xóa và kiểm tra các quy tắc

Để xem danh sách các quy tắc bạn đã thiết lập cùng với số thứ tự, hãy sử dụng lệnh:

sudo ufw status numbered

Nếu bạn muốn xóa một quy tắc nào đó, chỉ cần dùng lệnh ufw delete theo sau là số thứ tự của quy tắc đó. Ví dụ, để xóa quy tắc số 3:

sudo ufw delete 3

Hướng dẫn cài đặt Firewall CSF cho VPS (CentOS/Ubuntu)

CSF cung cấp một lớp bảo vệ nâng cao hơn. Quá trình cài đặt phức tạp hơn một chút so với UFW nhưng mang lại khả năng kiểm soát và tự động hóa vượt trội.

Bước 1: Tải và cài đặt CSF

Đầu tiên, hãy cài đặt các gói phụ thuộc cần thiết.

# Đối với CentOS/RHEL
sudo yum install wget perl net-tools perl-libwww-perl

# Đối với Ubuntu/Debian
sudo apt install wget perl libwww-perl

Tiếp theo, tải về bộ cài đặt CSF, giải nén và chạy script cài đặt.

cd /usr/src
sudo wget https://download.configserver.com/csf.tgz
sudo tar -xzf csf.tgz
cd csf
sudo sh install.sh

Bước 2: Cấu hình cơ bản CSF

Sau khi cài đặt, CSF sẽ chạy ở chế độ TESTING. Bạn cần cấu hình các port cần thiết trước khi tắt chế độ này. Mở file cấu hình chính:

sudo nano /etc/csf/csf.conf

Tìm và chỉnh sửa các dòng sau:

  • TESTING = "1": Tạm thời giữ nguyên giá trị này. Chúng ta sẽ đổi thành 0 sau khi cấu hình xong.
  • TCP_IN: Đây là danh sách các port TCP cho phép kết nối đến. Một cấu hình phổ biến cho web server là: TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
  • TCP_OUT: Danh sách các port TCP cho phép kết nối đi. Thường có thể để mặc định.

Bước 3: Khởi động và quản lý CSF

Sau khi đã chỉnh sửa file cấu hình và lưu lại, hãy khởi động lại CSF để áp dụng thay đổi.

sudo csf -r

Khi bạn đã chắc chắn rằng mọi thứ hoạt động bình thường (bạn vẫn có thể truy cập SSH, website vẫn hoạt động), hãy quay lại file csf.conf và đổi TESTING = "1" thành TESTING = "0". Sau đó khởi động lại CSF lần nữa.

Bước 4: Các tính năng hữu ích khác

Sức mạnh của CSF nằm ở các tính năng quản lý dễ dàng.

  • Chặn một địa chỉ IP: sudo csf -d IP_ADDRESS
  • Cho phép một địa chỉ IP: sudo csf -a IP_ADDRESS
  • Bỏ chặn một địa chỉ IP: sudo csf -dr IP_ADDRESS

Tính năng Login Failure Daemon (LFD) sẽ tự động chạy và bảo vệ VPS của bạn khỏi các cuộc tấn công dò mật khẩu mà không cần bạn can thiệp thêm.

Một số lưu ý quan trọng khi cấu hình Firewall

Việc cấu hình tường lửa đòi hỏi sự cẩn trọng. Một sai lầm nhỏ có thể dẫn đến việc dịch vụ bị gián đoạn hoặc tệ hơn là bạn không thể truy cập vào chính máy chủ của mình.

Luôn mở Port SSH trước tiên

Đây là lời nhắc nhở quan trọng nhất. Dù bạn sử dụng UFW hay CSF, quy tắc đầu tiên bạn nên thêm luôn là cho phép kết nối qua cổng SSH. Nếu bạn kích hoạt tường lửa với chính sách mặc định là chặn tất cả mà chưa mở cổng SSH, kết nối hiện tại của bạn sẽ bị ngắt và bạn không thể kết nối lại.

Kiểm tra trước khi áp dụng

CSF có chế độ TESTING rất hữu ích. Chế độ này sẽ tự động xóa tất cả các quy tắc tường lửa sau một khoảng thời gian ngắn (mặc định là 5 phút), giúp bạn có cơ hội sửa lỗi nếu cấu hình sai. Đối với UFW, hãy luôn dùng lệnh ufw status để kiểm tra lại các quy tắc trước khi chạy lệnh ufw enable.

Sao lưu cấu hình

Trước khi thực hiện những thay đổi lớn, bạn nên tạo một bản sao lưu cho file cấu hình. Đối với UFW, các quy tắc nằm trong thư mục /etc/ufw/. Đối với CSF, file cấu hình chính là /etc/csf/csf.conf. Một lệnh sao lưu đơn giản có thể giúp bạn tiết kiệm rất nhiều thời gian sau này.

Câu hỏi thường gặp (FAQ)

Dưới đây là một số câu hỏi mà đội ngũ của InterData thường nhận được từ người dùng khi họ bắt đầu tìm hiểu về tường lửa cho VPS.

Làm thế nào để kiểm tra port đang mở trên VPS?

Bạn có thể sử dụng lệnh netstat -tuln hoặc ss -tuln trên terminal. Các lệnh này sẽ liệt kê tất cả các cổng đang “lắng nghe” kết nối trên máy chủ của bạn, giúp bạn xác định dịch vụ nào đang chạy và cần được cho phép qua tường lửa.

Tôi bị khóa khỏi VPS sau khi bật firewall, phải làm sao?

Đây là một tình huống khá phổ biến. Hầu hết các nhà cung cấp dịch vụ VPS như InterData đều cung cấp một phương thức truy cập khẩn cấp qua “Console” hoặc “VNC” trong bảng điều khiển khách hàng. Bạn có thể sử dụng giao diện này để đăng nhập và vô hiệu hóa tường lửa (ufw disable hoặc csf -f) để lấy lại quyền truy cập SSH.

Dùng Firewall có làm chậm VPS không?

Với công nghệ phần cứng và phần mềm hiện đại, tác động của tường lửa dựa trên host (như UFW, CSF) lên hiệu suất của VPS là không đáng kể đối với hầu hết các ứng dụng. Lợi ích về mặt bảo mật mà tường lửa mang lại lớn hơn rất nhiều so với bất kỳ sự sụt giảm hiệu suất nhỏ nào có thể xảy ra.

Nên mở những port nào cho một website WordPress?

Đối với một trang web WordPress tiêu chuẩn, bạn cần mở ít nhất các cổng sau:

  • 80 (HTTP): Cho phép người dùng truy cập trang web của bạn qua giao thức không mã hóa.
  • 443 (HTTPS): Cho phép truy cập an toàn, mã hóa (yêu cầu có chứng chỉ SSL).
  • 22 (SSH): Để bạn có thể quản trị VPS.
  • Bạn cũng có thể cần mở cổng cho FTP/SFTP (21/22) nếu bạn dùng phương thức này để tải file lên.