Действительно ли безопасно перезагрузить сервер, открытый для Интернета?

Конкретно

У меня есть iptables ruleset определенный на выполнении сервера CentOS. Мне гарантируют / я могу гарантировать / как я могу гарантировать, что, когда сети прибывают онлайн (или при начальной загрузке машины, или после перезапуска сетевой службы) iptables ruleset уже применяется (и если iptables не удался запустить или не удался применить ruleset, сетевой интерфейс не подойдет)?

(Я знаю, что это - вопрос о новичке, но я никогда не выполнял сервер ни на чем кроме надежных сетей позади подмены DHCP NAT и брандмауэр, так... ожидайте вопросы о новичке от новичков.)

29
задан 29 July 2014 в 21:15
3 ответа

Гарантируется, что iptables запустится до того, как интерфейс будет выведен на экран в порядке стартовых скриптов. Посмотрите на строку "chkconfig" в каждом скрипте запуска и вы увидите уровни, на которых он "включен", когда он активен, порядок старта и стоп-порядок.

Вам не гарантируется, что интерфейс не будет вызван, если набор правил iptables не был применен должным образом (или вообще не был применен).

Example:
chkconfig: 2345 08 92
В этой строке указано, что данный сервис будет активен на уровнях 2, 3, 4 и 5, и будет запущен в 8 и остановлен в 92. Все, что имеет большее значение "start", будет запущено только после завершения этого скрипта, но ошибка этого скрипта считается завершением и не будет препятствовать работе последующих скриптов.

Обратите внимание, что этот ответ применим к CentOS 6 и более ранним версиям, не обязательно к CentOS 7. Лично я не исследовал 7 достаточно, чтобы ответить на этот вопрос для 7.

.
18
ответ дан 28 November 2019 в 20:01

Вы также можете использовать опцию ifup-post в centos:

/etc/sysconfig/network-scripts/ifup-post

Вызывается, когда любое сетевое устройство ИСКЛЮЧИТЕЛЬНОЕ SLIP устройство. наверх. Звонки /etc/sysconfig/network-scripts/ifup-routes to выявить статические маршруты, зависящие от этого устройства. Звонки /etc/sysconfig/network-scripts/ifup-aliases to bring up псевдонимы для этого устройства. Устанавливает имя хоста, если оно не является уже установлен, и для этого можно найти имя хоста для IP. устройство. Отправляет SIGIO в любые программы, запросившие уведомление о сетевых событиях.

Могут быть расширены, чтобы исправить конфигурацию службы имен, вызов произвольные скрипты и т.д. по мере необходимости.

Этот скрипт запускается и после вышеописанных ( ifup-route и ifup-aliases )он ищет ifup-local

if [ -x /sbin/ifup-local ]; then
   /sbin/ifup-local ${DEVICE}
fi

Так что вы можете создать этот файл и убедиться, что он снова вызывает iptables, например, с помощью iptables-restore:

iptables-restore < /etc/sysconfig/iptables
1
ответ дан 28 November 2019 в 20:01

Небольшое дополнение: чтобы убедиться, что необходимые правила будут присутствовать при следующей загрузке сервера, сохраните их с помощью

sudo sh -c "iptables-save > /etc/iptables.rules"
1
ответ дан 28 November 2019 в 20:01

Теги

Похожие вопросы