В рамках повышения безопасности системы я пытаюсь настроить брандмауэр во время кикстарта CentOS 6.6 с помощью следующей строки. Это делает работают при одних обстоятельствах, в противном случае - нет.
Брандмауэр кикстарта
firewall --enabled
--service=ssh --service=http --service=https
--port=53:udp,69:udp,25150:tcp,25151:tcp,3306:tcp
Это говорит ему включить брандмауэр и открыть определенный набор служб. Разрыв строки предназначен для удобства чтения, а не является частью конфигурации.
Раздел «Мои пакеты» находится ниже, обратите внимание: если я добавить --nobase вариант, iptables находится в пройти через режим, без следов конфигурации.
Как только я удалить --nobase, iptables настроен правильно, только с определенным набором открытых портов.
Пакеты кикстарта:
#%packages --nobase --excludedocs
%packages --excludedocs
@core
yum
wget
openssh-server
yum-downloadonly
screen
sysstat
lsscsi
ntpdate
rudder-agent
-nano
-selinux-policy
-selinux-policy-targeted
Я сделал много переустановок, чтобы отследить это, и поискал через Google, чтобы найти довольно много людей объединяют --nobase и firewall --enabled --port настройки.
Кроме того, к сведению: добавление iptables в список пакетов не повлияло на разницу. - добавляется автоматически.
Если вам интересно, поставщик ПО для окончательного приложения не разрешает включение SELinux.
Выход межсетевого экрана 1
Это результат добавления базы:
[host]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https
ACCEPT udp -- anywhere anywhere state NEW udp dpt:domain
ACCEPT udp -- anywhere anywhere state NEW udp dpt:tftp
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:25150
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:25151
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:mysql
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Выход брандмауэра 2
И тогда я использовал --nobase:
[host]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Вопрос:
Да, в принципе, я просто хотел бы заполнить эту недостающую зависимость. Если нет возможности найти его, я вместо этого поставлю конфигурацию iptables под контроль чего-то, кроме установки ОС. Я бы хотел избежать этого, чтобы конфигурация брандмауэра была на месте при первой загрузке и генерировалась механизмом по умолчанию, а не каким-то аддоном.
Вам нужно добавить system-config-firewall-base
пакет, который предоставляет lokkit
команда, используемая для настройки брандмауэра во время кикстарта.
Версии RHEL / CentOS до 6.6 автоматически включали этот пакет, см. https://bugs.centos.org/view.php?id=7956 и https://bugzilla.redhat.com/show_bug.cgi?id=1161682 для обсуждения вопроса.