Kako automatski pokrenuti pravila iptables u systemd (ArchLinux)

Neki me smatraju paranoičnim kada je u pitanju sigurnost, zbog čega je upotreba zaštitnog zida za mene neophodna. Na svom laptopu imam osjetljive informacije koje su mi od velike važnosti; i zato što je firewall za PC kao brava ili sigurno za nas, također imajući na umu da na kompjuteru čuvamo lozinke za pristup mejlovima, podacima o bankovnom računu (ko ih ima), informacijama o serveru i drugim virtuelnim informacijama koje direktno utiču na nas u našem fizičkom životu... pa, bez sumnje, hodanje preko mreže bez konfigurisanog firewall-a, bez odgovarajuće sigurnosti na našem računaru, to nije nešto što se preporučuje.

Prije nekog vremena pokazao sam vam kako da pokrenete iptables pravila automatski na distribucijama kao što je Debian, Ubuntu ili drugi koji sadrže datoteku /etc/rc.local, međutim u ArchLinuxu, pošto koristi systemd, ova datoteka ne postoji.

Dakle, način na koji sam pronašao da konfigurišem svoje iptables onako kako želim je da kreiram bash skriptu koja konfiguriše iptables, a zatim modifikujem datoteku /usr/lib/systemd/system/iptables.service... ali, idemo u delovima: )

1. Moramo kreirajte bash skriptu koji sadrži naša iptables pravila, otprilike ovako: Primjer skripte Bash + iptables

2. Nakon što smo kreirali skriptu, napisali naša pravila u njoj i dali joj dozvole za izvršavanje, prelazimo na uređivanje systemd iptables servisa:

Sljedeća naredba se mora izvršiti s administrativnim dozvolama, bilo koristeći sudo poput mene ili direktno s root korisnikom

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

Naći ćemo nešto ovako:

[Jedinica] Opis=Okvir za filtriranje paketa [Usluga] Tip=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 [Instaliraj] WantedBy=multi-user.target

3. Pod pretpostavkom da se skripta koju smo prethodno kreirali nalazi u /home/myuser/script-iptables.sh onda ćemo ostaviti datoteku iptables.service koju imamo otvorenu na sljedeći način:

[Jedinica] Opis=Okvir za filtriranje paketa [Usluga] Tip=oneshot ExecStart=/home/myuser/script-iptables.sh ExecReload=/home/myuser/script-iptables.sh ExecStop=/usr/lib/systemd/scripts/iptables -flush RemainAfterExit=da [Instaliraj] WantedBy=multi-user.target

4. Zatim moramo biti sigurni da se iptables automatski pokreće:

sudo systemctl enable iptables

5. Počinjemo:

sudo systemctl start iptables

6. I možemo provjeriti pravila:

sudo iptables -nL

Ovo je samo najjednostavniji način na koji sam pronašao da (1) imam vlastitu bash skriptu koja konfigurira iptables, također (2) da se pravila automatski pokreću i konačno (3) da sama skripta bude nešto neovisna, odnosno da ako sutra želim ga koristiti na Debianu koji instaliram (na primjer) neću morati puno rekonfigurirati.

U svakom slučaju, nadam se da će vam biti od koristi 🙂

Saludos


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   eliotime3000 rekao je

    Zanimljivo….

  2.   Saul rekao je

    Zar ne bi bilo lakše urediti datoteku iptables.rules?Ako već imate root pristup sa sudo, vrijedilo bi ga izmijeniti, zar ne?

  3.   xphnx rekao je

    Ja to radim na malo drugačiji način, iako koristim i skriptu koju ste učitali da pokrenem pravila.

    1- Pokrećemo uslugu (ako to već nismo učinili):
    # systemctl enable iptables.service
    # systemctl start iptables.service

    2- Vidimo koja pravila imamo aktivna (pretpostavljamo da je sve otvoreno ako ništa nismo dirali) sudo iptables -nvL

    3- Mijenjamo pravila koja želimo, pokrećemo konfiguracijsku skriptu:
    # sh /home/miusuario/script-iptables.sh

    4- Vidimo kako su se aktivna pravila promijenila:
    # iptables -nvL

    5- Čuvamo novu iptables konfiguraciju za buduća ponovno pokretanje:
    # iptables-save > /etc/iptables/iptables.rules

    5b- Ako ručno uredimo datoteku /etc/iptables/iptables.rules da promijenimo pravila, moramo ponovo učitati konfiguraciju:
    # systemctl reload iptables

    Barem je meni tako lakše. Pokušavam naučiti neke bash i kdialog za upravljanje konfiguracijama na grafički način. Kasnije ću pokušati da uradim nešto potpunije sa qtcreatorom, na primer, kako bih mogao da imam nekoliko konfiguracionih skripti u zavisnosti od opreme koju konfigurišemo (ruter, PC, itd...) da vidim da li radi.

  4.   dhunter rekao je

    Ova captcha za komentare je zamka grešaka, promijenite u drugu ili ažurirajte ovu jer postaje dosadna nakon nekoliko pokušaja.

    1.    živahno rekao je

      To je isti onaj koji koriste humanoOS, Firefoxmanía... možda je nešto sa keš memorijom.

      1.    dhunter rekao je

        E, pa to dvoje više ni ne komentarišem.

  5.   mj rekao je

    pozdrav,
    Ovo je izuzetno korisna tema.
    Bez sumnje za one koji su zainteresovani za sigurnost informacija pohranjenih na našem računaru; "iptables" je jedan od alata koji se mora naučiti koristiti; Iako je, zbog vlastite važnosti, pomalo kompliciran za učenje.
    Pronašao sam ovaj video na temu za koji se nadam da ćete mi dozvoliti da podijelim njegovu adresu e-pošte «http://www.youtube.com/watch?v=Z6a-K_8FT_Y»; Moje iznenađenje je bilo da je to nešto drugačije od onoga o čemu se ovdje raspravlja. Ali u svakom slučaju, pretpostavljam da će to biti zbog raznolikosti distribucija koje GNU/Linux ima (ARCH, DEBIAN, SUSE, itd.), ionako ćemo morati naučiti.