Sử dụng firewalld

0
2318

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

avatar
  Subscribe  
Notify of