Jak automatycznie uruchomić reguły iptables w Systemd (ArchLinux)

Niektórzy uważają, że jestem paranoikiem, jeśli chodzi o bezpieczeństwo, dlatego korzystanie z firewalla jest dla mnie kluczowe. Na swoim laptopie mam poufne informacje, które są dla mnie bardzo ważne; a ponieważ zapora ogniowa jest dla komputera PC jak zamek lub bezpieczny dla nas, pamiętając również, że na komputerze przechowujemy hasła dostępu do poczty elektronicznej, dane konta bankowego (ktokolwiek je posiada), informacje o serwerze i inne informacje wirtualne, które bezpośrednio wpływają na nasze życie fizyczne ... no cóż, bez wątpienia chodzimy po sieci bez skonfigurowana zapora ogniowa bez odpowiedniego zabezpieczenia na naszym komputerze nie jest czymś, co jest zalecane.

Jakiś czas temu pokazałem ci, jak uruchomić reguły iptables automatycznie w dystrybucjach, takich jak Debian, Ubuntu lub inne, które zawierają plik /etc/rc.local, jednak w ArchLinux, ponieważ systemd używa tego pliku, nie istnieje.

Tak więc sposób, w jaki moje iptables są skonfigurowane tak, jak chcę, to utworzenie skryptu bash, który konfiguruje iptables, a następnie zmodyfikowanie pliku /usr/lib/systemd/system/iptables.service ... ale przejdźmy do tego części 🙂

1. musimy utwórz skrypt bash zawierające nasze reguły iptables, coś takiego: Przykład skryptu Bash + iptables

2. Po stworzeniu skryptu, zapisaniu w nim naszych reguł i nadaniu mu uprawnień do wykonywania przystępujemy do edycji usługi systemd iptables:

Następujące polecenie należy wykonać z uprawnieniami administratora, używając sudo, takiego jak ja, lub bezpośrednio z użytkownikiem root

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

Natkniemy się na coś takiego:

[Jednostka] Opis = Struktura filtrowania pakietów [Usługa] Type = 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 [Install] WantedBy = multi-user.target

3. Zakładając, że skrypt, który wcześniej utworzyliśmy, znajduje się w /home/myuser/script-iptables.sh, zostawimy otwarty plik iptables.service w następujący sposób:

[Jednostka] Opis = Struktura filtrowania pakietów [Usługa] Typ = oneshot ExecStart = / home / myuser / script-iptables.sh ExecReload = / home / myuser / script-iptables.sh ExecStop = / usr / lib / systemd / scripts / iptables -flush RemainAfterExit = yes [Install] WantedBy = multi-user.target

4. Następnie musimy się upewnić, że iptables uruchamia się automatycznie:

sudo systemctl enable iptables

5. Zaczynamy:

sudo systemctl start iptables

6. A zasady możemy sprawdzić:

sudo iptables -nL

To tylko najprostszy sposób, jaki znalazłem, aby (1) mieć własny skrypt bash, który konfiguruje dla mnie iptables, (2) również, że reguły uruchamiają się automatycznie i na koniec (3) sam skrypt był czymś niezależnym, to znaczy, jeśli jutro chcę go użyć na Debianie, który zainstaluję (na przykład) Nie będę musiał zbyt często rekonfigurować.

W każdym razie mam nadzieję, że okażą się przydatne 🙂

pozdrowienia


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Eliotime3000 powiedział

    Ciekawy….

  2.   Saul powiedział

    Nie byłoby łatwiej edytować plik iptables.rules, jeśli masz już uprawnienia roota z sudo, warto byłoby go zmodyfikować, prawda?

  3.   xphnx powiedział

    Robię to w nieco inny sposób, chociaż wykorzystuję też skrypt, który wgrałeś do uruchomienia reguł.

    1- Uruchamiamy usługę (jeśli jeszcze tego nie zrobiliśmy):
    # systemctl enable iptables.service
    # systemctl start iptables.service

    2- Widzimy, jakie zasady mamy aktywne (zakładamy, że wszystko jest otwarte, jeśli niczego nie dotknęliśmy) sudo iptables -nvL

    3- Zmieniamy żądane reguły, uruchamiając skrypt konfiguracyjny:
    # sh /home/miusuario/script-iptables.sh

    4- Zobaczmy, jak zmieniły się aktywne reguły:
    # iptables -nvL

    5- Zapisujemy nową konfigurację iptables dla przyszłych restartów:
    # iptables-save > /etc/iptables/iptables.rules

    5b- Jeśli ręcznie edytujemy plik /etc/iptables/iptables.rules w celu zmiany reguł, musimy ponownie załadować konfigurację:
    # systemctl reload iptables

    Tak przynajmniej mi jest łatwiej. Próbuję nauczyć się bash i kdialog, aby zarządzać ustawieniami w bardziej graficzny sposób. Później spróbuję zrobić coś bardziej kompletnego z qtcreatorem, na przykład, aby móc mieć kilka skryptów konfiguracyjnych w zależności od konfigurowanego sprzętu (router, komputer itp.), Aby sprawdzić, czy to wychodzi.

  4.   łowca powiedział

    Ta captcha dla komentarzy jest filtrem błędów, zmień na inną lub zaktualizuj tę, ponieważ staje się irytująca po wielu próbach.

    1.    pełen życia powiedział

      Jest to ten sam używany przez humanOS, Firefoxmanię… może to coś z pamięcią podręczną.

      1.    łowca powiedział

        Cóż, już nawet nie komentuję tych dwóch.

  5.   mj powiedział

    Pozdrawiam,
    To niezwykle przydatny temat.
    Niewątpliwie dla tych, którzy są zainteresowani bezpieczeństwem informacji przechowywanych na naszym komputerze; „Iptables” to jedno z narzędzi, których należy się nauczyć; chociaż, z uwagi na swoją wagę, nauka tego jest nieco skomplikowana.
    Znalazłem ten film na temat, którego mam nadzieję, że pozwolisz mi udostępnić swój adres e-mail "http://www.youtube.com/watch?v=Z6a-K_8FT_Y"; moje zdziwienie było takie, że jest to coś innego niż to, o co tutaj chodzi. W każdym razie, przypuszczam, że będzie to spowodowane różnorodnością dystrybucji GNU / Linux (ARCH, DEBIAN, SUSE itp.), I tak będziemy musieli się nauczyć.