我在一个安全的环境中设置了一个DRBD安装的Pacemaker / Corosync集群,以获得高度可用的Web应用程序。 这在CentOS 7上运行。群集正在工作。 但是为了让这个系统准备好进行安全审计,我必须禁止所有的应用程序监听IPV6并强制IPV4。
我已经在全系统禁用了IPV6:
# Contents of /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 1
我已经在networking层面上完成了禁用IPV6的额外步骤:
# Contents of /etc/sysconfig/network NETWORKING_IPV6=no IPV6_AUTOCONF=no
但是PCSD坚持要监听IPV6端口:
# netstat -lnptu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1206/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1837/master tcp6 0 0 :::2224 :::* LISTEN 486/ruby udp 0 0 192.168.4.100:60618 0.0.0.0:* 10932/corosync udp 0 0 0.0.0.0:5353 0.0.0.0:* 460/avahi-daemon: r udp 0 0 192.168.4.100:5405 0.0.0.0:* 10932/corosync udp 0 0 0.0.0.0:57120 0.0.0.0:* 460/avahi-daemon: r udp 0 0 192.168.4.100:40891 0.0.0.0:* 10932/corosync
没有IPV6接口:
ip al 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:50:56:8d:d1:76 brd ff:ff:ff:ff:ff:ff inet 192.168.4.100/24 brd 192.168.4.255 scope global ens160 valid_lft forever preferred_lft forever inet 192.168.4.110/24 brd 192.168.4.255 scope global secondary ens160 valid_lft forever preferred_lft forever
我在另一个论坛中build议从/ etc / hosts中删除IPV6环回:
# Contents of /etc/hosts 192.168.4.100 node1 node1.network.dmn 192.168.4.101 node2 node2.network.dmn 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
当IPV6被禁用时,我也看到了一个从PCSD无法启动的旧报告。 这已经解决了,我可以确认我的实例启动正常,但正如在关于这个bug的注释中指出的那样,当IPV6被禁用时,PCSD应该在IPV4上进行监听,而不是这样做。 所以这似乎是不正常的行为:
来源: https : //bugzilla.redhat.com/show_bug.cgi?id = 1104359
Created attachment 933288 [details] proposed fixtesting:
- 禁用ipv6,将ipv6.disable = 1添加到内核引导行并重新引导
- 启动pcsd服务systemctl启动pcsd.service
- validationpcsd正在运行并正在侦听0.0.0.0 netstat –inet -anp46 | grep 2224 tcp 0 0 0.0.0.0:2224 0.0.0.0:* LISTEN 1746 / ruby
- 重启启用ipv6。
- 启动pcsd服务systemctl启动pcsd.service
- validationpcsd正在运行并正在侦听:: netstat –inet -anp46 | grep 2224 tcp6 0 0 ::: 2224 ::: *
听356 /ruby
在configuration中强制使用IPV4的方式search没有产生任何结果。 所以我现在卡住了。 我必须强制这个端口为0.0.0.0:2224来通过安全合规性。
谁能告诉我怎么样?
相当晚,但如果你想要pcsd只在IPv4中运行,你需要修改文件/etc/sysconfig/pcsd并replace默认(和注释)
# PCSD_BIND_ADDR='::'
对于这样的事情:
PCSD_BIND_ADDR='192.168.23.65'
接下来你需要重新启动pcsd服务,如果你运行netstat -tulpn你应该看到:
tcp 0 0 192.168.23.65:2224 0.0.0.0:* LISTEN 5191/ruby