iptables: “сценарий” путь или “*filter, правила, ФИКСИРУЕТ” путь?

  1. прогресс процесса может быть проверен также nohup полевой отладкой базы данных.
  2. ps ax | grep nohup покажет Вам идентификатор процесса, и можно уничтожить его.
  3. nohup быстрее. Простая причина состоит в том, что это зависит от интернет-соединения между Вашим ПК и сервером. Каждый раз, когда Интернет не торопится, процесс не торопится также.
7
08.12.2013, 22:55
3 ответа

Я использовал оба метода в прошлом. В эти дни я гравитирую к гибриду двух.

Если Ваш ruleset имеет пять или шесть простых правил, любой метод прекрасен. Вещи начинают становиться интересными, когда у Вас есть большой rulesets: большие установки, Ваше поле брандмауэринга делает немного маршрутизации и т.д.

Просто помните, можно выстрелить себе в ногу, неважно, как Вы загружаете свой rulesets.:)

Основанный на сценарии

Вы делаете сценарий удара, сценарий Perl, сценарий Python — черт, пишете Lisp или программу Befunge для всего, о чем любой заботится! В сценарии Вы создаете все правила Netfilter, которые Вы хотите.

Позитивные аспекты:

  • Прямота. Вы экспериментируете с правилами, и Вы просто копируете и вставляете тех, которые работают из командной строки прямо к сценарию.
  • Динамический брандмауэринг. Один мой клиент выполняет установки OpenVPN для их собственных клиентов, и каждый клиент получает их собственный экземпляр OpenVPN для безопасности, брандмауэринга и бухгалтерских причин. first-line-of-defence брандмауэр должен открыть порты OpenVPN динамично для каждого (IP, порт) кортеж. Таким образом, сценарий брандмауэринга анализирует декларацию конфигураций OpenVPN и динамично вводит необходимые дыры по абсолютному адресу. Другой хранит детали веб-сервера о LDAP; iptables сценарий запрашивает сервер LDAP и автоматически позволяет вход веб-серверам. На больших установках это - большое благо.
  • Ум. Мои сценарии брандмауэра позволяют удаленное администрирование, даже без покидает в спешке управление: после того, как ruleset загружается, если оператор не отвечает в течение нескольких минут, ruleset откатывается к последнему, который, как известно, работал. Если по некоторым причинам, который перестал работать также, существует треть (и четвертая) возврат к состоянию до сбоя уменьшающейся безопасности.
  • Больше ума: можно открыть доступ SSH к netblock в начале сценария, затем отменить его в конце сценария (и позволить фильтрованным сессиям SSH в). Так, если Ваш сценарий перестал работать, можно все еще добраться там.
  • Примеры онлайн. По некоторым причинам большинство примеров я видел онлайн используемые вызовы iptables (это может быть под влиянием факта, которому предшествовали мои первые несколько установок брандмауэра iptables-save, и также Netfilter — но это - другая история),

Оборотные стороны:

  • Одна синтаксическая ошибка в сценарии и Вы заблокированы из Вашего брандмауэра. Часть ума выше до болезненных событий.:)
  • Скорость. На встроенном Linux boxen, удар (или даже подчеркивают штриховой линией) сценарий будет медленной, медленной вещью работать. Достаточно медленный, что, в зависимости от Вашей политики безопасности, Вы, возможно, должны рассмотреть порядок дополнения правила — у Вас могла быть недолговечная дыра в Ваши защиты, и это достаточно. Загрузка Ruleset нигде не является рядом атомарной.
  • Сложность. Да, можно сделать удивительные вещи, но да, можно также сделать сценарий слишком сложным, чтобы понять или поддержать.

Находящийся в Ruleset

Добавьте свои правила к ruleset файлу, затем используйте iptables-restore загрузить его (или просто сохранить Ваше существующее использование ruleset iptables-save). Это - то, что Debian делает по умолчанию.

Профессионалы:

  • Скорость. iptables-restore программа C, и это чрезвычайно быстро по сравнению со сценариями оболочки. Отличие является заметным даже на достойных машинах, но это - порядки величины быстрее на более скромных аппаратных средствах.
  • Регулярность. Формат легче понять, он по существу самодокументирует (после того как Вы привыкаете к особенностям Netfilter).
  • Это - Стандартный Инструмент, если Вы заботитесь об этом.
  • Это сохранило все таблицы Netfilter. Слишком много инструментов Netfilter (включая iptables) только воздействуйте на filter таблица, и Вы могли забыть, что у Вас есть других в Вашем распоряжении (с возможно вредными правилами в них). Таким образом, Вы добираетесь для наблюдения всех таблиц.

Недостатки:

  • Отсутствие гибкости.
  • С отсутствием функций шаблонной обработки/параметризации/динамичной повторение может привести к меньшему количеству удобного в сопровождении rulesets, и к огромным ruleset ошибкам. Вы не хотите их.

Гибридное решение — лучший из обоих миров

Я разрабатывал этого некоторое время в мое Обильное Свободное время. Я - планирование использования той же основанной на сценарии установки, которую я имею теперь, но после того как ruleset загружается, это сохраняет его с iptables-save и затем кэширует его на потом. У Вас может быть динамический ruleset со всеми его преимуществами, но он может быть загружен действительно быстро когда, например, перезагрузки поля брандмауэра.

5
27.01.2020, 20:18

Каждый походит на вывод iptables-save и следовательно вход для iptables-restore которые используются, чтобы сохранить и восстановить (например, при начальной загрузке системы) текущее состояние netfilter брандмауэра.

iptables команда управляет netfilter брандмауэром. Это может использоваться, чтобы внести единственное изменение в живой конфигурации брандмауэра, например, добавление единственного правила, но также и изменить или удалить правила.

таким образом, Вы создаете конфигурацию, Вы требуете с iptables, затем сохраняете получающуюся конфигурацию с iptables-сохранением. И сделайте восстановление той конфигурации после перезагрузки.

Или сценарий, iptables управляет Вами, раньше делал тот брандмауэр: -F переключатель очищает брандмауэр, создающий пустой большой список и впоследствии добавляющий, что правила в сценарии являются альтернативой использованию команды iptables-восстановления с, должен привести к подобному конечному состоянию.

1
27.01.2020, 20:18

Я согласен с @zebonaut в том, что вам нужно внимательно учитывать, чтобы ваш брандмауэр / маршрутизатор адекватно защищен при запуске, а также во время загрузки правил. Я закончил создать свои собственные сценарии создания брандмауэра, и когда я проверял его, я копирую в скрипт Firewall.Working, если двое отличаются, тогда работа CRON запускает рабочую силу. Так что, если я заблокирован, я могу вернуться. Это очень редко, так как первые правила разрешают установить / связанный трафик. У меня есть другая подменная цепочка для каждого интерфейса для пересылки и ввода, он облегчает отладку.

У меня есть отдельные файлы настроек, который включает / отключает определенные доступа, файл настроек переворачивается между дневным и ночным режимом Cron, чтобы заблокировать моих детей из Интернета, когда они должны быть в постели спать! Естественно, я также могу переопределить и заблокировать их в любое время, когда я хочу : -)

Один и тот же скрипт обрабатывает IPv4 и IPv6. Если я использую имя хоста, я положил его в / etc / hosts или файл настроек, а не полагаться на dns, потому что если DNS разбивает конфинр брандмауэра.

1
27.01.2020, 20:18

Теги

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