Как да стартирам автоматично правила на iptables в systemd (ArchLinux)

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

Преди време ви показах как да стартирате правилата на 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 = да [Install] 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 = да [Install] 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.   eliotime3000 каза той

    Интересно ...

  2.   Саул каза той

    Не би било по-лесно да редактирате файла iptables.rules, ако вече имате root достъп със sudo, струва си да го модифицирате, нали?

  3.   xphnx каза той

    Правя го по малко по-различен начин, макар и да се възползвам от скрипта, който сте качили, за да стартирате правилата.

    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 например, за да имам няколко конфигурационни скрипта в зависимост от оборудването, което конфигурираме (рутер, компютър и т.н.), за да видя дали ще излезе.

  4.   dhunter каза той

    Тази капча за коментари е цедка за грешки, моля, преминете към друга или актуализирайте тази, защото става досадна след няколко опита.

    1.    елав каза той

      Той е същият, използван от humanOS, Firefoxmanía .. може би е нещо с кеша.

      1.    dhunter каза той

        Е, вече дори не коментирам тези две.

  5.   mj каза той

    С уважение,
    Това е изключително полезна тема.
    Несъмнено за тези, които се интересуват от сигурността на информацията, съхранявана на нашия компютър; „Iptables“ е един от инструментите, които трябва да се научат да използват; въпреки че поради собствената си важност е малко сложно за учене.
    Намерих това видео по темата, на което се надявам да ми позволите да споделя вашия имейл адрес „http://www.youtube.com/watch?v=Z6a-K_8FT_Y“; изненадата ми беше, че това е нещо различно от това, за което става въпрос тук. Но така или иначе, предполагам, че това ще се дължи на разнообразието от дистрибуции, които GNU / Linux има (ARCH, DEBIAN, SUSE и т.н.), все пак ще трябва да се научим.