01000_firewall

1. 架设防火墙

群英汇缺省使用 shorewall 为客户的服务器架设防火墙。

1.1. 安装

安装 ossxp-secure-fw-shorewall 软件包。

  • $ sudo aptitude install ossxp-secure-fw-shorewall

    {i} ossxp-secure-fw-firestarter 是另外一款适合桌面系统的防火墙软件,有图形界面,但不适合服务器安装。

1.2. 配置注意事项

  1. 编辑配置文件 /etc/default/shorewall, 启用 shorewall 防火墙

    • startup=1
  2. 确认网卡数目和网络拓扑,并编辑配置文件 /etc/shorewall/interfaces

    • 该配置文件缺省是按照一块网卡准备的。下面的配置,是两块网卡的情况

      • net     eth0            detect          dhcp,tcpflags,routefilter,nosmurfs,logmartians=0,arp_ignore=8
        net     eth1            detect          dhcp,tcpflags,routefilter,nosmurfs,logmartians=0,arp_ignore=8
  3. 缺省策略说明

    1. 群英汇系统平台间访问策略

      • 编辑 /etc/hosts 文件,设置下列主机名对应的 IP 地址

        • # open tcp/22 to host: backup-host1, ...
          127.0.0.2   backup-host1
          127.0.0.3   backup-host2
          
          # open tcp/389,636 to host: ldap-mirror1, ...
          127.0.0.2   ldap-mirror1
          127.0.0.3   ldap-mirror2
          
          # open tcp/6663 to host: cosign-client1, ...
          127.0.0.3   cosign-client1
          127.0.0.4   cosign-client2
      • shorewall 重新启动会自动扫描以上的主机名,更新相关的宏(/etc/shorewall/macro.HOST_XXXXXX.in),为在 /etc/hosts 文件中出现的上述主机设置缺省策略

        • $ sudo /etc/init.d/shorewall restart
    2. 用户自定义策略

      • 编辑文件 /etc/shorewall/rules,添加自定义策略。如:

        • DNS/ACCEPT      net     $FW
          HTTP/ACCEPT     net     $FW
          HTTPS/ACCEPT    net     $FW
          SMTP/ACCEPT     net     $FW
          SMTPS/ACCEPT    net     $FW
          POP3/ACCEPT     net     $FW
          POP3S/ACCEPT    net     $FW
          IMAP/ACCEPT     net     $FW
          IMAPS/ACCEPT    net     $FW
          
          # SSH service
          SSH/ACCEPT      net:192.168.0.1/24 $FW
          
          # apt cache
          ACCEPT          net     $FW     tcp 9999
          
          # vmware server
          ACCEPT          net     $FW     tcp 902,8222,8333
          
          # git service
          ACCEPT          net     $FW     tcp 9418
          
          # git service
          ACCEPT          net     $FW     udp 69
          
          # cosign daemon
          HOST_cosign-clients/ACCEPT  net     $FW

1.3. 参考

shorewall 的帮助信息,参考: