FirewallD là một giải pháp tường lửa rất tốt với các tính năng tuyệt vời. Người dùng có thể dễ dàng sử dụng tường lửa này nếu đã quen thuộc với cú pháp của iptables
. Lệnh iptables
thực tế được sử dụng bởi chính firewalld
nhưng dịch vụ iptables
không được cài đặt mặc định trên CentOS. Trong bài viết này, Vietnix sẽ hướng dẫn bạn cách di chuyển từ FirewallD sang Iptables trên CentOS 7 nhanh chóng.
Lưu các Firewall Rule hiện tại (Tùy chọn)
Trước khi chuyển Iptables thành giải pháp tường lửa của server thì bạn nên lưu các quy tắc hiện tại mà firewalld
đang thực thi. Tiến trình firewalld
tận dụng lệnh iptables
để nói với các netfilter
kernel hook. Bạn có thể lưu các rule hiện tại bằng cách sử dụng lệnh iptables
.
Lưu bộ quy tắc hiện tại vào standard output và file firewalld_iptables_rules
trong thư mục home của bạn bằng cách gõ lệnh sau:
sudo iptables -S | tee ~/firewalld_iptables_rules
Làm tương tự với ip6tables
:
sudo ip6tables -S | tee ~/firewalld_ip6tables_rules
Tùy thuộc vào các khu vực firewalld
đang hoạt động, các dịch vụ được kích hoạt và các rule được chuyển từ firewall-cmd
trực tiếp sang iptables
, bộ quy tắc đã được sao lưu có thể khá phức tạp.
Dịch vụ firewalld
thực hiện firewall policies bằng cách sử dụng các rule iptables
thông thường. Một management framework sẽ được xây dựng bằng cách sử dụng các iptables
chain. Hầu hết các rule bạn thấy sẽ được sử dụng để tạo các management chain và điều hướng luồng hoặc lưu lượng vào ra khỏi các cấu trúc này.
Các rule tường lửa mà bạn di chuyển sang dịch vụ iptables
không cần tạo lại management framework mà firewalld
phụ thuộc vào. Do đó, bộ rule mà bạn thực hiện sẽ có thể đơn giản hơn nhiều.
Bạn có thể xem một số dòng cần thiết để có ý tưởng về policy phải tạo lại bằng cách nhập lệnh như sau:
grep 'ACCEPT\|DROP\|QUEUE\|RETURN\|REJECT\|LOG' ~/firewalld_iptables_rules
Lệnh này chủ yếu là hiển thị các rule dẫn đến quyết định cuối cùng. Các rule chỉ nhảy đến các chain được tạo bởi người dùng sẽ không được hiển thị.
Tải và cài đặt dịch vụ Iptables
Để bắt đầu quá trình chuyển đổi trên server, bạn cần tải xuống và cài đặt gói dịch vụ iptables-service
từ kho lưu trữ của CentOS.
Hãy tải xuống và cài đặt các file dịch vụ bằng cách gõ lệnh sau:
sudo yum install iptables-services
Lệnh này sẽ tải xuống và cài đặt các systemd
script được sử dụng để quản lý dịch vụ iptables
. Lệnh cũng sẽ ghi một số file cấu hình mặc định cho iptables
và ip6tables
vào thư mục /etc/sysconfig
.
Xây dựng các Firewall Rule cho Iptables
Tiếp theo, bạn sẽ xây dựng các rule của tường lửa iptables
bằng cách chỉnh sửa 2 file /etc/sysconfig/iptables
và /etc/sysconfig/ip6tables
. Những file này chứa các rule được đọc và áp dụng khi bạn bắt đầu dịch vụ iptables
.
Cách bạn xây dựng các firewall rule phụ thuộc vào quá trình system-config-firewall
cài đặt và sử dụng để quản lý các file. Kiểm tra đầu file /etc/sysconfig/iptables
để xem liệu có thể chỉnh sửa thủ công hay không:
sudo head -2 /etc/sysconfig/iptables
Nếu output trông giống như thế này, bạn có thể chỉnh sửa thủ công các file /etc/sysconfig/iptables
và /etc/sysconfig/ip6tables
để triển khai các policy cho tường lửa iptables
của bạn:
output
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
Mở và chỉnh sửa các file với quyền sudo
để thêm các rule:
sudo nano /etc/sysconfig/iptables
sudo nano /etc/sysconfig/ip6tables
Sau khi đã tạo các rule, bạn có thể kiểm tra các rule IPv4 và IPv6 của mình bằng các lệnh sau đây:
sudo sh -c 'iptables-restore -t < /etc/sysconfig/iptables'
sudo sh -c 'ip6tables-restore -t < /etc/sysconfig/ip6tables'
Nếu output khi xem file /etc/sysconfig/iptables
trông giống như thế này thì bạn không nên chỉnh sửa thủ công:
output
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
Output này cho biết công cụ quản lý hệ thống tường lửa system-config-firewall
đã được cài đặt và đang được sử dụng để quản lý file này. Mọi thay đổi thủ công sẽ bị ghi đè bởi công cụ này. Nếu output như vậy, bạn nên thay đổi tường lửa của mình bằng một trong các công cụ liên quan. Đối với UI, nhập lệnh:
sudo system-config-firewall-tui
Nếu bạn đã cài đặt giao diện đồ họa UI, bạn có thể mở lên bằng cách nhập lệnh sau:
sudo system-config-firewall
Dừng dịch vụ FirewallD và khởi động dịch vụ Iptables
Tiếp theo, bạn cần dừng dịch vụ tường lửa firewalld
hiện tại và mở các dịch vụ iptables
lên. Bạn sẽ sử dụng cấu trúc &&
để khởi động các dịch vụ tường lửa mới ngay khi dịch vụ firewalld
tắt thành công:
sudo systemctl stop firewalld && sudo systemctl start iptables; sudo systemctl start ip6tables
Xác minh rằng firewalld
không chạy bằng cách nhập lệnh sau:
sudo firewall-cmd --state
Bạn cũng có thể xem các rule thiết lập trong thư mục /etc/sysconfig
đã được tải và áp dụng bằng cách nhập lệnh:
sudo iptables -S
sudo ip6tables -S
Các dịch vụ iptables
và ip6tables
đang hoạt động cho phiên làm việc hiện tại. Tuy nhiên, hiện tại, dịch vụ firewalld
vẫn là dịch vụ được khởi động tự động khi server khởi động lại.
Bạn có thể khởi động lại server để phục hồi lại tường lửa cũ nếu có bất kỳ vấn đề gì xảy ra. Do đó, đây là thời điểm tốt nhất để kiểm tra firewall policies có mức độ truy cập mà bạn cần hay không.
Tắt dịch vụ FirewallD và bật dịch vụ Iptables
Sau khi kiểm tra các rule tường lửa để đảm bảo policy của bạn đang được áp dụng đúng cách, bạn có thể tiếp tục với việc tắt dịch vụ firewalld
bằng cách nhập lệnh:
sudo systemctl disable firewalld
Lệnh này sẽ ngăn dịch vụ tự động khởi động khi hệ thống khởi động. Để firewalld
không được khởi động thủ công khi các dịch vụ iptables
chạy, bạn có thể masking dịch vụ này. Điều này sẽ ngăn dịch vụ firewalld
khỏi khởi động thủ công:
sudo systemctl mask firewalld
Bây giờ, bạn có thể bật dịch vụ iptables
và ip6tables
để hai dịch vụ được khởi động tự động khi khởi động hệ thống:
sudo systemctl enable iptables
sudo systemctl enable ip6tables
Như vậy là hoàn tất quá trình chuyển đổi tường lửa.
Triển khai tường lửa là một bước quan trọng để đảm bảo an toàn cho máy chủ của bạn. Ngoài việc tuân theo hướng dẫn chuyển đổi từ FirewallD sang Iptables trên CentOS 7, bạn còn có thể tăng cường bảo mật cho máy chủ bằng cách sử dụng dịch vụ Firewall Anti DDoS của Vietnix.
Với Firewall Anti DDoS của Vietnix, bạn sẽ nhận được một giải pháp bảo vệ toàn diện, giúp tăng cường tính ổn định và đảm bảo hệ thống đứng vững trước các cuộc tấn công DDoS. Đây là công nghệ độc quyền mà Vietnix đã phát triển, có khả năng phát hiện và cảnh báo tấn công tự động, sử dụng nhiều tầng dự phòng, hệ thống phần cứng mạnh mẽ và được bảo vệ bởi đội ngũ chuyên gia hàng đầu.
Với dịch vụ Firewall Anti DDoS của Vietnix, bạn sẽ có một giải pháp bảo mật toàn diện và hiệu quả cho máy chủ của mình. Việc phòng chống các cuộc tấn công DDoS trở nên dễ dàng hơn bao giờ hết. Bạn có thể yên tâm rằng hệ thống của mình sẽ được bảo vệ khỏi những nguy cơ đe dọa từ các cuộc tấn công mạng.
Bên cạnh công nghệ Firewall Anti DDoS độc quyền, bạn có thể yên tâm lựa chọn Vietnix bởi những lý do sau:
- Có hơn 11 năm kinh nghiệm và đồng hành cùng 50.000 khách hàng.
- Đã kích hoạt thành công hơn 100.000 dịch vụ cho khách hàng.
- 97% khách hàng sau đánh giá 5 sao sau khi sử dụng dịch vụ.
- 89% khách hàng duy trì sử dụng dịch vụ đến thời điểm hiện tại.
- Nhận giải thưởng Thương hiệu Việt Nam xuất sắc vào năm 2022.
Liên hệ ngay với Vietnix để tìm hiểu thêm về dịch vụ Firewall Anti DDoS và bắt đầu bảo vệ máy chủ ngay hôm nay.
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
Lời kết
Qua bài viết trên, Vietnix đã hướng dẫn bạn chuyển đổi tường lửa từ firewalld
sang iptables
trên CentOS 7. Nếu còn điều gì chưa rõ trong quá trình thao tác, bạn có thể bình luận bên dưới để được hỗ trợ.