Назад | Перейти на главную страницу

Как совместить firewall --enabled и --nobase в кикстарте CentOS?

В рамках повышения безопасности системы я пытаюсь настроить брандмауэр во время кикстарта 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 для обсуждения вопроса.