Iptables și filtrarea traficului de la dizidenți săraci și leneși

Relevanța blocării vizitelor la resurse interzise afectează orice administrator care poate fi acuzat oficial de nerespectarea legii sau ordinelor autorităților relevante.

Iptables și filtrarea traficului de la dizidenți săraci și leneși

De ce să reinventăm roata când există programe și distribuții specializate pentru sarcinile noastre, de exemplu: Zeroshell, pfSense, ClearOS.

Conducerea a avut o altă întrebare: Produsul folosit are certificat de siguranță din statul nostru?

Am avut experiență de lucru cu următoarele distribuții:

  • Zeroshell - dezvoltatorii au donat chiar și o licență de 2 ani, dar s-a dovedit că kitul de distribuție care ne interesa, în mod ilogic, a îndeplinit o funcție critică pentru noi;
  • pfSense - respect și onoare, în același timp plictisitor, obișnuirea cu linia de comandă a firewall-ului FreeBSD și nu suficient de convenabil pentru noi (cred că este o chestiune de obișnuință, dar s-a dovedit a fi greșit);
  • ClearOS - pe hardware-ul nostru s-a dovedit a fi foarte lent, nu am putut ajunge la teste serioase, așa că de ce interfețe atât de grele?
  • Ideco SELECTA. Produsul Ideco este o conversație separată, un produs interesant, dar din motive politice nu pentru noi și vreau să îi „mușc” și despre licența pentru același Linux, Roundcube etc. De unde le-a venit ideea că prin tăierea interfeței Piton iar prin luarea drepturilor de superutilizator, aceștia pot vinde un produs finit format din module dezvoltate și modificate din comunitatea de Internet distribuite sub GPL&etc.

Înțeleg că acum exclamații negative se vor revărsa în direcția mea cu cereri pentru a-mi fundamenta sentimentele subiective în detaliu, dar vreau să spun că acest nod de rețea este și un echilibrator de trafic pentru 4 canale externe către Internet și fiecare canal are propriile caracteristici. . O altă piatră de temelie a fost necesitatea ca una dintre mai multe interfețe de rețea să funcționeze în spații de adrese diferite, iar eu gata admit că VLAN-urile pot fi folosite oriunde este necesar și nu este necesar nu e gata. Există dispozitive în uz precum TP-Link TL-R480T+ - nu se comportă perfect, în general, cu propriile nuanțe. A fost posibil să configurați această parte pe Linux datorită site-ului oficial Ubuntu Echilibrare IP: combinarea mai multor canale de Internet într-unul singur. În plus, fiecare dintre canale poate „cădea” în orice moment, precum și se poate ridica. Dacă sunteți interesat de un scenariu care funcționează în prezent (și care merită o publicare separată), scrieți în comentarii.

Soluția luată în considerare nu pretinde a fi unică, dar aș dori să pun întrebarea: „De ce ar trebui o întreprindere să se adapteze la produse dubioase ale terților cu cerințe hardware serioase atunci când poate fi luată în considerare o opțiune alternativă?”

Dacă în Federația Rusă există o listă de Roskomnadzor, în Ucraina există o anexă la Decizia Consiliului Național de Securitate (de exemplu. aici), atunci nici liderii locali nu dorm. De exemplu, ni s-a dat o listă cu locații interzise care, în opinia conducerii, afectează productivitatea la locul de muncă.

Comunicarea cu colegii din alte întreprinderi, unde implicit toate site-urile sunt interzise și numai la cerere cu permisiunea șefului se poate accesa un anumit site, zâmbind respectuos, gândindu-se și „fumând peste problemă”, am ajuns la înțelegerea că viața este încă bun și am început căutarea lor.

Având ocazia nu doar să vedem analitic ce scriu în „cărțile gospodinelor” despre filtrarea traficului, ci și să vedem ce se întâmplă pe canalele diferiților furnizori, am observat următoarele rețete (orice capturi de ecran sunt puțin decupate, vă rugăm să înțelegeți ):

Furnizorul 1
— nu deranjează și își impune propriile servere DNS și un server proxy transparent. Ei bine?.. dar avem acces unde avem nevoie (daca avem nevoie :))

Furnizorul 2
- consideră că furnizorul său de top ar trebui să se gândească la asta, suportul tehnic al furnizorului de top chiar a recunoscut de ce nu am putut deschide site-ul de care aveam nevoie, ceea ce nu era interzis. Cred ca poza te va amuza :)

Iptables și filtrarea traficului de la dizidenți săraci și leneși

După cum sa dovedit, ei traduc numele site-urilor interzise în adrese IP și blochează IP-ul în sine (nu sunt deranjați de faptul că această adresă IP poate găzdui 20 de site-uri).

Furnizorul 3
— permite traficului să meargă acolo, dar nu îi permite înapoi pe traseu.

Furnizorul 4
— interzice toate manipulările cu pachete în direcția specificată.

Ce să faci cu VPN (respectiv browser-ul Opera) și cu pluginurile browserului? Jucându-mă la început cu nodul Mikrotik, am obținut chiar și o rețetă intensivă în resurse pentru L7, pe care ulterior a trebuit să o renunțăm (s-ar putea să fie mai multe nume interzise, ​​devine trist când, pe lângă responsabilitățile sale directe pentru trasee, pe 3 duzini). expresii, sarcina procesorului PPC460GT ajunge la 100 %).

Iptables și filtrarea traficului de la dizidenți săraci și leneși.

Ce a devenit clar:
DNS pe 127.0.0.1 nu este absolut un panaceu, versiunile moderne de browsere încă vă permit să ocoliți astfel de probleme. Este imposibil să limităm toți utilizatorii la drepturi reduse și nu trebuie să uităm de numărul imens de DNS alternative. Internetul nu este static și, pe lângă noile adrese DNS, site-urile interzise cumpără adrese noi, schimbă domeniile de nivel superior și pot adăuga/elimina un caracter din adresa lor. Dar încă are dreptul să trăiască ceva de genul:

ip route add blackhole 1.2.3.4

Ar fi destul de eficient să obținem o listă de adrese IP din lista de site-uri interzise, ​​dar din motivele expuse mai sus, am trecut la considerații despre Iptables. Exista deja un echilibrator live pe versiunea 7.5.1804 de CentOS Linux.

Internetul utilizatorului ar trebui să fie rapid, iar Browserul să nu aștepte o jumătate de minut, ajungând la concluzia că această pagină nu este disponibilă. După o lungă căutare am ajuns la acest model:
Fișierul 1 -> /script/denied_host, lista de nume interzise:

test.test
blablabla.bubu
torrent
porno

Fișierul 2 -> /script/denied_range, lista de spații de adrese și adrese interzise:

192.168.111.0/24
241.242.0.0/16

Fișierul script 3 -> ipt.shfac treaba cu 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

Utilizarea sudo se datorează faptului că avem un mic hack pentru gestionarea prin interfața WEB, dar după cum a demonstrat experiența în utilizarea unui astfel de model de mai bine de un an, WEB nu este atât de necesar. După implementare, a existat dorința de a adăuga o listă de site-uri la baza de date etc. Numărul gazdelor blocate este mai mare de 250 + o duzină de spații de adrese. Există într-adevăr o problemă când mergi pe un site printr-o conexiune https, cum ar fi administratorul de sistem, am plângeri despre browsere :), dar acestea sunt cazuri speciale, majoritatea declanșatoarelor pentru lipsa accesului la resursă sunt încă de partea noastră , de asemenea, blocăm cu succes Opera VPN și pluginuri precum friGate și telemetry de la Microsoft.

Iptables și filtrarea traficului de la dizidenți săraci și leneși

Sursa: www.habr.com

Adauga un comentariu