Kako samodejno zagnati pravila iptables v systemd (ArchLinux)

Nekateri me obravnavajo kot paranoičnega, kar zadeva varnost, zato je zame uporaba požarnega zidu bistvenega pomena. Na prenosnem računalniku imam občutljive podatke, ki so zame zelo pomembni; in ker je požarni zid za osebni računalnik kot ključavnica oz varno za nas tudi, če se spomnimo, da v računalniku shranjujemo gesla za dostop do e-pošte, podatke o bančnih računih (kdor jih ima), podatke o strežniku in druge navidezne podatke, ki neposredno vplivajo na naše fizično življenje ... no, brez dvoma hodimo po omrežju brez konfiguriran požarni zid brez ustrezne zaščite našega računalnika ni nekaj, kar je priporočljivo.

Pred časom sem vam pokazal, kako zagnati pravila iptables samodejno na distribucijah, kot je Debian, Ubuntu ali drugi, ki vsebujejo datoteko /etc/rc.local, vendar v ArchLinuxu, kot uporablja systemd, ta datoteka ne obstaja.

Torej, način, kako sem našel, da se moje iptables konfigurirajo, kot želim, je ustvariti bash skript, ki konfigurira iptables, in nato spremeniti datoteko /usr/lib/systemd/system/iptables.service ... ampak, pojdimo v deli 🙂

1. Moramo ustvari bash skript ki vsebuje naša pravila iptables, približno tako: Primer skripta Bash + iptables

2. Po izdelavi skripta, zapisovanju pravil v njem in dajanju dovoljenj za njegovo izvajanje nadaljujemo z urejanjem storitve systemd iptables:

Naslednji ukaz je treba izvesti s skrbniškimi dovoljenji, bodisi z uporabo sudo kot jaz ali neposredno s korenskim uporabnikom

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

Naleteli bomo na nekaj takega:

[Enota] Opis = Okvir filtriranja paketov [Storitev] 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 [Namesti] WantedBy = multi-user.target

3. Ob predpostavki, da se skript, ki smo ga prej ustvarili, nahaja v /home/myuser/script-iptables.sh, bomo pustili odprto datoteko iptables.service, kot sledi:

[Enota] Opis = Okvir za filtriranje paketov [Storitev] Tip = oneshot ExecStart = / home / myuser / script-iptables.sh ExecReload = / home / myuser / script-iptables.sh ExecStop = / usr / lib / systemd / scripts / iptables -flush RemainAfterExit = da [Namesti] WantedBy = multi-user.target

4. Nato se moramo prepričati, da se iptables samodejno zažene:

sudo systemctl enable iptables

5. Začnemo:

sudo systemctl start iptables

6. In lahko preverimo pravila:

sudo iptables -nL

To je le najpreprostejši način, s katerim sem ugotovil (1), da imam svoj bash skript, ki mi konfigurira iptables, tudi (2), da se pravila samodejno zaženejo in nazadnje (3), da je bil sam skript nekaj neodvisnega, to je, da če jutri ga želim uporabiti v Debianu, ki ga namestim (na primer), ne bom moral veliko prekonfigurirati.

Kakorkoli, upam, da se vam zdi koristen 🙂

pozdrav


8 komentarja, pustite svojega

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   eliotime3000 je dejal

    Zanimivo ...

  2.   Saul je dejal

    Urejanje datoteke iptables.rules ne bi bilo lažje, če že imate korenski dostop s sudo, bi ga bilo vredno spremeniti, kajne?

  3.   xphnx je dejal

    Naredim to na nekoliko drugačen način, čeprav za zagon pravil izkoristim tudi skript, ki ste ga naložili.

    1- Storitev zaženemo (če tega še nismo storili):
    # systemctl enable iptables.service
    # systemctl start iptables.service

    2- Vidimo, katera pravila imamo aktivni (predvidevamo, da je vse odprto, če se nismo ničesar dotaknili) sudo iptables -nvL

    3- Spremenimo pravila, ki jih želimo, in zaženemo konfiguracijski skript:
    # sh /home/miusuario/script-iptables.sh

    4- Poglejmo, kako so se spremenila aktivna pravila:
    # iptables -nvL

    5- Novo konfiguracijo iptables shranimo za prihodnje ponovne zagone:
    # iptables-save > /etc/iptables/iptables.rules

    5b - Če ročno uredimo datoteko /etc/iptables/iptables.rules, da spremenimo pravila, moramo znova naložiti konfiguracijo:
    # systemctl reload iptables

    Vsaj zame je tako lažje. Poskušam se naučiti nekaj bash in kdialog za upravljanje nastavitev na bolj grafičen način. Kasneje bom poskusil narediti nekaj bolj popolnega na primer z qtcreator, da bom lahko imel več konfiguracijskih skriptov, odvisno od opreme, ki jo konfiguriramo (usmerjevalnik, osebni računalnik itd.), Da vidim, ali bo prišel ven.

  4.   dhunter je dejal

    Ta captcha za komentarje je cedilo napak, prosimo, zamenjajte drugo ali posodobite to, ker postane moteča po več poskusih.

    1.    živahno je dejal

      To isto uporabljajo človeški OS, Firefoxmanía .. morda gre za nekaj s predpomnilnikom.

      1.    dhunter je dejal

        No, teh dveh niti ne komentiram več.

  5.   mj je dejal

    S spoštovanjem,
    To je izjemno koristna tema.
    Nedvomno za tiste, ki jih zanima varnost podatkov, shranjenih na našem računalniku; "Iptables" je eno od orodij, ki se ga je treba naučiti uporabljati; čeprav je zaradi lastnega pomena za učenje nekoliko zapleteno.
    Našel sem ta video, na katerega upam, da mi boste dovolili deliti vaš e-poštni naslov "http://www.youtube.com/watch?v=Z6a-K_8FT_Y"; moje presenečenje je bilo, da gre za nekaj drugačnega od tistega, o čemer gre tu. A vseeno mislim, da bo to zaradi raznolikosti distribucij, ki jih ima GNU / Linux (ARCH, DEBIAN, SUSE itd.), Vseeno morali naučiti.