Как автоматически запустить правила iptables в systemd (ArchLinux)

Некоторые считают меня параноиком, когда дело касается безопасности, поэтому использование брандмауэра для меня важно. На моем ноутбуке хранится важная для меня конфиденциальная информация; и поскольку брандмауэр для ПК как замок или caja fuerte для нас, также помня, что на компьютере мы храним пароли доступа к электронной почте, данные банковского счета (у кого бы они ни были), информацию о сервере и другую виртуальную информацию, которая напрямую влияет на нашу физическую жизнь ... ну, без сомнения, ходить по сети без настроенный брандмауэр без надлежащей защиты на нашем компьютере не рекомендуется.

Некоторое время назад я показал вам, как запускать правила iptables автоматически в таких дистрибутивах, как Debian, Ubuntu или другие, содержащие файл /etc/rc.local, однако в ArchLinux, поскольку systemd использует этот файл, не существует.

Итак, способ, которым я нашел, что мои iptables должны быть настроены так, как я хочу, - это создать сценарий bash, который настраивает iptables, а затем изменить файл /usr/lib/systemd/system/iptables.service ... но давайте войдем в части 🙂

1. мы должны создать сценарий bash содержащие наши правила iptables, примерно так: Пример сценария bash + iptables

2. После создания скрипта, написания в нем наших правил и предоставления ему прав на выполнение, мы приступаем к редактированию сервиса systemd iptables:

Следующая команда должна выполняться с правами администратора, либо с помощью sudo, как я, либо напрямую с пользователем root.

sudo nano /usr/lib/systemd/system/iptables.service

Мы встретим что-то вроде этого:

[Модуль] Описание = Структура фильтрации пакетов [Служба] Тип = oneshot ExecStart = / usr / bin / iptables-restore /etc/iptables/iptables.rules ExecReload = / usr / bin / iptables-restore /etc/iptables/iptables.rules ExecStop = / usr / lib / systemd / scripts / iptables-flush RemainAfterExit = yes [Установить] WantedBy = multi-user.target

3. Предполагая, что ранее созданный скрипт находится в /home/myuser/script-iptables.sh, тогда мы оставим открытый файл iptables.service следующим образом:

[Модуль] Описание = Платформа фильтрации пакетов [Служба] Тип = oneshot ExecStart = / home / myuser / script-iptables.sh ExecReload = / home / myuser / script-iptables.sh ExecStop = / usr / lib / systemd / scripts / iptables -flush RemainAfterExit = yes [Установить] WantedBy = multi-user.target

4. Затем нам нужно убедиться, что iptables запускается автоматически:

sudo systemctl enable iptables

5. Запускаем его:

sudo systemctl start iptables

6. И мы можем проверить правила:

sudo iptables -nL

Это самый простой способ, который я нашел: (1) иметь свой собственный сценарий bash, который настраивает для меня iptables, также (2) правила запускаются автоматически и, наконец, (3) сам сценарий был чем-то независимым, то есть если завтра я хочу использовать его в Debian, который я устанавливаю (например), мне не придется много менять конфигурацию.

В любом случае, я надеюсь, вы найдете это полезным 🙂

привет


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   элиотайм3000 сказал

    Интересно….

  2.   Саул сказал

    Не было бы проще отредактировать файл iptables.rules, если у вас уже есть root-доступ с помощью sudo, стоит его изменить, верно?

  3.   хфнкс сказал

    Я делаю это немного по-другому, но также использую скрипт, который вы загрузили, для запуска правил.

    1- Запускаем сервис (если еще не сделали):
    # systemctl enable iptables.service
    # systemctl start iptables.service

    2- Мы видим, какие правила у нас активны (мы предполагаем, что все открыто, если мы ничего не трогали) sudo iptables -nvL

    3- Меняем на нужные нам правила, запускаем скрипт конфигурации:
    # sh /home/miusuario/script-iptables.sh

    4- Посмотрим, как изменились активные правила:
    # iptables -nvL

    5- Сохраняем новую конфигурацию iptables для будущих перезагрузок:
    # iptables-save > /etc/iptables/iptables.rules

    5b- Если мы вручную редактируем файл /etc/iptables/iptables.rules, чтобы изменить правила, мы должны перезагрузить конфигурацию:
    # systemctl reload iptables

    По крайней мере, для меня так проще. Я пытаюсь изучить bash и kdialog, чтобы управлять настройками более графическим способом. Позже я попытаюсь сделать что-то более законченное, например, с qtcreator, чтобы иметь возможность иметь несколько сценариев конфигурации в зависимости от оборудования, которое мы настраиваем (маршрутизатор, ПК и т. Д.), Чтобы увидеть, выйдет ли оно.

    1.    хфнкс сказал
  4.   Данхантер сказал

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

    1.    Elav сказал

      Это то же самое, что и humanOS, Firefoxmanía ... может быть, что-то связано с кешем.

      1.    Данхантер сказал

        Ну, я даже больше не комментирую этих двоих.

  5.   mj сказал

    С уважением,
    Это чрезвычайно полезная тема.
    Несомненно для тех, кто заинтересован в безопасности информации, хранящейся на нашем ПК; «Iptables» - один из инструментов, которым нужно научиться пользоваться; хотя по своей важности это немного сложно выучить.
    Я нашел это видео, на тему которого, надеюсь, вы позволите мне поделиться своим адресом электронной почты "http://www.youtube.com/watch?v=Z6a-K_8FT_Y"; меня удивило то, что это нечто иное, чем здесь. Но в любом случае, я полагаю, это будет из-за разнообразия дистрибутивов GNU / Linux (ARCH, DEBIAN, SUSE и т.д.), нам все равно придется изучить.