Oma võrgu turvamine rakendusega Iptables - Proxy - NAT - IDS: 2. OSA

Aastal Eelmine postitus Nägime IPTable'i konfiguratsiooni tulemüürina toimimiseks. Nüüd näeme, kuidas neid skripte luua nii, et reeglid käivitatakse süsteemi käivitamisel automaatselt, ja ka seda, kuidas saaksime need reeglid hetkeks kõrvaldada või peatada.

Enne skripti tegemist ja selle väljanägemise rääkimist räägime veidi NAT-ist ja kontseptsioonist, mida me selle seadmega teha tahame.

NAT ja näite kontekst.

NAT-ist rääkides võime selle segi ajada marsruutimisega, kuna mõlemad vastutavad kahe erineva võrgu ühendamise eest üksteisega. Tegelik erinevus seisneb selles, et marsruutimist rakendatakse ühest kohalikust võrgust teise liikumiseks ja see teine ​​võrk saab ruuteriga ühenduse luua ja Internetti minna.

Kui aga räägime NAT-ist, siis pakettide suunamisest kohalikust või eravõrgust avalikku võrku või Internetti. Ta teeb seda maskeerides pakette, pannes Interneti-ühenduse avaliku IP-ga. Teisisõnu, me ei vaja ruuterit, sest avalik IP kuulub otse GNU / Linuxi arvutile.

nat

Töötame selle loosungiga, et me kasutame oma Linuxit ruuteri / tulemüürina, et minna kohalikust võrgust Internetti. Kuid siin võib ilmneda kaks stsenaariumi.

  • Et meie Linux on teenusepakkuja ruuteri ja kohaliku võrgu vahel.

Sel juhul oleks ruuteri ja meie Linuxi vahel võrk ning Linuxi ja kohaliku võrgu vahel teine ​​teine ​​võrk. See tähendab, et meie ruuter ei peaks NAT-i kui sellist tegema, lihtsa liikluse marsruutimisega, nagu on selgitatud jaotises Eelmine postitus See oleks hea.

  • Et meie Linuxil on liides ühendatud kohaliku võrguga ja teise liidese kaudu saab ta otse avaliku IP, millega ta navigeerib.

See tähendab, et meie Linux peab tegema NAT-i, et paketid jõuaksid Internetti.

Selle väikese labori jaoks ütleme siis, et meie Linux saab otse avaliku IP-ühenduse ja saab seega testida NAT-i mõjusid.

NAT-i tegemiseks kasutame seejärel süntaksit

 iptables -t nat -A JÄLGIMINE -O eth1 -j MASQUERADE

Kus eth1 on liides, kus me saame avaliku ip, see tähendab, kus me läheme Internetti.

MASQUERADE-i kasutatakse siis, kui ip on avalik, kuid see võib ajas erineda (dünaamiline). Vastasel juhul saame kasutada SNAT-to-source ip-d

Iptablesi skripti loomine

Oletame siis, et: 172.26.0.0 on meie kohalik võrk ja 81.2.3.4 on avalik IP, millega me Internetis käime. (see on staatiline ip). Mul on liidesed eth0 (kohalik võrk)

eth1 (avalik võrk).

Põhimõtteliselt koosneb see skripti loomisest, mida saab kutsuda näiteks /etc/init.d/firestop alt. ja sellest skriptist saame alustada, peatada või kontrollida oma konfiguratsiooni olekut, nagu me teeme mis tahes süsteemi deemoniga.

Oletame, et minu IPTABLES-i reeglid ON:

#! / bin / bash # Minu kodu tulemüür. # Failinimi / etc / tulemüür_on # Autor Jlcmux Twitter: @Jlcmux # # Põhiline poliitika. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT Interneti jagamiseks eth0-lt eth1-le iptables -t nat -A POSTROUTING -O eth1 -j SNAT --allikale 81.2.3.4
# # Luba minu iptables-i algatatud sissetulevad ühendused -EEDASTI -m olek - riik KEHTESTATUD, SEOTUD -j ACCEPT # # Volitatud väljamineva liikluse iptable -A EDASI -i eth0 -o eth1 -p tcp --port 80 -j AKTSEPTI iptables -A EDASI -i eth0 -o eth1 -p tcp --port 443 -j VÕTAKE vastu iptables -A EDASI -i eth0 -o eth1 -p udp --port 53 -j VÕTTA
Ärgem unustagem anda täitmisõigusi

Selgitus:

Skript teeb põhimõtteliselt järgmist:

  1. Kõigepealt piirake kogu navigeerimist, ühendusi ja liiklust. (Tulemüüri põhieeskirjad)
  2. Seejärel looge NAT sihtkoha eth1 abil. mis näitab, et meil on staatiline avalik ip «81.2.3.4»
  3. See avab minu algatatud ühenduste pakettide vastuvõtmiseks vajalikud pordid.
  4. Aktsepteerib väljaminevat HTTP-, HTTPS- ja DNS-liiklust.
Reeglid on mõeldud FORWARD liikluseks, kuna kasutame oma Linuxit ruuterina, seega kasutatakse reegleid liikluse jaoks, mis läheb Linuxi kaudu, see tähendab, et see toimib vahendajana. See tähendab, et meie Linux ei saa tegelikult otse navigeerida ega andmeid vastu võtta. See kehtib ainult sellega ühendatud arvutite kohta, kuid mitte tema enda kohta

Kui soovime navigeerimiseks kasutada oma varustust, peaksime ridu kordama ja vastavalt vajadusele muutma FORWARD asendiks INPUT või OUTPUT.

Tühista skript.

Nüüd loome skripti, mis tühistab kõik ülaltoodud ja jätab arvuti kõigest sellest puhtaks. (Testimiseks või tahame lihtsalt tulemüüri välja lülitada).

#! / bin / bash # Minu kodu tulemüür. # Failinimi / etc / tulemüür_off # Autor Jlcmux Twitter: @Jlcmux # # iptables-reeglite kustutamine -F # # Vaikepoliitikate rakendamine (kogu liiklus on aktsepteeritud) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatiseerimine.

Nüüd peame skripti sisse looma /etc/init.d/ ja teenus käivitub automaatselt ja saame seda mugavamalt hallata.

#! / bin / bash # Minu kodu tulemüür. # Faili nimi /etc/init.d/ tulemüür # Jlcmux Twitter: @Jlcmux juhul $ 1 alguses) / etc / tulemüür_on ;; stop) / etc / tulemüür_off ;; olek) iptables -L ;; *) echo "Vale süntaks. Kehtib = /etc/init.d/ tulemüüri algus | peatus | olek ;; esac

Selgitus:

See viimane skript, mille me panime /etc/init.d/ nimega tulemüür. Nii et kui tahame tulemüüri hallata, saame seda käsku kasutada /etc/init.d/ tulemüüri käivitamine. Samamoodi saame selle peatada või näha riiki.

Nüüd hakkame faili muutma /etc/rc.local ja panime midagi sellist: /etc/init.d/ tulemüüri käivitamine alustamiseks süsteemist.

Samuti. See on teine ​​osa. Loodan, et see toob teile kõigile midagi. Järgmises näeme puhverserverit ja IDS-i.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   dhunter DIJO

    Kui kasutate Debiani, on repos pakett (iptables-persistent), mis täpselt seda teeb, tühistab see kehtivad reeglid failides /etc/iptables/rules.v4 või v6, sõltuvalt sellest, mida te kasutate, ja rakendab neid siis, kui tõstate süsteemi üles.

  2.   oksi DIJO

    Praktikas piisab tavapärase iptablesi tulemüüri konfiguratsiooni puhastamiseks (ja NAT-i kasutamine ei ole minu arvates nii), enamasti piisab reeglist loputamisest ja vaikepoliitika lähtestamisest ACCEPT.
    Kuid teoreetiliselt ja niipalju kui ma tean, peate lisaks sellele kustutama ka vaikeväärtuseta stringid ja loendurid lähtestama. Teostatavad toimingud, pidades silmas, et lisaks "filtrile" on ka teisi tabeleid (selle jaoks on kohustuslik lugeda faili "/ proc / net / ip_tables_names").

    Muide, õigeusk ütleb, et tulemüür peab juba enne võrgu toimimist üleval olema. Ma ei tea, kuidas see teistes Linuxi süsteemides saavutatakse, kuid Debiani puhul võiks skripti kohandada ja seadistada kataloogis "/etc/network/if-pre-up.d/".

    Hea tulemüür kõigile. 😉

  3.   NauTiluS DIJO

    Tere, postitus on väga hea. Olen läbi lugenud kogu 2 köidet.

    Ootan järgmist ing

  4.   anonüümne DIJO

    Küsimus minu teadmatusest, jätkame iptablesiga, kuid mitme kerneli versiooni jaoks on meil nftable-id, testin juba, küsimused on, kas nftables on iptable'i osas beetaversioon? Kas iptableid jätkatakse palju kauem?

    Gracias.

    1.    yukiteru DIJO

      nftables sisaldab kõiki iptable'ide, ip6table'ide, arptable'ide ja ebtable'ide funktsioone, kõik kasutavad uut infrastruktuuri nii tuumaruumis kui ka kasutajaruumis, mis tagab parema jõudluse ja parema funktsionaalsuse. nftables asendab iptable’id ja kõik muud mainitud tööriistad, kuid mitte praegu, vähemalt seni, kuni nftable’id kui sellised on laialdasemalt kasutusel.

  5.   Alexander DIJO

    väga hea postitus, tahtsin rohkem lugeda, kuna see on väga hästi lahti seletatud ... tervitused tänu suurele panusele

  6.   Avrah DIJO

    Tere! Väga hea mõlemad postitused.
    Panusena võiksite selle osa lõppu lisada:

    "Nüüd redigeerime faili /etc/rc.local ja paneme midagi sellist: /etc/init.d/firestop start, nii et see algab süsteemist."

    Lisage see rc.local-i.

    if [-x /etc/init.d/ tulemüür]; siis
    /etc/init.d/ tulemüüri käivitamine
    fi

    Mis tähendab, et kui "tulemüüril" on täitmisõigused, siis käivitage see, kui mitte.
    Kui soovite, et "tulemüür" ei käivituks, peate lihtsalt õigused eemaldama.

    Näiteks: chmod + x /etc/init.d/ tulemüür
    et see töötaks igal käivitamisel või ...
    chmod -x /etc/init.d/ tulemüür
    selle täielikuks keelamiseks.

    Tervitused!