Osiguravanje vaše mreže pomoću Iptables - Proxy - NAT - IDS: DIO 2

U postavljati Anterior Vidjeli smo da konfiguracija IPTables funkcionira kao vatrozid. Sada možemo vidjeti kako stvoriti te skripte tako da se pravila izvršavaju automatski kad se sustav pokrene, kao i kako ta pravila možemo na trenutak eliminirati ili zaustaviti.

Prije izrade skripte i pokazivanja kako izgleda, razgovarajmo malo o NAT-u i konceptu što želimo raditi s ovom opremom.

NAT i kontekst primjera.

Kada govorimo o NAT-u, to možemo pomiješati s usmjeravanjem, jer su obje zadužene za međusobno povezivanje dviju različitih mreža. Razlika je zapravo u tome što se usmjeravanje primjenjuje za prelazak s jedne lokalne mreže na drugu, a ta se druga mreža može povezati s usmjerivačem i izaći na Internet.

Dok, kada govorimo o NAT-u, govorimo o usmjeravanju paketa s lokalne ili privatne mreže na javnu mrežu ili Internet. To čini maskiranjem paketa stavljanjem javne IP adrese s kojom odlazi na Internet. Drugim riječima, ne treba nam usmjerivač, jer je javni IP izravno u vlasništvu računala GNU / Linux.

nat

To ćemo raditi sa sloganom da svoj Linux koristimo kao usmjerivač / vatrozid za izlazak na Internet iz lokalne mreže. Ali ovdje se mogu pojaviti dva scenarija.

  • Da je naš Linux između usmjerivača davatelja usluga i lokalne mreže.

U ovom slučaju, između usmjerivača i našeg Linuxa postojala bi mreža, a između Linuxa i lokalne mreže postojala bi druga različita mreža. To znači da naš usmjerivač ne bi morao raditi NAT kao takav, s jednostavnim usmjeravanjem prometa kako je objašnjeno u postavljati Anterior Bilo bi dobro.

  • Da naš Linux ima sučelje povezano s lokalnom mrežom, a preko drugog sučelja prima izravno javnu IP pomoću koje kreće.

To znači da naš Linux mora raditi NAT kako bi paketi mogli doći do Interneta.

Tada ćemo za potrebe ovog malog laboratorija reći da naš Linux izravno prima javnu IP i tako moći testirati učinke NAT-a.

Da bismo izvršili NAT, tada koristimo sintaksu

 iptables -t nat -A POSTROUTIRANJE -O eth1 -j MASQUERADE

Gdje je eth1 sučelje gdje primamo javnu IP adresu, odnosno gdje idemo na Internet.

MASQUERADE se koristi kada je ip javan, ali vremenom može varirati (dinamički). Inače možemo koristiti SNAT –top izvor ip

Izrada skripte iptables

Pretpostavimo onda da je: 172.26.0.0 naša lokalna mreža, a 81.2.3.4 javna IP adresa s kojom idemo na Internet. (to je statički ip). Imam sučelja eth0 (lokalna mreža)

eth1 (Javna mreža).

U osnovi se sastoji od stvaranja skripte koja se može pozvati iz /etc/init.d/firestop (na primjer). i iz ove skripte možemo pokrenuti, zaustaviti ili provjeriti status naše konfiguracije, baš kao što to činimo sa bilo kojim demonom sustava.

Pretpostavimo da su moja IPTABLES pravila:

#! / bin / bash # Vatrozid mog doma. # Naziv datoteke / etc / firewall_on # Autor Jlcmux Twitter: @Jlcmux # # Osnovna pravila. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT za dijeljenje Interneta od eth0 do eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4
# # Dopusti dolazne veze pokrenute mojim iptables -A NAPRIJED -m stanje - stanje USTANOVLJENO, POVEZANO -j PRIHVAĆAJ # # Ovlašteni odlazni promet iptables -A NAPRIJED -i eth0 -o eth1 -p tcp --dport 80 -j PRIHVATLJIVI iptables -A NAPRIJED -i eth0 -o eth1 -p tcp --dport 443 -j PRIHVATI iptables -A NAPRIJED -i eth0 -o eth1 -p udp --dport 53 -j PRIHVATI
Ne zaboravimo dati dozvole za izvršenje

Obrazloženje:

Skripta u osnovi radi sljedeće:

  1. Prvo ograničite svu navigaciju, veze i promet. (Osnovna pravila o vatrozidu)
  2. Zatim stvorite NAT s odredišnim eth1. što ukazuje da imamo statični javni ip "81.2.3.4"
  3. Otvara priključke potrebne za primanje paketa veza koje sam inicirao.
  4. Prihvaća odlazni HTTP, HTTPS i DNS promet.
Pravila su namijenjena NAPRIJED prometu, jer svoj Linux koristimo kao usmjerivač, tako da se pravila koriste za promet koji prolazi KROZ Linux, odnosno djeluje kao posrednik. To znači da naš Linux zapravo ne može izravno kretati niti primati bilo kakve podatke. Odnosi se samo na računala povezana s njim, ali ne i na njega samog

Ako želimo koristiti našu opremu za navigaciju, trebali bismo ponoviti redove i prema naprijed promijeniti NAPRIJED na ULAZ ili IZLAZ.

Otkaži skriptu.

Sada ćemo stvoriti skriptu koja nadjačava sve gore navedeno i ostavlja računalo čistim od svega toga. (U svrhu testiranja ili samo želimo isključiti vatrozid).

#! / bin / bash # Vatrozid mog doma. # Naziv datoteke / etc / firewall_off # Autor Jlcmux Twitter: @Jlcmux # #Brisanje pravila iptables -F # # Primjena zadanih pravila (sav promet prihvaćen) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatizacija.

Sada moramo stvoriti skriptu iznutra /etc/init.d/ a usluga se automatski pokreće i njome možemo upravljati na ugodniji način.

#! / bin / bash # Vatrozid mog doma. # Naziv datoteke /etc/init.d/ firewall # Autor Jlcmux Twitter: @Jlcmux slučaj $ 1 u startu) / etc / firewall_on ;; zaustaviti) / etc / firewall_off ;; status) iptables -L ;; *) echo "Pogrešna sintaksa. Važeće = /etc/init.d/ start firewall-a | stop | status ;; esac

Obrazloženje:

Posljednju skriptu koju smo stavili /etc/init.d/ s imenom vatrozid. Dakle, ako želimo upravljati vatrozidom, možemo koristiti naredbu /etc/init.d/ start firewall-a. Na isti način možemo to zaustaviti ili vidjeti državu.

Sada ćemo urediti datoteku /etc/rc.local i stavili smo nešto poput: /etc/init.d/ start firewall-a za početak sa sustavom.

Također. Ovo je drugi dio. Nadam se da će to donijeti svima vama. U sljedećem vidimo Proxy i IDS.


Sadržaj članka pridržava se naših načela urednička etika. Da biste prijavili pogrešku, kliknite ovdje.

7 komentara, ostavi svoj

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   dhunter dijo

    Ako koristite Debian, u repo-u postoji paket (iptables-persistent) koji čini upravo to, odbacuje trenutna pravila u /etc/iptables/rules.v4 ili v6, ovisno o tome što koristite, a zatim ih primjenjuje na vas kad podignete sustav.

  2.   OCZ dijo

    U praksi, za čišćenje konfiguracije konvencionalnog iptables vatrozida (a upotreba NAT-a s moje točke gledišta ne bi bila takva), u većini slučajeva bilo bi dovoljno ispiranje pravila i vraćanje zadanih pravila na ACCEPT.
    Ali u teoriji, i koliko znam, uz ovo također trebate očistiti nesigurne nizove i resetirati brojače. Radnje koje treba provesti imajući na umu da osim "filtra" postoje i druge tablice, (za to je obavezno pročitati datoteku "/ proc / net / ip_tables_names").

    Inače, pravoslavlje kaže da vatrozid već mora biti pokrenut prije nego što mreža krene. Ne znam kako se to postiže na ostalim Linux sustavima, ali na onim Debianovim skripta bi se mogla prilagoditi i postaviti u direktorij "/etc/network/if-pre-up.d/".

    Dobar vatrozid svima. 😉

  3.   NauTiluS dijo

    Poštovani, post je jako dobar. Pročitao sam cijela 2 sveska.

    Čeka se sljedeći 🙂

  4.   anoniman dijo

    Pitanje iz mog neznanja, nastavljamo s iptables, ali za nekoliko verzija kernela imamo nftables, ja već testiram, pitanja su, je li nftables nešto beta u odnosu na iptables? Hoće li se iptables i dalje koristiti još dugo?

    Hvala Vam.

    1.    Yukiteru dijo

      nftables uključuje sve funkcionalnosti iptables, ip6tables, arptables i ebtables, a sve koristi novu infrastrukturu u prostoru kernela i korisničkom prostoru, što osigurava bolje performanse i poboljšane funkcionalnosti. nftables će zamijeniti iptables i sve ostale spomenute alate, ali zasad ne, barem dok se ne proširi upotreba nftables kao takvih.

  5.   Aleksandar dijo

    vrlo dobar post, želio sam pročitati više jer je vrlo dobro objašnjeno .. pozdrav hvala veliki doprinos

  6.   Avrah dijo

    Zdravo! Vrlo dobro oba posta.
    Kao doprinos možete dodati na kraju u ovom dijelu:

    "Sada ćemo urediti datoteku /etc/rc.local i staviti nešto poput: /etc/init.d/firestop start tako da započne sa sustavom."

    Dodajte ovo na rc.local.

    ako je [-x /etc/init.d/ firewall]; zatim
    /etc/init.d/ start firewall-a
    fi

    Što znači da ako "vatrozid" ima dopuštenja za izvršenje, izvršite ga, ako ne.
    Ako želite da se "vatrozid" ne pokrene, samo morate ukloniti dozvole.

    Na primjer: chmod + x /etc/init.d/ vatrozid
    kako bi se pokrenuo pri svakom pokretanju ili ...
    chmod -x /etc/init.d/ vatrozid
    da ga potpuno onemogući.

    Pozdrav!