当前位置: 华文世界 > 科技

防火墙(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

    全文完。