Iptables i filtriranje saobraćaja od siromašnih i lijenih neistomišljenika

Relevantnost blokiranja posjeta zabranjenim resursima utiče na svakog administratora koji može biti zvanično optužen za nepoštivanje zakona ili naredbi relevantnih vlasti.

Iptables i filtriranje saobraćaja od siromašnih i lijenih neistomišljenika

Zašto ponovo izmisliti točak kada postoje specijalizovani programi i distribucije za naše zadatke, na primer: Zeroshell, pfSense, ClearOS.

Menadžment je imao još jedno pitanje: Da li korišćeni proizvod ima sertifikat o bezbednosti naše države?

Imali smo iskustva u radu sa sljedećim distribucijama:

  • Zeroshell - programeri su čak donirali licencu na 2 godine, ali se ispostavilo da je distributivni komplet za koji smo bili zainteresovani, nelogično, imao kritičnu funkciju za nas;
  • pfSense - poštovanje i čast, istovremeno dosadno, navikavanje na komandnu liniju FreeBSD firewall-a i nedovoljno zgodno za nas (mislim da je to stvar navike, ali se pokazalo da je to pogrešan način);
  • ClearOS - ispostavilo se da je na našem hardveru veoma spor, nismo mogli doći do ozbiljnog testiranja, pa čemu tako teška sučelja?
  • Ideco SELECTA. Ideco proizvod je zaseban razgovor, zanimljiv proizvod, ali iz političkih razloga ne za nas, a želim i njih da “zagrizem” oko licence za isti Linux, Roundcube itd. Odakle im ideja da sečenjem interfejsa piton i oduzimanjem prava superkorisnika, mogu prodati gotov proizvod sastavljen od razvijenih i modificiranih modula iz internet zajednice distribuiranih pod GPL&etc.

Razumijem da će sada negativni uzvici pljuštati u mom smjeru sa zahtjevima da do detalja potkrijepim svoja subjektivna osjećanja, ali želim reći da je ovaj mrežni čvor ujedno i balansator prometa za 4 eksterna kanala prema Internetu, a svaki kanal ima svoje karakteristike . Drugi kamen temeljac bila je potreba da jedan od nekoliko mrežnih interfejsa radi u različitim adresnim prostorima, a ja spreman priznati da se VLAN-ovi mogu koristiti svuda gdje je potrebno, a nije potrebno nije spreman. Postoje uređaji u upotrebi kao što je TP-Link TL-R480T+ - oni se ne ponašaju savršeno, općenito, sa svojim nijansama. Bilo je moguće konfigurirati ovaj dio na Linuxu zahvaljujući službenoj web stranici Ubuntua IP balansiranje: kombinovanje nekoliko internet kanala u jedan. Štaviše, svaki od kanala može u svakom trenutku „pasti“, ali i porasti. Ako vas zanima skripta koja trenutno radi (a ovo vrijedi posebne objave), napišite u komentarima.

Rješenje koje se razmatra ne tvrdi da je jedinstveno, ali želim postaviti pitanje: „Zašto bi se preduzeće prilagođavalo sumnjivim proizvodima trećih strana sa ozbiljnim hardverskim zahtjevima kada se može razmotriti alternativna opcija?“

Ako u Ruskoj Federaciji postoji lista Roskomnadzora, u Ukrajini postoji aneks Odluke Vijeća za nacionalnu sigurnost (npr. Evo), onda ni lokalni čelnici ne spavaju. Na primjer, dobili smo listu zabranjenih lokacija koje, po mišljenju uprave, narušavaju produktivnost na radnom mjestu.

Komunicirajući sa kolegama u drugim preduzećima, gdje su po defaultu svi sajtovi zabranjeni i samo na zahtjev uz dozvolu šefa možete pristupiti određenom sajtu, smiješeći se s poštovanjem, razmišljajući i „pušeći problem“, došli smo do razumijevanja da život je još uvijek dobar i počeli smo njihovu potragu.

Imajući priliku ne samo da analitički vidimo šta pišu u “knjigama domaćica” o filtriranju saobraćaja, već i da vidimo šta se dešava na kanalima različitih provajdera, primijetili smo sljedeće recepte (svi screenshotovi su malo izrezani, molim razumjeti kada pitam):

Provajder 1
— ne smeta i nameće svoje DNS servere i transparentan proxy server. Pa?.. ali imamo pristup tamo gdje nam treba (ako nam treba :))

Provajder 2
- smatra da bi njegov vrhunski provajder trebao razmisliti o tome, tehnička podrška vrhunskog provajdera je čak priznala zašto nisam mogao otvoriti stranicu koja mi je bila potrebna, što nije bilo zabranjeno. Mislim da ce te slika zabaviti :)

Iptables i filtriranje saobraćaja od siromašnih i lijenih neistomišljenika

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

Provajder 3
— dozvoljava saobraćaju da ide tamo, ali ga ne dozvoljava nazad duž rute.

Provajder 4
— zabranjuje sve manipulacije s paketima u navedenom smjeru.

Što učiniti s VPN-om (u odnosu na pretraživač Opera) i dodacima za pretraživač? Igrajući se na početku sa čvorom Mikrotik, čak smo dobili i recept za L7 koji je zahtijevao puno resursa, koji smo kasnije morali napustiti (možda ima više zabranjenih naziva, postaje tužno kada, pored njegovih direktnih odgovornosti za rute, na 3 tuceta izraze opterećenje procesora PPC460GT ide na 100 %).

Iptables i filtriranje saobraćaja od siromašnih i lijenih neistomišljenika.

Šta je postalo jasno:
DNS na 127.0.0.1 apsolutno nije lijek; moderne verzije pretraživača i dalje vam omogućavaju da zaobiđete takve probleme. Nemoguće je ograničiti sve korisnike na smanjena prava, a ne smijemo zaboraviti ni ogroman broj alternativnih DNS-a. Internet nije statičan, a pored novih DNS adresa, zabranjeni sajtovi kupuju nove adrese, menjaju domene najvišeg nivoa i mogu dodati/ukloniti znak u svojoj adresi. Ali ipak ima pravo da živi nešto poput:

ip route add blackhole 1.2.3.4

Bilo bi prilično efikasno dobiti listu IP adresa sa liste zabranjenih lokacija, ali iz gore navedenih razloga, prešli smo na razmatranja o Iptables-u. Već je postojao live balans na CentOS Linux izdanju 7.5.1804.

Internet korisnika bi trebao biti brz, a pretraživač ne bi trebao čekati ni pola minute, zaključivši da ova stranica nije dostupna. Nakon dugog traženja došli smo do ovog modela:
Fajl 1 -> /script/denied_host, lista zabranjenih imena:

test.test
blablabla.bubu
torrent
porno

Fajl 2 -> /script/denied_range, lista zabranjenih adresnih prostora i adresa:

192.168.111.0/24
241.242.0.0/16

Datoteka skripte 3 -> ipt.shradim posao sa ipablesom:

# считываем полезную информацию из перечней файлов
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

Upotreba sudoa je zbog činjenice da imamo mali hak za kontrolu preko WEB interfejsa, ali kako je pokazalo iskustvo korišćenja ovakvog modela duže od godinu dana, WEB nije toliko potreban. Nakon implementacije, pojavila se želja da se u bazu podataka doda lista lokacija itd. Broj blokiranih hostova je više od 250 + desetak adresnih prostora. Stvarno postoji problem pri odlasku na stranicu preko https konekcije, kao sistem administrator, imam zamjerke na pretraživače :), ali ovo 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 iz Microsofta.

Iptables i filtriranje saobraćaja od siromašnih i lijenih neistomišljenika

izvor: www.habr.com

Dodajte komentar