Zaščita vašega omrežja z Iptables - Proxy - NAT - IDS: 1. DEL

Ta objava poskuša nekoliko pojasniti, kako delujejo omrežja in kako našo opremo Linux spremeniti v usmerjevalnik, ki naredi naše omrežje nekoliko bolj varno, bodisi doma ali celo v poslu. Pojdimo torej k poslu:

Ta vsebina temelji na knjigi "Linux - Skrbništvo nad sistemom in delovanje omrežnih storitev" - Sébastien BOBILLIER

Usmerjanje in filtriranje

Za pogovor in razumevanje usmerjanja lahko najprej določimo, kakšna je funkcija usmerjevalnika? Za to lahko rečemo, da ima usmerjevalnik poleg tega, da ustvarja omrežje in omogoča povezavo z drugo opremo (vedoč, da lahko to storimo z dostopno točko, stikalom, zvezdiščem ali drugimi), zmožnost medsebojnega povezovanja dveh različnih omrežij.

usmerjevalnik

Kot lahko vidimo na sliki, obstaja lokalno omrežje "10.0.1.0", ki ga ustvari usmerjevalnik in doseže enega od njegovih dveh vmesnikov. Nato ima usmerjevalnik na drugem vmesniku drugo omrežje z javnim IP-jem, s katerim se lahko poveže z internetom. Funkcija usmerjanja v bistvu služi kot posrednik med tema dvema omrežjema, tako da lahko komunicirajo.

Linux kot usmerjevalnik.

Seveda ima jedro Linuxa možnost »posredovanja«, vendar je privzeto onemogočeno, zato, če želimo, da to opravi naš Linux, moramo iti do datoteke.

/proc/sys/net/ipv4/ip_forward

Tam bomo ugotovili, da gre za datoteko, ki vsebuje samo ničlo "0". Za aktiviranje tega vedenja jo moramo spremeniti v eno "1". To se na žalost izbriše ob ponovnem zagonu računalnika, če ga želimo privzeto aktivirati, moramo uporabiti ukaz

sysctl net.ipv4.ip_forward=1

Ali pa ga uredite neposredno v datoteki /etc/sysctl.conf. Glede na distribucijo je lahko ta konfiguracija tudi v datoteki v  /etc/sysctl.d/.

Naš Linux mora imeti privzeto usmerjevalno tabelo, ki je običajno konfiguracija našega omrežja LAN in povezava z usmerjevalnikom. Če želimo videti to usmeritev, lahko uporabimo dva ukaza:

route -n

o

netstat -nr

Oba ukaza morata vrniti enako.

Posnetek zaslona iz 2014-09-30 18:23:06

Na splošno je ta konfiguracija dovolj, da vaš Linux služi kot prehod in drugi računalniki lahko krmilijo po našem računalniku. Če želimo, da naš Linux na primer poveže dve ali več omrežij, naj bo lokalna ali ne, lahko uporabimo statične poti.

Recimo, da ima moj Linux dva omrežna vmesnika, prvi ima internetno povezavo, katerega omrežje je 172.26.0.0, drugi pa (10.0.0.0) nekaj računalnikov iz drugega lokalnega omrežja. Če želimo pakete usmeriti v drugo omrežje, lahko uporabimo:

route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.26.0.8

Na splošno je:

route add -net REDDESTINO netmask MASCARA gw IPDELLINUX

če damo route -n ne glede na to, ali to omrežje obstaja ali ne, bo to usmerjanje določeno v naši tabeli.

Posnetek zaslona iz 2014-09-30 18:31:35

Če želimo omenjeno usmeritev odpraviti, jo lahko uporabimo

route del -net 10.0.0.0 netmask 255.0.0.0

iptables.

V bistvu iptables se uporablja za filtriranje paketov, odhodnih, dohodnih ali drugih, zato je odlično orodje za upravljanje našega omrežnega prometa. No, iptables, tako kot nam omogoča filtriranje prometa iz istega računalnika, omogoča tudi filtriranje prometa, ki gre skozi njega. (Posredovanje). Iptable lahko razdelimo na tabele, nize in akcije.

  • Plošče:  v bistvu sta lahko dve tabeli, filtri, za filtriranje paketov in  nat za prevajanje naslovov, torej za prehod iz enega omrežja v drugega.
  • Verige: Veriga se nanaša na vrsto prometa, ki ga želimo filtrirati ali preplavati, torej na kateri promet bomo uporabili tabele? in so lahko:  INPUT: Dohodni promet, IZHOD: odhodni promet oz NAPREJ: Promet, ki poteka po njem, ni pa lastna povezava.
  • Lahko se tudi pojavi POSTROUTIRANJE, ki se uporablja za obdelavo paketa na določen način po preusmeritvi.
  • Dejanja: Dejanja so v bistvu dejanja, ki jih je treba izvesti z verigo. To dejanje je lahko PAD, ki samo uniči ta promet oz SPREJEM. ki omogoča prometu takšno dejanje.

Pravila IPTABLES se shranijo in izvedejo v vrstnem redu, kot so bila ustvarjena, in če pravilo izbriše prejšnje pravilo, se vedno uporabi zadnje pravilo v vrstnem redu.

Politike požarnega zidu.

Na splošno požarni zidovi delujejo na dva načina:

  1. Dovoli ves promet razen ali
  2. Ne dovoli nobenega prometa, razen ...

Za uporabo pravilnikov uporabite IPTABLE - P AKCIJSKA VERIGA

Kjer niz predstavlja vrsto prometa (INPUT, OUTPUT, FORWARD, POSTROUTING ...) in je dejanje DROP OR ACCEPT.

Oglejmo si primer.

Posnetek zaslona iz 2014-09-30 18:53:23

Tu vidimo, da sem sprva lahko pingal, nato pa povedal IPTABLES, da je ves izhodni promet PADAL ali ni dovoljen. Potem sem IPTABLES rekel, naj to sprejme.

Če želimo požarni zid graditi iz nič, moramo vedno uporabiti pravila (Ne dovoli nobenega prometa razen ... Za to potem uporabimo pravila

iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P NAPRED PAD
Če veljajo ti pravilniki, ne bodo imeli nobene vrste povezave
.

Za vrnitev napišemo enako in DROP nadomestimo s ACCEPT.

Na tej točki, ker je ves promet zavrnjen, začnemo svojim IPTABLAM povedati, kakšen promet lahko ima.

Sintaksa je:

iptables -A cadena -s ip_orgigen -d ip_destino -p protocolo --dport puerto -j acción

Kje:

Niz = VHOD, IZHOD ali NAPRED

izvor_ip = Izvor paketov, to je lahko en IP ali omrežje in v tem primeru moramo določiti masko).

cilj_ip = kam gredo paketi. to je lahko en IP ali omrežje in v tem primeru moramo določiti masko).

protokol = označuje protokol, ki ga uporabljajo paketi (icmp, tcp, udp ...)

vrata = ciljno pristanišče prometa.

dejanje = POPUST ali SPREJEM.

Primer:

Posnetek zaslona iz 2014-09-30 19:26:41

Veljajo VSE omejene politike.

Posnetek zaslona iz 2014-09-30 19:27:42

Nato dodamo pravila, ki omogočajo promet prek vrat 80 HTTP in 443 HTTPS s protokolom TCP. Nato vrata 53 Za odjemalca DNS se uporablja za reševanje domen, sicer ne boste krmarili. To deluje s protokolom udp.

Linija:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

To je posledica naslednjega: Ko na primer zahtevate HTTP, se povežete z vrati 80 strežnika, vendar mora strežnik, da vrne informacije, povezati z vami prek katerega koli porta. (Na splošno večje od 1024).

Ker so vsa naša vrata zaprta, tega ne bomo dosegli, če ne odpremo vseh vrat, višjih od 1024 (slaba ideja). To pove, da je ves dohodni promet, ki prihaja iz povezave, ki sem jo vzpostavil sam, sprejet. Mislim, povezavo, ki sem jo načeloma začel.

Ko v pravila vključimo IZHOD, to velja le za zadevno opremo, če svojo opremo uporabljamo kot usmerjevalnik, da omogočimo te povezave, moramo IZHOD spremeniti v NAPRED. Ker promet poteka skozi računalnik, vendar ga ta ne sproži
Vsa ta pravila se po ponovnem zagonu izbrišejo, zato morate ustvariti skripte, tako da se privzeto zaženejo. Toda to bomo videli v naslednjem

Upam, da so vam bile te informacije všeč. V naslednjem bom govoril o NAT-u, proxyju in skriptih za Firewal.


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.   Rogelio pinto je dejal

    To je osnova, ki si jo mnogi podjetniki izdelujejo za izdelavo lastnih požarnih zidov, zato je na trgu toliko blagovnih znamk požarnih zidov z vdelanim Linuxom, nekatere dobre in druge ne toliko.

  2.   Heber je dejal

    Odličen članek. Veselim se drugega dela.

  3.   Milton je dejal

    Zelo dobra razlaga, pomagala mi je razumeti proxy mojega dela. Hvala vam

  4.   faustod je dejal

    Pozdravljeni Jlcmux,

    Odlično, res mi je bilo všeč, kdaj bo na voljo druga stranka?

    Lep pozdrav in hvala za delitev

    1.    Магчыма, кабель playstation XNUMX, які вы шукаеце, скончыўся. je dejal

      Hvala za komentar.

      Drugi del sem poslal včeraj, tekom dneva pa mislim, da ga bodo objavili.

      Lep pozdrav.

  5.   Izrael je dejal

    Zelo dober članek, prijatelj @ Jlcmux, res sem se naučil z njim, saj je razjasnil nekaj dvomov, ki sem jih imel že nekaj časa, mimogrede ne bi imel nič proti, če bi delil knjigo vira članka, Sébastiena BOBILLIERJA, pa slau2s in zdaj glej 2. del, salu2s.

    1.    Магчыма, кабель playstation XNUMX, які вы шукаеце, скончыўся. je dejal

      Pozdravljeni, hvala za komentar Izraela.

      Izkazalo se je, da imam knjigo v fizični obliki. Toda to povezavo sem našel v Google Knjigah. http://books.google.com.co/books?id=zxASM3ii4GYC&pg=PA356&lpg=PA356&dq=S%C3%A9bastien+BOBILLIER+Linux+%E2%80%93+Administraci%C3%B3n+del+sistema+y+explotaci%C3%B3n+de+los+servicios+de+red#v=onepage&q=

      Mislim, da je popolna.

  6.   Ariel je dejal

    Zelo dober članek, dodam vprašanje: Kakšna bi bila prednost uporabe linuxa kot usmerjevalnika, če sploh obstaja, glede na strojno opremo, ki mu je namenjena? Ali pa samo za vadbo? Vem, da obstajajo namenski distributerji, vendar ne vem, ali bodo reševali stare osebne računalnike ali zagotavljali večjo prilagodljivost pri konfiguraciji.

    1.    Магчыма, кабель playstation XNUMX, які вы шукаеце, скончыўся. je dejal

      No, mislim, da so prednosti in slabosti odvisne od scenarija, v katerem boste to izvedli. Zakaj zagotovo ne boste kupili UTM-ja ali česa podobnega za svojo hišo? In morda za majhno podjetje, ki si tega tudi ne more privoščiti. Dobra je tudi kot vaja, saj vam pomaga razumeti vso logiko tega in lahko bolje konfigurirate namenski zid FWall. Poleg tega imajo skoraj vse te naprave resnično vgrajen Linux.

      Lep pozdrav.

  7.   Ariel je dejal

    Pozdravljeni, vprašanje, ali lahko v Linuxu ustvarite "umetni" vmesnik za podobno usmerjanje med omrežji? (slog sledilca paketov) za delo z virtualnimi stroji? npr. če imam eth0 (ker imam seveda eno kartico), ali lahko ustvarim eth1, da ustvarim drugo mrežo? Zelo dober mentor!

    1.    živahno je dejal

      V Linuxu lahko seveda ustvarite navidezne vmesnike. Če imate eth0, lahko imate eth0: 0, eth0: 1, eth0: 2 ... itd

  8.   kinoloko je dejal

    Tako dobro, hvala za skupno rabo