Sekurigi vian reton per Iptables - Prokurilo - NAT - IDS: 2a PARTO

en la antaŭa afiŝo Ni vidis la agordon de IPTables funkcii kiel Firewall. Nun ni povas vidi kiel krei tiujn skriptojn por ke la reguloj estu aŭtomate plenumitaj kiam la sistemo ekfunkciigas, kaj ankaŭ kiel ni povas forigi aŭ ĉesigi tiujn regulojn dum momento.

Antaŭ ol fari la skripton kaj montri al vi kiel ĝi aspektas, ni parolu iomete pri NAT kaj la koncepto pri tio, kion ni volas fari kun ĉi tiu ekipaĵo.

NAT kaj Kunteksto de la ekzemplo.

Kiam ni parolas pri NAT, ni povas konfuzi ĉi tion kun enrutado, ĉar ambaŭ komisias konekti du malsamajn retojn inter si. La vera diferenco estas, ke enrutado aplikiĝas por iri de unu loka reto al alia kaj ĉi tiu alia reto povas konekti al enkursigilo kaj eliri al la interreto.

Dum, kiam ni parolas pri NAT, ni parolas pri vojigo de pakoj de loka aŭ privata reto al publika reto aŭ interreto. Ĝi faras tion maskante la pakaĵojn metante la publikan IP per kiu ĝi iras al la interreto. Alivorte, ni ne bezonas enkursigilon, ĉar la publika IP estas rekte posedata de la komputilo GNU / Linukso.

nat

Ni funkcios ĉi tion per la slogano, ke ni uzas nian Linukson kiel enkursigilo / fajromuro por eliri al la interreto de loka reto. Sed ĉi tie du scenaroj povas aperi.

  • Ke nia Linukso estas inter la enkursigilo de la serva provizanto kaj la loka reto.

Ĉi-kaze inter la enkursigilo kaj nia Linukso estus reto, kaj inter la Linukso kaj la loka reto ekzistus alia malsama reto. Ĉi tio signifas, ke nia enkursigilo ne devus fari NAT kiel tia, kun simpla trafika vojigo kiel klarigita en antaŭa afiŝo Estus bone.

  • Ke nia Linukso havas interfacon konektitan al la loka reto kaj per la alia interfaco ĝi ricevas rekte publikan IP per kiu ĝi navigas.

Ĉi tio signifas, ke nia Linukso devas fari NAT por ke la pakoj povu atingi la Interreton.

Por la celoj de ĉi tiu malgranda laboratorio, ni diros, ke nia Linukso ricevas publikan IP rekte kaj tiel povas testi la efikojn de NAT.

Por fari NAT ni tiam uzas la sintakson

 iptables -t nat -A POSTROUTING -O eth1 -j MASKERADO

Kie eth1 estas la interfaco, kie ni ricevas la publikan ip, tio estas, kie ni iras al la interreto.

Maskerado estas uzata kiam la ip estas publika sed ĝi povas varii laŭlonge de la tempo (dinamika). Alie ni povas uzi SNAT-ĝis-fontan ip

Kreo de iptables-skripto

Supozu do, ke: 172.26.0.0 estas nia loka reto kaj 81.2.3.4 estas la publika IP per kiu ni iras al la interreto. (ĝi estas statika ip). Mi havas la interfacojn eth0 (Loka reto)

eth1 (Publika reto).

Ĝi esence konsistas el kreado de skripto, kiun oni povas nomi de /etc/init.d/firestop (ekzemple). kaj de ĉi tiu skripto ni povas komenci, haltigi aŭ kontroli la staton de nia agordo, kiel ni faras kun ajna sistemo-demono.

Supozu, ke miaj reguloj pri IPTABLES ESTAS:

#! / bin / bash # Fajromuro de mia hejmo. # Dosiernomo / etc / firewall_on # De Jlcmux Twitter: @Jlcmux # # Baza politiko. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT por dividi Interreton de eth0 al eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT - ĝis fonto 81.2.3.4
# # Permesi alvenantajn konektojn iniciatitajn de miaj iptables -A FORWARD -m state --state STARED, RELATED -j ACCEPT # # Rajtigita eksiĝinta trafiko iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Ni ne forgesu doni ekzekutajn permesojn

Klarigo:

La skripto esence faras la jenon:

  1. Unue limigu ĉiujn navigaciojn, ligojn kaj trafikon. (Bazaj Firewall-Politikoj)
  2. Poste kreu la NAT kun la celloko eth1. indikante ke ni havas statikan publikan ip "81.2.3.4"
  3. Ĝi malfermas la havenojn necesajn por ricevi la pakojn de konektoj iniciatitaj de mi.
  4. Akceptas eksteran HTTP, HTTPS kaj DNS-trafikon.
La reguloj estas destinitaj al AVANTA trafiko, ĉar ni uzas nian Linukson kiel Router, do la politikoj estas uzataj por la trafiko, KIU TRA Linukso, do ĝi funkcias kiel peranto. Ĉi tio signifas, ke nia Linukso ne povas navigi aŭ ricevi datumojn rekte. Ĝi validas nur por komputiloj ligitaj al ĝi, sed ne al si mem

Se ni volas uzi nian ekipaĵon por navigi, ni ripetu la liniojn kaj ŝanĝu ANTAARDEN al INPUT aŭ OUTPUT kiel konvene.

Nuligi skripton.

Nun ni kreos skripton, kiu anstataŭas ĉion supre kaj lasas la komputilon pura de ĉio ĉi. (Por testaj celoj aŭ ni nur volas malŝalti la fajromuron).

#! / bin / bash # Fajromuro de mia hejmo. # Dosiernomo / etc / firewall_off # De Jlcmux Twitter: @Jlcmux # # Forviŝantaj Reguloj de iptables -F # # Apliki defaŭltajn politikojn (ĉiuj trafikoj estas akceptitaj) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Aŭtomatigi.

Nun ni devas krei la skripton interne /etc/init.d/ kaj la servo komenciĝas aŭtomate kaj ni povas administri ĝin pli komforte.

#! / bin / bash # Fajromuro de mia hejmo. # Dosiernomo /etc/init.d/ firewall # De Jlcmux Twitter: @Jlcmux case $ 1 in start) / etc / firewall_on ;; halti) / ktp / firewall_off ;; status) iptables -L ;; *) eoo "Malĝusta sintakso. Valida = /etc/init.d/ firewall start | stop | status ;; esac

Klarigo:

Ĉi tiun lastan skripton ni enmetis /etc/init.d/ kun la nomo firewall. Do se ni volas administri la fajromuron ni povas uzi la komandon /etc/init.d/ ekbruligi starton. Sammaniere ni povas haltigi ĝin aŭ vidi la staton.

Nun ni redaktos la dosieron /etc/rc.local kaj ni metas ion kiel: /etc/init.d/ fajroŝirmilo startas komenci per la sistemo.

Ankaŭ. Jen la dua parto. Mi esperas, ke ĝi alportos ion al vi ĉiuj. En la sekva ni vidas prokurilon kaj identigilojn.


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

7 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   ĉasisto diris

    Se vi uzas Debian, estas pako en la repo (iptables-persistent), kiu faras ĝuste tion, ĝi forĵetas la nunajn regulojn en /etc/iptables/rules.v4 aŭ v6 depende de tio, kion vi uzas kaj poste aplikas ilin al vi. kiam vi levas la sistemon.

  2.   ocz diris

    Praktike purigi la agordon de konvencia iptables-fajroŝirmilo (kaj uzi NAT ne estus tia laŭ mia vidpunkto), plejofte regulo flushas kaj restarigi la defaŭltajn politikojn al ACCEPT sufiĉus.
    Sed teorie, kaj laŭ mia scio, aldone al tio vi ankaŭ bezonas malplenigi la ne-defaŭltajn ĉenojn kaj reagordi la kalkulilojn. Agoj farotaj konsiderante, ke krom "filtri" estas aliaj tabeloj, (estas devige legi la dosieron "/ proc / net / ip_tables_names" por ĉi tio).

    Parenteze, ortodokseco diras, ke fajroŝirmilo devas esti jam antaŭ la reto. Mi ne scias kiel ĝi atingiĝas ĉe la aliaj Linuksaj sistemoj, sed ĉe la Debianaj la skripto povus esti adaptita kaj agordita en la dosierujo "/etc/network/if-pre-up.d/".

    Bona fajromuro al ĉiuj. 😉

  3.   NauTiluS diris

    Saluton, la afiŝo estas tre bona. Mi legis la tutajn 2 volumojn.

    Atendante la sekvan 🙂

  4.   anonima diris

    Demando de mia nescio, ni daŭrigas per iptables, sed por pluraj kernaj versioj ni havas nftables, mi jam testas, la demandoj estas, ĉu nftables estas io beta rilate al iptables? Ĉu iptables plu uziĝos multe pli longe?

    Dankon.

    1.    yukiteru diris

      nftables inkluzivas ĉiujn funkciojn de iptables, ip6tables, arptables kaj ebtables, ĉiuj uzante novan infrastrukturon en kaj kernelspaco kaj uzspaco, kiu certigas pli bonan rendimenton kaj plibonigitan funkciadon. nftables anstataŭos iptables kaj ĉiujn aliajn ilojn menciitajn sed ne provizore, almenaŭ ĝis pli vasta uzo de nftables kiel tia.

  5.   Aleksandro diris

    tre bona afiŝo, mi volis legi pli ĉar ĝi estas tre bone klarigita .. salutojn dankon bonega kontribuo

  6.   Avra diris

    Saluton! Tre bonaj ambaŭ afiŝoj.
    Kiel kontribuo vi povus aldoni al la fino en ĉi tiu parto:

    "Nun ni redaktos la dosieron /etc/rc.local kaj metos ion kiel: /etc/init.d/firestop start por ke ĝi komenciĝu per la sistemo."

    Aldonu ĉi tion al rc.local.

    se [-x /etc/init.d/ fajroŝirmilo]; tiam
    /etc/init.d/ fajroŝirmilo startas
    fi

    Kio signifas, ke se "fajroŝirmilo" havas ekzekutajn permesojn, ekzekutu ĝin, se ne.
    Se vi volas, ke la "fajroŝirmilo" ne komenciĝu, vi nur devas forigi la permesojn.

    Ekzemple: chmod + x /etc/init.d/ firewall
    fari ĝin funkcii ĉe ĉiu starto aŭ ...
    chmod -x /etc/init.d/ fajroŝirmilo
    por tute malŝalti ĝin.

    Dankon!