Iptables in filtriranje prometa od revnih in lenih disidentov

Pomembnost blokiranja obiskov prepovedanih virov vpliva na katerega koli skrbnika, ki je lahko uradno obtožen neupoštevanja zakona ali ukazov ustreznih organov.

Iptables in filtriranje prometa od revnih in lenih disidentov

Zakaj bi znova izumljali kolo, ko pa za naše naloge obstajajo specializirani programi in distribucije, na primer: Zeroshell, pfSense, ClearOS.

Vodstvo je imelo še eno vprašanje: ali ima uporabljeni izdelek varnostni certifikat naše države?

Imeli smo izkušnje pri delu z naslednjimi distribucijami:

  • Zeroshell - razvijalci so celo podarili 2-letno licenco, vendar se je izkazalo, da je distribucijski komplet, ki nas je zanimal, nelogično opravljal kritično funkcijo za nas;
  • pfSense - spoštovanje in čast, hkrati dolgočasno, navajanje na ukazno vrstico požarnega zidu FreeBSD in ni dovolj priročno za nas (mislim, da je to stvar navade, vendar se je izkazalo, da je napačen način);
  • ClearOS - na naši strojni opremi se je izkazalo za zelo počasno, nismo mogli priti do resnega testiranja, zakaj torej tako težki vmesniki?
  • Ideco SELECTA. Izdelek Ideco je ločen pogovor, zanimiv izdelek, vendar iz političnih razlogov ne za nas, prav tako jih želim "ugrizniti" glede licence za isti Linux, Roundcube itd. Od kod jim ideja, da z rezanjem vmesnika v Python in z odvzemom pravic superuporabnika lahko prodajajo končni izdelek, sestavljen iz razvitih in spremenjenih modulov iz internetne skupnosti, distribuiranih pod GPL itd.

Razumem, da bodo zdaj v mojo smer deževali negativni vzkliki z zahtevami, da podrobno utemeljim svoje subjektivne občutke, vendar želim povedati, da je to omrežno vozlišče tudi izravnalnik prometa za 4 zunanje kanale do interneta in vsak kanal ima svoje značilnosti . Drugi temelj je bila potreba po enem od več omrežnih vmesnikov za delo v različnih naslovnih prostorih, in jaz pripravljen priznati, da je mogoče omrežja VLAN uporabljati povsod, kjer je to potrebno in kjer ni potrebno ni pripravljen. Obstajajo naprave, ki se uporabljajo, kot je TP-Link TL-R480T+ - na splošno se ne obnašajo popolno s svojimi odtenki. Ta del je bilo mogoče konfigurirati v Linuxu zahvaljujoč uradni spletni strani Ubuntu IP Balancing: združevanje več internetnih kanalov v enega. Poleg tega lahko vsak od kanalov kadar koli "pade" in se dvigne. Če vas zanima skript, ki trenutno deluje (in to je vredno ločene objave), napišite v komentarje.

Obravnavana rešitev ne trdi, da je edinstvena, vendar bi rad zastavil vprašanje: "Zakaj bi se moralo podjetje prilagajati dvomljivim izdelkom tretjih oseb z resnimi strojnimi zahtevami, ko je mogoče razmisliti o alternativni možnosti?"

Če v Ruski federaciji obstaja seznam Roskomnadzorja, v Ukrajini obstaja priloga k sklepu Sveta za nacionalno varnost (npr. glej), potem tudi lokalni voditelji ne spijo. Dobili smo na primer seznam prepovedanih strani, ki po mnenju vodstva zmanjšujejo produktivnost na delovnem mestu.

V komunikaciji s kolegi v drugih podjetjih, kjer so privzeto prepovedana vsa spletna mesta in le na zahtevo z dovoljenjem šefa lahko dostopate do določenega spletnega mesta, se spoštljivo nasmejate, razmišljate in »kadite nad problemom«, smo prišli do spoznanja, da življenje je še dobro in začeli smo njihovo iskanje.

Ker smo imeli priložnost ne samo analitično videti, kaj pišejo v "knjigah gospodinj" o filtriranju prometa, ampak tudi videti, kaj se dogaja na kanalih različnih ponudnikov, smo opazili naslednje recepte (morebitni posnetki zaslona so malo obrezani, prosim razumem, ko sprašujem):

Ponudnik 1
— se ne obremenjuje in vsiljuje svoje DNS strežnike in pregleden proxy strežnik. No?.. ampak imamo dostop tja, kjer ga potrebujemo (če ga potrebujemo :))

Ponudnik 2
- meni, da bi se moral njegov vrhunski ponudnik zamisliti nad tem, tehnična podpora vrhunskega ponudnika je celo priznala, zakaj ne morem odpreti strani, ki jo potrebujem, kar ni bilo prepovedano. Mislim, da te bo slika zabavala :)

Iptables in filtriranje prometa od revnih in lenih disidentov

Kot se je izkazalo, imena prepovedanih spletnih mest prevedejo v naslove IP in blokirajo sam IP (ne moti jih dejstvo, da lahko ta naslov gosti 20 spletnih mest).

Ponudnik 3
— dovoli prometu do tja, ne dovoli pa ga nazaj po poti.

Ponudnik 4
— prepoveduje vse manipulacije s paketi v navedeni smeri.

Kaj storiti z VPN (glede na brskalnik Opera) in vtičniki brskalnika? Ko smo se sprva igrali z vozliščem Mikrotik, smo celo dobili recept za L7, ki zahteva veliko virov, ki smo ga kasneje morali opustiti (morda je več prepovedanih imen, postane žalostno, ko poleg neposrednih odgovornosti za poti na 3 ducatih izrazov gre obremenitev procesorja PPC460GT na 100 %).

Iptables in filtriranje prometa od revnih in lenih disidentov.

Kaj je postalo jasno:
DNS na 127.0.0.1 absolutno ni zdravilo, sodobne različice brskalnikov še vedno omogočajo, da zaobidete takšne težave. Nemogoče je omejiti vse uporabnike na omejene pravice in ne smemo pozabiti na ogromno število alternativnih DNS. Internet ni statičen in poleg novih naslovov DNS prepovedana spletna mesta kupijo nove naslove, spremenijo vrhnje domene in lahko dodajo/odstranijo znak v svojem naslovu. Ampak še vedno ima pravico živeti nekaj takega:

ip route add blackhole 1.2.3.4

Precej učinkovito bi bilo pridobiti seznam naslovov IP s seznama prepovedanih mest, vendar smo zaradi zgoraj navedenih razlogov prešli na pomisleke o Iptables. V izdaji CentOS Linux 7.5.1804 je že obstajal uravnoteževalec v živo.

Uporabnikov internet naj bo hiter, brskalnik pa naj ne čaka pol minute in sklepa, da ta stran ni na voljo. Po dolgem iskanju smo prišli do tega modela:
Datoteka 1 -> /script/denied_host, seznam prepovedanih imen:

test.test
blablabla.bubu
torrent
porno

Datoteka 2 -> /script/denied_range, seznam prepovedanih naslovnih prostorov in naslovov:

192.168.111.0/24
241.242.0.0/16

Skriptna datoteka 3 -> ipt.shopravlja delo z 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

Uporaba sudo je posledica dejstva, da imamo majhen vdor za nadzor preko WEB vmesnika, a kot kažejo izkušnje z več kot enoletno uporabo takega modela, WEB ni tako potreben. Po implementaciji se je pojavila želja po dodajanju seznama spletnih mest v bazo itd. Število blokiranih gostiteljev je več kot 250 + ducat naslovnih prostorov. Res je problem pri obisku spletnega mesta preko https povezave, kot sistemski administrator, imam pritožbe glede brskalnikov :), vendar so to posebni primeri, večina sprožilcev za pomanjkanje dostopa do vira je še vedno na naši strani , prav tako uspešno blokiramo Opera VPN in vtičnike, kot sta friGate in Microsoftova telemetrija.

Iptables in filtriranje prometa od revnih in lenih disidentov

Vir: www.habr.com

Dodaj komentar