Iptables i filtriranje prometa od siromašnih i lijenih disidenata

Važnost blokiranja posjeta zabranjenim resursima utječe na bilo kojeg administratora koji bi mogao biti službeno optužen za nepoštivanje zakona ili naloga nadležnih tijela.

Iptables i filtriranje prometa od siromašnih i lijenih disidenata

Zašto izmišljati kotač kada za naše zadatke postoje specijalizirani programi i distribucije, na primjer: Zeroshell, pfSense, ClearOS.

Uprava je imala još jedno pitanje: Ima li korišteni proizvod sigurnosnu potvrdu naše države?

Imali smo iskustva u radu sa sljedećim distribucijama:

  • Zeroshell - programeri su čak donirali dvogodišnju licencu, ali se pokazalo da nam je distribucijski kit koji nas zanima, nelogično, obavljao kritičnu funkciju;
  • pfSense - svaka čast, u isto vrijeme dosadno, navikavanje na naredbeni redak FreeBSD vatrozida i nedovoljno pogodno za nas (mislim da je to stvar navike, ali pokazalo se da je to pogrešan način);
  • ClearOS - na našem hardveru pokazalo se da je vrlo spor, nismo mogli doći do ozbiljnog testiranja, pa zašto tako teška sučelja?
  • Ideco SELECTA. Ideco proizvod je zaseban razgovor, zanimljiv proizvod, ali iz političkih razloga ne za nas, a također ih želim "ugristi" za licencu za isti Linux, Roundcube itd. Odakle im ideja da rezanjem sučelja u Piton i oduzimanjem prava superkorisnika, mogu prodavati gotov proizvod sastavljen od razvijenih i modificiranih modula iz internetske zajednice distribuiranih pod GPL-om itd.

Razumijem da će sada negativni uzvici pljuštati u moju stranu sa zahtjevima da detaljno potkrijepim svoje subjektivne osjećaje, ali želim reći da je ovaj mrežni čvor ujedno i balanser prometa za 4 vanjska kanala prema Internetu, a svaki kanal ima svoje karakteristike . Drugi kamen temeljac bila je potreba za jednim od nekoliko mrežnih sučelja za rad u različitim adresnim prostorima, a ja spreman priznati da se VLAN-ovi mogu koristiti svugdje gdje je potrebno i gdje nije potrebno nije spreman. Postoje uređaji koji se koriste kao što je TP-Link TL-R480T+ - ne ponašaju se savršeno, općenito, sa svojim nijansama. Bilo je moguće konfigurirati ovaj dio na Linuxu zahvaljujući službenoj web stranici Ubuntua IP Balancing: spajanje više internetskih kanala u jedan. Štoviše, svaki od kanala u svakom trenutku može "pasti", ali i porasti. Ako ste zainteresirani za skriptu koja trenutno radi (a to je vrijedno zasebne publikacije), pišite u komentarima.

Rješenje koje se razmatra ne tvrdi se da je jedinstveno, ali želio bih postaviti pitanje: "Zašto bi se poduzeće trebalo prilagoditi sumnjivim proizvodima trećih strana s ozbiljnim hardverskim zahtjevima kada se može razmotriti alternativna opcija?"

Ako u Ruskoj Federaciji postoji popis Roskomnadzora, u Ukrajini postoji dodatak Odluci Vijeća za nacionalnu sigurnost (npr. ovdje), onda ni lokalni čelnici ne spavaju. Na primjer, dobili smo popis zabranjenih stranica koje, prema mišljenju uprave, smanjuju produktivnost na radnom mjestu.

Komunicirajući s kolegama u drugim poduzećima, gdje su standardno sve stranice zabranjene i samo na zahtjev uz dopuštenje šefa možete pristupiti određenoj stranici, smiješeći se s poštovanjem, razmišljajući i “pušeći preko problema”, došli smo do spoznaje da život još uvijek dobro i krenuli smo s njihovom potragom.

Imajući priliku ne samo analitički vidjeti što pišu u “knjigama domaćica” o filtriranju prometa, već i vidjeti što se događa na kanalima različitih pružatelja usluga, primijetili smo sljedeće recepte (bilo koji screenshot je malo izrezan, molim razumijem kada pitam):

Pružatelj 1
— ne zamara se i nameće vlastite DNS poslužitelje i transparentni proxy poslužitelj. Pa?.. ali imamo pristup tamo gdje nam treba (ako nam treba :))

Pružatelj 2
- smatra da bi njegov top provider trebao razmisliti o ovome, tehnička podrška top providera je čak priznala zašto nisam mogao otvoriti stranicu koja mi je trebala, što nije bilo zabranjeno. Mislim da će vas slika zabaviti :)

Iptables i filtriranje prometa od siromašnih i lijenih disidenata

Kako se pokazalo, oni nazive zabranjenih stranica prevode u IP adrese i blokiraju samu IP (ne smeta im činjenica da ova IP adresa može ugostiti 20 stranica).

Pružatelj 3
— dopušta promet tamo, ali ga ne dopušta natrag duž rute.

Pružatelj 4
— zabranjuje sve manipulacije s paketima u navedenom smjeru.

Što učiniti s VPN-om (s obzirom na preglednik Opera) i dodacima za preglednik? Isprva smo se igrali s čvorom Mikrotik, čak smo dobili resursno intenzivan recept za L7, koji smo kasnije morali napustiti (možda ima više zabranjenih imena, postaje tužno kada, uz izravne odgovornosti za rute, na 3 tuceta izrazima opterećenje procesora PPC460GT prelazi na 100 %).

Iptables i filtriranje prometa od siromašnih i lijenih disidenata.

Što je postalo jasno:
DNS na 127.0.0.1 apsolutno nije panaceja; moderne verzije preglednika i dalje vam omogućuju da zaobiđete takve probleme. Nemoguće je sve korisnike ograničiti na smanjena prava, a ne smijemo zaboraviti ni ogroman broj alternativnih DNS-ova. Internet nije statičan, a osim novih DNS adresa, zabranjene stranice kupuju nove adrese, mijenjaju vršne domene i mogu dodati/ukloniti znak u svojoj adresi. Ali ipak ima pravo živjeti nešto poput:

ip route add blackhole 1.2.3.4

Bilo bi vrlo učinkovito dobiti popis IP adresa s popisa zabranjenih stranica, ali iz gore navedenih razloga, prešli smo na razmatranja o Iptables. Već je postojao live balancer na CentOS Linux izdanju 7.5.1804.

Internet korisnika treba biti brz, a preglednik ne bi trebao čekati pola minute zaključivši da je stranica nedostupna. Nakon duge potrage došli smo do ovog modela:
Datoteka 1 -> /script/denied_host, popis zabranjenih imena:

test.test
blablabla.bubu
torrent
porno

Datoteka 2 -> /script/denied_range, popis zabranjenih adresnih prostora i adresa:

192.168.111.0/24
241.242.0.0/16

Datoteka skripte 3 -> ipt.shobavljanje posla s ipables:

# считываем полезную информацию из перечней файлов
HOSTS=`cat /script/denied_host | grep -v '^#'`
RANGE=`cat /script/denied_range | grep -v '^#'`
echo "Stopping firewall and allowing everyone..."
# сбрасываем все настройки iptables, разрешая то что не запрещено
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
#решаем обновить информацию о маршрутах (особенность нашей архитектуры)
sudo sh rout.sh
# циклически обрабатывая каждую строку файла применяем правило блокировки строки
for i in $HOSTS; do
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p tcp -j REJECT --reject-with tcp-reset;
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p udp -j DROP;
done
# циклически обрабатывая каждую строку файла применяем правило блокировки адреса
for i in $RANGE; do
sudo iptables -I FORWARD -p UDP -d $i -j DROP;
sudo iptables -I FORWARD -p TCP  -d $i -j REJECT --reject-with tcp-reset;
done

Korištenje sudoa je zbog činjenice da imamo mali hack za kontrolu preko WEB sučelja, ali kako je pokazalo iskustvo u korištenju takvog modela duže od godinu dana, WEB nije toliko potreban. Nakon implementacije pojavila se želja da se u bazu podataka doda popis stranica itd. Broj blokiranih hostova je više od 250 + desetak adresnih prostora. Doista postoji problem pri odlasku na stranicu putem https veze, poput administratora sustava, imam pritužbi na preglednike :), ali to su posebni slučajevi, većina okidača za nedostatak pristupa resursu je i dalje na našoj strani , također uspješno blokiramo Opera VPN i dodatke kao što su friGate i telemetrija od Microsofta.

Iptables i filtriranje prometa od siromašnih i lijenih disidenata

Izvor: www.habr.com

Dodajte komentar