Kreirajte svoj vlastiti vatrozid pomoću iptables koristeći ovaj jednostavni skriptni dio 2

Firewall_ (umrežavanje)

Pozdrav svima, danas vam donosim drugi dio ove serije tutorijala o vatrozidu sa iptablesima, vrlo jednostavan za kopiranje i lijepljenje, mislim da je to na kraju ono što svi početnici traže ili čak i najviše iskusni, zašto moramo 100 puta iznova otkrivati ​​točak, zar ne?

Ovog puta kažem im da se pokušaju usredotočiti na vrlo specifičan slučaj želimo li da naš zaštitni zid bude mnogo agresivniji s politikom OUTPUT DROP. Ovaj post je također na zahtjev čitatelja ove stranice i mog posta. (U mom umu wiiiiiiiiiiiii)

Razgovarajmo malo o "prednostima i nedostacima" uspostavljanja Output Drop politika, a ono protiv čega vam uglavnom mogu reći je da to posao čini mnogo zamornijim i mukotrpnijim, no pro je to što ćete na mrežnom nivou imati sigurnost nego da ste sjeli. Da biste dobro razmišljali, dizajnirali i planirali politike, imat ćete mnogo sigurniji server.

Da ne bih blebetao ili se maknuo s teme, na primjeru ću vam brzo objasniti kako vaša pravila trebaju biti manje-više

iptables -A IZLAZ -o eth0 -p tcp –sport 80 -m država –država USTANOVLJENA -j PRIHVATI
-A jer smo dodali pravilo
-o odnosi se na odlazni promet, tada se postavlja sučelje ako nije specificirano jer se podudara sa svima njima.
-sport luka porijekla, igra važnu ulogu jer u većini slučajeva ne znamo iz koje će luke podnijeti zahtjev, ako bismo mogli koristiti dport
–Dport odredišni port, kada unaprijed konkretno znamo da odlazna veza mora ići samo na određeni port. To mora biti za nešto vrlo specifično, na primjer za udaljeni mysql server.
-m stanje –država USTANOVLJENA Ovo je već ukras održavanja već uspostavljenih veza, mogli bismo se pozabaviti time u budućem postu
-d da govorimo o odredištu, ako se to može odrediti, na primjer ssh na određenu mašinu njegovim ip-om

#!/bin/bash

# Čistimo iptables tablice -F iptables -X # Čistimo NAT iptables -t nat -F iptables -t nat -X # mangle tablicu za stvari poput PPPoE, PPP i ATM iptables -t mangle -F iptables -t mangle -X # Pravila Mislim da je ovo najbolji način za početnike i # i dalje nije loše, objasnit ću izlaz sve jer su to odlazne veze #, unosom odbacujemo sve, a nijedan poslužitelj ne smije prosljeđivati. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P NAPRED DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Zadrži stanje. Sve što je već povezano (uspostavljeno) ostavljamo ovako iptables -A INPUT -m state -state USTANOVLJENO, POVEZANO -j PRIHVATITI
iptables -A IZLAZ -m stanje -država USTANOVLJENA, POVEZANA -j PRIHVAĆA
# Loop uređaj. iptables -A ULAZ -i lo -j PRIHVATI
# Iptables povratni izlaz -A IZLAZ -o lo -j PRIHVATI

# http, https, ne specificiramo sučelje jer # želimo da to budu svi iptables -A ULAZ -p tcp --dport 80 -j PRIHVATI iptables -A ULAZ -p tcp --dport 443 -j PRIHVATI
# polazak
# http, https, ne specificiramo sučelje jer
# želimo da to bude za sve, ali ako odredimo izlazni port
iptables -A IZLAZ -p tcp --sport 80 -j PRIHVATI iptables -A IZLAZ -p tcp --sport 443 -j PRIHVATI

# ssh samo interno i iz ovog opsega ip-ovih iptable -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j PRIHVATI
# izlaz # ssh samo interno i iz ovog opsega ip-ova
iptables -A IZLAZ -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j PRIHVATI
# praćenje na primjer ako imaju zabbix ili neku drugu snmp uslugu iptables -A ULAZ -p tcp -i 192.168.1.1 -i $ intranet --dport 10050 -j PRIHVATI
# polazak
# praćenje na primjer ako imaju zabbix ili neku drugu snmp uslugu
iptables -A IZLAZ -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j PRIHVATI

# icmp, ping dobra je vaša odluka iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j PRIHVATI
# polazak
# icmp, ping good je vaša odluka
iptables -A IZLAZ -p icmp -d 192.168.xx / 24 -o $ intranet -j PRIHVATI

#mysql sa postgres je port 5432 iptables -A ULAZ -p tcp -i 192.168.xx --sport 3306 -i $ intranet -j PRIHVATI
# izlaz - pitanje koje korisnik takođe postavlja da napravi vrlo specifičan # server pravila: 192.168.1.2 mysql: 192.168.1.3
#mysql s postgresom je port 5432
iptables -A IZLAZ -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ intranet -j PRIHVATI

#sendmail bueeeh ako želite poslati neku poštu #iptables -A IZLAZ -p tcp --dport 25 -j PRIHVATITE # Anti-SPOOFING 09 # SERVER_IP = "07.xxx" # server IP - pravi wan ip vašeg LAN_RANGE poslužitelja = "2014.xx / 190" # opseg LAN-a vaše mreže ili vaše vlan # IP adrese koje nikada ne bi trebale ući u ekstranet, to je upotreba malo logike ako imamo isključivo WAN sučelje, nikada unesite # promet LAN tipa putem tog sučelja SPOOF_IPS = "192.168/21 0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12" # Zadana radnja - koja se izvršava kada se bilo koje pravilo podudara sa ACTION = "DROP" # Paketi sa istim ip-om kao i moj server putem wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION

# Paketi s LAN opsegom za wan, stavio sam ga ovako za slučaj da imate # bilo koju određenu mrežu, ali ovo je suvišno sa sljedećim # pravilom unutar "for" petlje iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ AKCIJA
iptables -A IZLAZ -o $ ekstranet -i $ LAN_RANGE -j $ AKCIJA

## Sve SPOOF mreže ne dozvoljava wan za ip u $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -A IZLAZ -o $ ekstranet -i $ ip -j $ AKCIJA
done

U sljedećem pregledu napravit ćemo domet luka i također uspostaviti politike organizirane po imenima, između ostalog ... Čekam vaše komentare i zahtjeve.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

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