Contents
Sử dụng firewalld
Các khái niệm
-
Zone
-
Interface
-
Service
-
Port
-
Protocol
Các lệnh phổ biến
Các lệnh kiểm tra
firewall-cmd --get-zones firewall-cmd --list-all-zones | less firewall-cmd --get-active-zones firewall-cmd --direct --get-all-rules firewall-cmd --list-all firewall-cmd --list-all --zone=ZONENAME firewall-cmd --get-ipsets firewall-cmd --info-ipset=SETNAME firewall-cmd --info-service=SERVICE firewall-cmd --get-services firewall-cmd --list-rich-rules
Thao tác nhóm địa chỉ ipset
firewall-cmd --get-ipsets firewall-cmd --info-ipset=SETNAME firewall-cmd --new-ipset=SETNAME --type=hash:ip firewall-cmd --delete-ipset=SETNAME firewall-cmd --ipset=SETNAME --add-entry=a.b.c.d firewall-cmd --ipset=SETNAME --remove-entry=a.b.c.d firewall-cmd --ipset=SETNAME --query-entry=a.b.c.d firewall-cmd --ipset=SETNAME --get-entries firewall-cmd --ipset=SETNAME --add-entries-from-file=FILENAME firewall-cmd --ipset=SETNAME --remove-entries-from-file=FILENAME firewall-cmd --path-ipset=ipset
Thao tác với service
firewall-cmd --get-services firewall-cmd --info-service=SERVICE firewall-cmd --new-service=SERVICE firewall-cmd --new-service-from-file=FILENAME --name=SERVICE firewall-cmd --delete-service=SERVICE firewall-cmd --path-service=SERVICE firewall-cmd --service=SERVICE --add-port=PORTID[-PORTID]/PROTOCOL firewall-cmd --service=SERVICE --remove-port=PORTID[-PORTID]/PROTOCOL firewall-cmd --service=SERVICE --query-port=PORTID[-PORTID]/PROTOCOL firewall-cmd --service=SERVICE --get-ports firewall-cmd --service=SERVICE --add-protocol=PROTOCOL firewall-cmd --service=SERVICE --remove-protocol=PROTOCOL firewall-cmd --service=SERVICE --query-protocol=protocol
Tạo rule kiểm soát chi tiết
firewall-cmd --list-rich-rules firewall-cmd --add-rich-rule='rule' [--timeout=timeval] firewall-cmd --add-rich-rule='rule family="ipv4" source address="<IP>/32" service name="smtp" drop' rule [source] [destination] service|port|protocol|icmp-block|icmp-type|masquerade|forward-port|source-port [log] [audit] [accept|reject|drop|mark]
Tạo rule direct
firewall-cmd --direct --get-all-rules firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -d <IP> -p tcp --dport <port> -j DROP firewall-cmd --direct --remove-rule ipv4 filter OUTPUT 0 -d <IP> -p tcp --dport <port> -j DROP
Một số kịch bản thường dùng
Đổi port SSH
firewall-cmd --permanent --service=ssh --add-port=1022/tcp firewall-cmd --permanent --service=ssh --remove-port=22/tcp
Chuyển interface eth1 sang zone internal
firewall-cmd --permanent --zone=internal --change-interface=eth1 firewall-cmd --permanent --zone=internal --set-target=ACCEPT # Accept all trên zone này
Thiết lập cho phép services
# firewall-cmd --zone=public --add-service=http success # firewall-cmd --zone=public --add-service=http --permanent success
Mở PORT
# firewall-cmd --zone=public --add-port=9999/tcp # firewall-cmd --zone=public --add-port=9999/tcp --permanent
Mở 1 dải port
# firewall-cmd --zone=public --add-port=4990-5000/tcp # firewall-cmd --zone=public --add-port=4990-5000/tcp --permanent
Đóng Port
# firewall-cmd --zone=public --remove-port=9999/tcp # firewall-cmd --zone=public --remove-port=9999/tcp --permanent
Mở cổng trên CentOS 7/8 chỉ cho IP nhất định.
Với cách trên ai cũng có thể truy cập tới server của bạn, nhưng nếu bạn muốn tăng cường bảo mật thì bạn có thể chỉ cần thiết lập cho 1 địa chỉ IP hoặc 1 dải IP nhất định được phép truy cập.
firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="1.2.3.4/32" port protocol="tcp" port="80" accept'
Hoặc sửa trực tiếp file config của firewall ở địa chỉ: /etc/firewalld/zones/public.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name=”dhcpv6-client”/>
<service name=”ssh”/>
<rule family=”ipv4″>
<source address=”1.2.3.4″/>
<port protocol=”tcp” port=”80″/>
<accept/>
</rule>
<rule family=”ipv4″>
<source address=”1.2.3.5″/>
<port protocol=”tcp” port=”80″/>
<accept/>
</rule>
</zone>
Và nhớ là phải reload lại firewall để áp dụng luật mới
firewall-cmd –reload
Leave a Reply