Firewalld cung cấp một tường lửa được quản lý động với sự hỗ trợ cho các Zone mạng/tường lửa xác định mức độ tin cậy của các kết nối hoặc giao diện mạng. Nó hỗ trợ cài đặt tường lửa IPv4, IPv6, cầu nối ethernet và bộ IP. Có sự tách biệt giữa thời gian chạy và các tùy chọn cấu hình vĩnh viễn. Nó cũng cung cấp một giao diện cho các dịch vụ hoặc ứng dụng để thêm các quy tắc tường lửa một cách trực tiếp. – Firewalld.org
Khái niệm Zone trong Firewalld
Một trong những khái niệm quan trọng trong firewalld là “Zone“. Zone là các nhóm quy tắc được quản lý bởi firewalld. Các vùng dựa trên mức độ tin cậy của người dùng đối với giao diện và lưu lượng truy cập trong mạng. Các khu vực thậm chí còn được xác định từ ít đáng tin cậy nhất đến đáng tin cậy nhất.
Đây là các loại Zone:
- Drop zones : Đây là nơi các kết nối đến bị ngắt mà không có bất kỳ thông báo nào.
- Block zones: Giống như vùng khối nhưng điểm khác biệt duy nhất là nó đưa ra phản hồi ICMP.
- Public zones: Đây là khu vực không đáng tin cậy, nhưng có thể cho phép kết nối tùy từng trường hợp.
- External zones: Nó được sử dụng khi tường lửa của bạn cũng là một cổng hoặc đơn giản, cấu hình cho NAT.
- Internal zones: Đây là phía bên kia của cổng hoặc đơn giản là cấu hình tường lửa được sử dụng bên trong mạng của riêng bạn, thường là trong mạng riêng.
- Internal zones Khu phi quân sự hay nói cách khác là DMZ, là nơi chỉ cho phép một số kết nối đến.
- Internal zones: Có sự tin tưởng vào phần lớn các máy chủ trên mạng, điều này có thể cho phép nhiều dịch vụ hơn.
- Internal zones: Niềm tin ở đây ngày càng được chấp nhận và nhiều hạn chế hơn được xóa bỏ.
- Trusted: Ở đây, có sự tin tưởng tuyệt đối. Lưu ý rằng điều này nên được sử dụng cẩn thận.
1. Kiểm tra tình trạng firewalld bằng commands:
systemctl status firewalld
firewalld-cmd --state
2. Kiểm tra zone đã cấu hình:
firewalld-cmd --get-default-zone
firewalld-cmd
3. Kiểm tra interface đang actived:
firewalld-cmd --get-active-zone
firewalld-cmd
4. Liệt kê tất cả zones:
firewalld-cmd --list-all
5. Kiểm tra zone đã tồn tại:
firewalld-cmd --get-zones
6. KIểm tra rule đã tồn tại:
firewalld-cmd --list-all
firewalld-cmd
7. Cụ thể một zone.
firewall-cmd --zone=home --list-all
8. Nhiều hơn chi tiết zones:
firewall-cmd –list-all-zones
9. Liệt kê dịch vụ đng chạy firewall-zone command:
firewall-cmd --get-services
- Vị trí file /usr/lib/firewalld/services
10. Chuyển enp0s3 từ public sang home zone.
firewall-cmd --zone=home --change-interface=enp0s3
Kiểm tra lại
firewall-cmd –list-all-zones
11. Kiểm tra command active zone:
firewall-cmd --get-active-zones
12. Vị trí file cấu hình /etc/sysconfig/network-scripts/ifcfg-enp0s3 thêm zone manual.
ZONE=home
13. Kiểm tra zone cụ thể:
firewall-cmd --set-default-zone=home
14. To add a specific service to a zone, for example, adding https to the zone public.
firewall-cmd --zone=public --add-service=https
15. Thêm một dịch vụ vào zone:
firewall-cmd --permanent --zone=public --add-service=https
16. Thêm một dịch vụ với port
firewall-cmd --permanent --zone=public --add-port=8080/tcp
17. Thêm với range port
firewall-cmd --permanent --zone=public --add-port=8000-8080/tcp
18. Thêm một network cụ thể:
firewall-cmd --permanent --zone=public --add-source=10.0.3.16/24
19. Thêm một ipv4 và network với action cụ thể.
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.10.10.10/24" reject'
20. Thêm với service với nhiều thông tin hơn
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.10.10.5/24" service name="ftp" log prefix="tftp" level="info" limit value="2/m" accept'
21. Lấy thông tin zone:
firewall-cmd --get-zone-of-interface=enp0s3
22. Liệt kê với thông tin zone cụ thể:
firewall-cmd --zone=public --list-interfaces
23. Stop tất cả zone:
firewall-cmd --panic-on
24. Off zone panic:
firewall-cmd --panic-off
25. Kiểm tra panic:
firewall-cmd --query-panic
NAT, Port Forwarding and Masquerading
26. Kiểm tra masquerading on or off:
firewall-cmd --query-masquerade
27. Kiểm tra masquerade với zone public
firewall-cmd --zone=public --query-masquerade
28. Bật masquerade với zone public
firewall-cmd --zone=public --add-masquerade
29. Chuyển tiếp zone masquerade với zone public:
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.10.10.5/24" masquerade'
30. Chuyển tiếp port 22 sang port 8000.
firewall-cmd –permanent –zone=public –add-forward-port=port=22:proto=tcp:toport=8000
31. Thêm IP address:
firewall-cmd --permanent --zone=public --add-forward-port=port=22:proto=tcp:toport=8000:toaddr=10.0.2.16
32. Kiểm tra lại –query-forward-port:
firewall-cmd --permanent --zone=public --query-forward-port=port=22:proto=tcp:toport=8000:toaddr=10.0.2.16
33. Cài đặt config
yum install firewall firewalld-config
34. Kiểm tra status:
systemctl status firewalld
firewall-cmd --state
35. Mở debug tại /etc/sysconfig/firewalld
FIREWALLD_ARGS='--debug'
Nhớ khởi động hoặc reload lại sau khi add cấu hình.