Я настраиваю кластер Pacemaker / Corosync с креплением DRBD для высокодоступного веб-приложения в безопасной среде. Это работает на CentOS 7. Кластер работает. Однако, чтобы подготовить эту систему к аудиту безопасности, я должен отключите все приложения от прослушивания IPV6 и принудительно установите IPV4.
Я отключил IPV6 по всей системе:
# Contents of /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
Я также сделал дополнительный шаг, отключив 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 a l
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
Я удалил петлю IPV6 из / etc / hosts, как было предложено на другом форуме:
# 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
Я также видел старый отчет об ошибке, когда PCSD не запускался, когда IPV6 был отключен. Это было решено, и я могу подтвердить, что мой экземпляр запускается нормально, однако, как указано в комментариях к этой ошибке, когда IPV6 отключен, PCSD должен прослушивать IPV4, чего он не делает. Это похоже на ненормальное поведение:
Источник: https://bugzilla.redhat.com/show_bug.cgi?id=1104359
Created attachment 933288 [details] proposed fix
тест:
- Отключите ipv6, добавьте ipv6.disable = 1 в строку загрузки ядра и перезагрузитесь
- Запустить службу pcd systemctl start pcsd.service
- Убедитесь, что pcsd запущен и прослушивает 0.0.0.0 netstat --inet -anp46 | grep 2224 tcp 0 0 0.0.0.0:2224 0.0.0.0:* СЛУШАТЬ 1746 / ruby
- Перезагрузитесь с включенным ipv6.
- Запустить службу pcd systemctl start pcsd.service
- Убедитесь, что pcsd запущен и прослушивает :: netstat --inet -anp46 | grep 2224 tcp6 0 0 ::: 2224 ::: *
СЛУШАТЬ 356 / рубин
Поиск в Google способа принудительного включения IPV4 в конфигурацию не дал никаких результатов. Так что я застрял в данный момент. я ДОЛЖЕН установите для этого порта значение 0.0.0.0:2224, чтобы обеспечить соответствие требованиям безопасности.
Кто-нибудь может сказать мне, как?
Довольно поздно, но если вы хотите, чтобы pcd работал только в IPv4, вам нужно изменить файл /etc/sysconfig/pcsd
и замените значение по умолчанию (и прокомментировано)
# 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