Iptables ja liikluse filtreerimine nõrkade ja laiskade mõtetega inimeste eest

Külastuste blokeerimise vajadus, mis on seotud keelatud ressurssidega, puudutab iga administraatorit, kellele võivad ametlikult esitada seaduse või vastava asutuse korralduse mittenäitamise süüdistuse.

Iptables ja liikluse filtreerimine nõrkade ja laiskade mõtetega inimeste eest

Miks leiutada ratast, kui olemas on spetsialiseeritud programmid ja distributeeringud meie ülesannete jaoks, näiteks: Zeroshell, pfSense, ClearOS.

Veel üks küsimus tuli juhtkonnalt: Kas kasutataval tootel on meie riigi turvasertifikaat?

Meil on olnud kogemusi nimetatud distributeeringute kasutamisel:

  • Zeroshell — arendajad kinkisid meile kaheaastase litsentsi, kuid selgus, et huvipakkuv distributeering täitis meie jaoks kriitiliselt olulist funktsiooni ebaloogiliselt;
  • pfSense — austus ja tunnustus, samas igav, õppimine FreeBSD tulemuse käskude kasutamisega ning ei olnud meie jaoks piisavalt mugav (arvan, et see on harjumuse küsimus, kuid see ei osutunud "õigeks teeks");
  • ClearOS — meie riistvaral osutus väga aeglaseks, tõsise testimiseni ei jõudnud, nii et miks sellised rasked liidesed?
  • Ideco SELECTA. Toote öeldakse, et "Ideco" on huvitav, kuid poliitilistel põhjustel pole see meie jaoks sobilik; ja ma tahaksin "suu teha" nende suhtes sama Linuxi, Roundcube'i jne litsentside osas. Kust nad said, et nad saavad "liidavad" liidese ja Python ära võtma superkasutaja õigused, et müüa valmis toode, mis koosneb kogukonna arendatud ja ümber töötatud moodulitest, mida levitatakse GPL&jne. alusel.

Mõistan, et nüüd võivad minu suunas tulla negatiivsed kriitikad, mis nõuavad minu subjektiivsete tunnetuste üksikasjalikku põhjendamist, kuid tahan öelda, et see võrgusõlm on samuti 4 välise kanali liikluse tasakaalustaja Internetti, kusjuures igal kanalil on omad erilised omadused. Veelgi enam, oluline oli, et üks mitmest võrguliidesele töötas erinevates aadressiruumides, ja ma olen valmis tunnustama, et ma ei ole valmis VLAN-e igal pool kasutama, kus nad ei ole vajalikud. Kasutuses on seadmed nagu TP-Link TL-R480T+, mis ei käitu ideaalselt, üldiselt on neil oma nüansid. Selles osas õnnestus Linux seadistada, tänu Ubuntu ametlikule veebisaidile. не готов. В пользовании есть устройства типа TP-Link TL-R480T+ — ведут себя не идеально, в общем со своими нюансами. Эту часть на Linux получилось вменяемо настроить благодаря оф.сайту Ubuntu IP-Balans: ühendame mitu internetikanalit ühte. Iga kanal võib igal hetkel "kukutada", aga ka tõusta. Kui huvitab skript, mis hetkel töötab (ja sellele tuleks eraldi väljaanne) — kirjutage kommentaarides.

Arutletav lahendus ei pretendeeri unikaalsusele, aga sooviksin küsida: „Miks peaks ettevõtted kohanduma ebamugavate kahtlaste toodetega, millel on tõsised riistvaranõuded, kui võiks kaaluda alternatiivset varianti?”.

Kui Venemaal on Roskomnadzori loetelu, siis Ukrainas — Rakenduses Rahvusliku Julgeoleku Nõukogu otsuse juurde (nt. siin on), siis ei maga ka kohapealsed juhid. Näiteks saime nimekirja keelatud veebilehtedest, mis, nende arvates, halvendavad töö tootlikkust.

Suheldes kolleegidega teistes ettevõtetes, kus vaikimisi on keelatud kõik veebilehed ja ainult juhtkonna loal saab konkreetsetele veebilehtedele ligipääsu, mõtlesin austavalt naeratades ning probleemi „ümber mõeldes”, et elu on siiski kena, ja alustasime oma otsingut.

Olles võimalus analüütiliselt vaadata, mida kirjutatakse „koduperenaiste raamatutes“ liikluse filtreerimise kohta, ja vaadata, mis toimub erinevate teenusepakkujate kanalites, märkisime järgmised retseptid (kõik ekraanipildid on veidi kärbitud, palun mõista):

Teenusepakkuja 1
— ei jää muretsema ja sunnib oma DNS-servereid ja läbipaistvat proksiserverit. Mis seal siis on?.. vähemalt on meil juurdepääs sinna, kuhu on vaja (kui seda vaja on :))

Teenusepakkuja 2
— arvab, et tema ülemine teenusepakkuja peaks selle eest hoolitsema, ülemise teenusepakkuja tehniline tugi isegi tunnistas, miks ma ei saa avada vajalikku, mitte keelatud veebisaiti. Ma arvan, et see pilt teid rõõmustab 🙂

Iptables ja liikluse filtreerimine nõrkade ja laiskade mõtetega inimeste eest

Kuna selgus, muundavad nad keelatud saitide nimed IP-aadressideks ja blokeerivad just IP-d (nende jaoks ei ole probleem, et sellel IP-aadressil võib olla 20 saiti).

Teenusepakkuja 3
— suunab liikluse sinna, kuid tagasi samal marsruudil ei lase.

Teenusepakkuja 4
— keelab kõik pakettide manipulatsioonid määratud suunas.

Kuidas käituda VPN-i (Brauseri Opera austamiseks) ja brauserite pistikprogrammidega? Alguses, katsetades Mikrotik sõlme, tekkis meil isegi ressursimahukas retsept L7 jaoks, millest pidime hiljem loobuma (keelatud nimesid võib olla rohkem, kurb on see, et peale oma otseste kohustuste täitmise marsruutides, koormus PPC460GT protsessoril tõuseb 100% ulatuses 30 erineva väljendi korral).

Iptables ja liikluse filtreerimine nõrkade ja laiskade mõtetega inimeste eest.

Selgus, et:
DNS aadress 127.0.0.1 ei ole sugugi imerohi; tänapäevased brauseriversioonid võimaldavad selliseid probleeme vältida. Kõiki kasutajaid ei saa piirata vähendatud õigustega, ja ei tohi unustada, et on olemas tohutult alternatiivseid DNS-e. Internet ei ole staatiline ja peale uute DNS aadresside, omandavad keelatud saidid uusi aadresse, muudavad tippdomeene ning võivad lisada või eemaldada tähe oma aadressist. Siiski on midagi, mis võiks eksisteerida:

ip route add blackhole 1.2.3.4

Ideaalne oleks saada keelatud saitide IP aadresside nimekiri, kuid eespool nimetatud põhjustel oleme läinud üle Iptablesi arutelule. Toodud oli juba aktiivne tasakaalustaja CentOS Linux release 7.5.1804-l.

Kasutaja internetiühendus peab olema kiire ja brauserid ei tohiks oodata pool minutit, eeldades, et see leht pole saadaval. Pärast pikki otsinguid jõudsime sellise mudelini:
Fail 1 -> /script/denied_host, keelatud nimede nimekiri:

test.test
blablabla.bubu
torrent
porno

Fail 2 -> /script/denied_range, keelatud aadresside ja aadressiruumide nimekiri:

192.168.111.0/24
241.242.0.0/16

Fail-skript 3 -> ipt.sh, mis tegeleb iptables'iga:

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

Sudo kasutamine on vajalik, kuna meil on väike nipp haldamiseks WEB-interfääsi kaudu. Kuid kui on näha rohkem kui aasta kasutuskogemust, siis ei ole WEB nii vajalik. Pärast rakendamist tekkis soov, et saidid kantakse andmebaasi jne. Blokeeritud hostide arv ületab 250 + tosin aadressiruumi. Tõepoolest, HTTPS-ühenduse kaudu saidile ülemisel on probleem, samuti on mul süsteemiadministraatorina brauseritele pretensioone :), kuid need on erandid; enamikul juhtudel on juurdepääsu puudumise põhjused siiski meie pool, samuti blokeerime edukalt Opera VPN, friGate tüüpi pluginaid ja Microsofti telemeetria.

Iptables ja liikluse filtreerimine nõrkade ja laiskade mõtetega inimeste eest

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster