Hướng dẫn cài đặt firewalld trên VPS Linux chi tiết [2025]

Hướng dẫn cài đặt firewalld trên VPS Linux chi tiết [2025]

firewalld là gì? Các lợi ích của firewalld

Firewalld là gì?

Firewalld là một công cụ quản lý tường lửa sử dụng các vùng (zones) và quy tắc lọc để kiểm soát lưu lượng mạng đến và đi từ máy chủ. Firewalld hoạt động như một giao diện đơn giản hóa để quản lý các quy tắc tường lửa, dựa trên hệ thống iptables.

Một số lợi ích của firewalld

  • Ngăn chặn truy cập trái phép từ bên ngoài, bảo vệ hệ thống mạng và dữ liệu.
  • Quản lý các dịch vụ, ứng dụng và cổng kết nối mạng.
  • Cấu hình các cổng dịch vụ theo nhu cầu dễ dàng qua giao diện dòng lệnh (firewall-cmd) hoặc đồ họa (firewall-config).

Hướng dẫn cài đặt firewalld trên VPS Linux

Bước 1: Đăng nhập vào VPS/Server bằng giao thức SSH

Để cài đặt firewalld trên VPS Linux, bạn cần đăng nhập vào VPS hoặc Server với quyền root hoặc user có quyền sudo bằng giao thức SSH. Nếu bạn chưa biết cách thao tác thì có thể tham khảo bài viết sau:

Cài đặt firewalld trên VPS Linux

Lưu ý: Nếu bạn đăng nhập vào VPS bằng user root thì không cần tiền tố sudo ở đầu câu lệnh.

Trước tiên, kiểm tra xem Firewalld đã được cài đặt và đang chạy chưa bằng lệnh:

sudo systemctl status firewalld

Nếu nhận được trạng thái như: active (running), Firewalld đã được cài đặt và đang hoạt động. Ví dụ:

[root@panel ~]# sudo systemctl status firewalld 

  ● firewalld.service - firewalld - dynamic firewall daemon

     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

     Active: active (running) since Fri 2025-06-13 14:16:34 +07; 8h ago

       Docs: man:firewalld(1)

   Main PID: 117226 (firewalld)

      Tasks: 3 (limit: 24678)

     Memory: 45.5M

     CGroup: /system.slice/firewalld.service

└─117226 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork –nopid

Nếu nhận được thông báo Unit firewalld.service could not be found., hệ thống chưa cài đặt Firewalld. Hãy tiến hành cài đặt theo các bước dưới đây.

Cài đặt Firewalld theo hệ điều hành

  • Trên CentOS / RHEL:
sudo dnf install firewalld -y
  • Trên Ubuntu/Debian:
sudo apt-get install firewalld -y

Kích hoạt và khởi động Firewalld

Kích hoạt và khởi chạy Firewalld theo 2 lệnh sau:

sudo systemctl enable firewalld
sudo systemctl enable firewalld

Trong đó:

  • enable: Cho phép Firewalld tự động chạy mỗi khi khởi động hệ thống.
  • start: Bắt đầu dịch vụ ngay lập tức.

Kiểm tra trạng thái và cấu hình Firewalld

Firewalld sử dụng các thành phần chính:

  • Zones: Các vùng mạng với quy tắc tường lửa riêng.
  • Services: Dịch vụ mà máy chủ cung cấp hoặc sử dụng.
  • Ports: Cổng mạng được phép hoặc chặn.
  • Source Addresses: Địa chỉ IP nguồn được phép hoặc từ chối.
  • Rules: Quy tắc chi tiết để xử lý kết nối.

Các lệnh cơ bản để cấu hình Firewalld:

Kiểm tra trạng thái dịch vụ:

[root@panel ~]# sudo systemctl status firewalld 

  ● firewalld.service - firewalld - dynamic firewall daemon

     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

     Active: inactive (dead)

       Docs: man:firewalld(1)

Kiểm tra Zone (vùng) mặc định

[root@panel ~]# sudo firewall-cmd --get-default-zone 

Public

Hiển thị danh sách các zone có sẵn

[root@panel ~]# sudo firewall-cmd --get-zones 

block dmz drop external home internal nm-shared public trusted work

Cấu hình các quy tắc cho một zone cụ thể (ví dụ: public)

[root@panel ~]# sudo firewall-cmd --zone=public --add-service=http 

success

Để áp dụng các thay đổi

[root@panel ~]# sudo firewall-cmd --reload 

success

Kiểm tra các quy tắc đã được cấu hình cho Zone

[root@panel ~]# sudo firewall-cmd --list-all 

  public (active)

    target: default

    icmp-block-inversion: no

    interfaces: eth0

    sources: 

    services: cockpit dhcpv6-client ssh

    ports: 8888/tcp

    protocols: 

    forward: no

    masquerade: no

    forward-ports: 

    source-ports: 

    icmp-blocks: 

    rich rules:

Gỡ cài đặt Firewalld trên VPS Linux

Lưu ý quan trọng: Nếu hệ thống chưa có giải pháp thay thế như iptables hoặc nftables, việc gỡ Firewalld có thể khiến tất cả cổng mạng bị mở, dẫn đến rủi ro bảo mật. Với VPS/Server public, hãy cấu hình giải pháp thay thế trước khi gỡ.

Bước 1: Dừng Firewalld

sudo systemctl stop firewalld
Dừng Firewalld

Bước 2: Tắt chạy tự động khi khởi động

sudo systemctl disable firewalld
Tắt Firewalldchạy tự động khi khởi động

Bước 3: Gỡ cài đặt Firewalld trên VPS Linux

  • Trên CentOS / RHEL:
sudo dnf remove -y firewalld
Gỡ cài đặt Firewalld trên VPS Linux OS CentOS / RHEL
  • Trên Ubuntu/Debian:
sudo apt remove -y firewalld

Bước 4: Kiểm tra lại tình trạng firewalld


Chạy lệnh sau để kiểm tra:

sudo systemctl status firewalld

Kết quả sẽ là: Unit firewalld.service could not be found.

Kiểm tra lại tình trạng firewalld sau khi gỡ cài đặt

Tổng kết

Cài đặt Firewalld trên VPS Linux là bước thiết yếu để thiết lập lớp bảo mật đầu tiên cho hệ thống máy chủ. Nhờ khả năng quản lý lưu lượng mạng theo mô hình vùng (zones), dịch vụ (services), cổng (ports) và địa chỉ IP nguồn, Firewalld giúp kiểm soát truy cập linh hoạt và hiệu quả. Firewalld không chỉ bảo vệ VPS trước các cuộc tấn công không mong muốn mà còn giúp bạn trong việc tùy chỉnh và mở rộng chính sách bảo mật. Để đảm bảo hiệu quả dài hạn, bạn nên định kỳ rà soát và cập nhật các quy tắc tường lửa phù hợp với tình hình mạng hiện tại.

Chúc các bạn thành công!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *