當前位置: 華文世界 > 科技

防火墻(firewalld)在伺服端的典型需求和配置

2024-09-07科技

伺服端的典型防火墻需求,通常如下:
1、允許所有出站流量,
2、限制所有入站流量,
3、允許HTTP和HTTPS這類流量,
4、只允許從堡壘機登入伺服器,
5、只允許從監控主機存取伺服器的被監控埠,或只允許代理機存取一些內部服務,
6、如果有雙機熱備,可能還要允許VRRP透過,否則會發生腦裂。

防火墻大都是firewalld,而不再是iptables了。
下面我們看具體的firewalld配置

0、 可能要清空之前的防火墻策略

rm -rf /etc/firewalld/zones

因為是可能,所以它是第0條。

0、 啟動firewalld並設定預設區域 (假設使用public區域):

systemctl start firewalldfirewall-cmd --set-default-zone=public

通常有如下區域,這個區域類似於配置模版。

  • public: (公共區域)一般預設為該區域,僅允許存取本機的sshd, dhcp, ping等服務
  • trusted:(信任區域)允許任何存取
  • block: (限制區域)阻塞任何來訪請求
  • drop:(丟棄區域)丟棄任何來訪的封包(不做出任何回應,直接丟棄) 能節省資源
  • 不同的區域,可以作用在不同的網卡,如下:

    firewall-cmd --permanent --zone=trusted --change-interface=eth0firewall-cmd --permanent --zone=public --change-interface=etpfirewall-cmd --reload

    最簡配置:除了啟動firewalld,其他均可以不配置。

    1、 允許所有出站流量

    firewalld預設情況下允許所有出站流量,所以你不需要做額外的設定。

    2、 限制所有入站流量

    設定預設入站規則為拒絕:

    firewall-cmd --zone=public --set-target=DROP

    3、 允許HTTP和HTTPS流量

    使用以下命令允許HTTP和HTTPS流量透過:

    firewall-cmd --zone=public --add-service=http --permanentfirewall-cmd --zone=public --add-service=https --permanent

    4、 只允許從堡壘機登入伺服器 :

    // 先移除預設開啟的沒有存取限制的ssh服務firewall-cmd --permanent --remove-service=ssh// 添加復雜規則,只允許指定IP段存取22埠firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'

    5、 只允許從監控主機存取伺服器的被監控埠,或只允許代理機存取一些內部服務

    //zabbix監控firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="10051" accept'//mysqlfirewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept'//redisfirewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="6379" accept'//mongodbfirewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="27017" accept'

    6、. 開啟VRRP協定 :

    主備機都執行下面的命令

    firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface em1 --destination 224.0.0.18 --protocol vrrp -j ACCEPTfirewall-cmd --reload

    7、 重新載入防火墻以套用更改

    firewall-cmd --reload

    全文完。