Iptables en verkeersfiltering voor arme en luie andersdenkenden

De relevantie van het blokkeren van toegang tot verboden bronnen betreft elke beheerder die officieel kan worden aangeklaagd voor het niet naleven van de wet of de instructies van de betreffende autoriteiten.

Iptables en verkeersfiltering voor arme en luie andersdenkenden

Waarom het Wiel opnieuw uitvinden als er gespecialiseerde programma's en distributies zijn voor onze taken, bijvoorbeeld: Zeroshell, pfSense, ClearOS.

Een andere vraag van het management was: Heeft het gebruikte product een veiligheidscertificaat van onze staat?

We hebben ervaring met de genoemde distributies:

  • Zeroshell – de ontwikkelaars gaven ons zelfs een licentie voor 2 jaar, maar het bleek dat de interessante distributie niet logisch voor ons een cruciale functie vervulde;
  • pfSense – respect en eer, maar tegelijkertijd saai, wennen aan de commandoregel van de FreeBSD-firewall en niet handig genoeg voor ons (ik denk dat het een kwestie van gewenning was, maar dit bleek niet «de juiste weg» te zijn);
  • ClearOS – op onze hardware was het erg langzaam, we konden niet doorgaan naar serieuze tests, dus waarom zulke zware interfaces?
  • Ideco SELECTA. Het product van «Aideco» is een apart gesprek, interessant product, maar om politieke redenen niet voor ons, en bovendien wil ik hen ‘bijten’ over de licentie voor dezelfde Linux, Roundcube, enz. Waar halen ze het vandaan dat ze een eindproduct kunnen verkopen, samengesteld uit ontwikkeld en bewerkt modules van de internetgemeenschap verspreid onder GPL&etc. door simpelweg de interface te veranderen? Python Ik begrijp dat er nu negatieve reacties zullen komen met eisen om mijn subjectieve gevoelens gedetailleerd te onderbouwen, maar ik wil zeggen dat deze netwerkknoop ook een verkeersbalancer is voor 4 externe kanalen naar het internet, elk met zijn eigen kenmerken. Nog een hoeksteen werd de noodzaak om met een van de verschillende netwerkinterfaces in verschillende adresruimten te werken, en ik

ben bereid toe te geven dat ik VLAN's overal waar nodig en niet nodig is kan toepassen, maar ik ben daar niet klaar voor. In gebruik zijn er apparaten zoals TP-Link TL-R480T+ – ze gedragen zich niet perfect, met hun eigen nuances. Dit deel was redelijk configureerbaar op Linux dankzij de officiële Ubuntu-website.IP-balancering: we combineren meerdere internetkanalen tot één. IP Load Balancing: meerdere internetverbindingen combineren tot één. En bovendien kan elk van de kanalen op elk moment 'uitvallen', net zoals ze weer kunnen opstarten. Als je geïnteresseerd bent in het script dat momenteel werkt (dat verdient een aparte publicatie) - laat het me weten in de comments.

De voorgestelde oplossing claimt niet uniek te zijn, maar ik wil de vraag stellen: "Waarom zich in een bedrijf aanpassen aan dubieuze externe producten met aanzienlijke hardware-eisen, als er alternatieve opties zijn?".

Als er in Rusland een lijst van Roskomnadzor is, dan is er in Oekraïne een bijlage bij de Besluit van de Raad voor Nationale Veiligheid (bijvoorbeeld. hier is), dan slapen de managers ook niet. Zo hebben we bijvoorbeeld een lijst ontvangen van geblokkeerde websites die volgens het management de arbeidsproductiviteit op de werkplek verminderen.

Tijdens gesprekken met collega's in andere bedrijven waar standaard alle websites zijn geblokkeerd en toegang tot specifieke sites alleen op verzoek van de leidinggevende kan worden verkregen, kwam, met een respectvolle glimlach en na het ‘overdenken van het probleem’, het besef dat het leven toch mooi is en we zijn onze zoektocht begonnen.

Met de mogelijkheid niet alleen analytisch te bekijken wat er in "de boeken van huisvrouwen" over verkeersfiltering wordt geschreven, maar ook om te zien wat er gebeurt op de kanalen van verschillende providers, hebben we de volgende recepten opgemerkt (alle screenshots zijn licht bewerkt, ik hoop dat je dat begrijpt):

Provider 1
— maakt zich geen zorgen en dwingt zijn eigen DNS-servers en een transparante proxyserver op. Nou, wat dan? .. Maar we hebben toegang tot waar we moeten zijn (als we dat willen :))

Provider 2
— denkt dat zijn bovenliggende provider daarover moet nadenken, de technische support van de bovenliggende provider heeft zelfs toegegeven waarom ik de noodzakelijke niet-verboden site niet kan openen. Ik denk dat de situatie je aan het lachen zal maken 🙂

Iptables en verkeersfiltering voor arme en luie andersdenkenden

Het blijkt dat ze de namen van geblokkeerde websites omzetten in IP-adressen en precies dat IP blokkeren (het maakt ze niet uit dat er op dit IP-adres ook 20 websites kunnen staan).

Provider 3
— laat het verkeer er wel doorheen, maar laat het niet terugkomen via dezelfde route.

Provider 4
— verbiedt alle manipulaties met pakketten in de aangegeven richting.

Wat te doen met VPN (de browser Opera respecteert) en plug-ins voor browsers? In het begin, tijdens het experimenteren met de Mikrotik-knooppunten, hadden we zelfs een resource-intensievere configuratie op L7, die we later moesten opgeven (er kunnen meer verboden namen zijn, het is treurig als, naast de directe verantwoordelijkheden voor routes, de CPU-belasting van de PPC460GT op de 30 expressies tot 100% stijgt).

Iptables en verkeersfiltering voor arme en luie andersdenkenden.

Wat is duidelijk geworden:
DNS op 127.0.0.1 is absoluut niet de oplossing; moderne versies van browsers stellen ons in staat om dergelijke problemen te omzeilen. Het is niet mogelijk om alle gebruikers beperkte rechten te geven, en we moeten de enorme hoeveelheid alternatieve DNS-servers niet vergeten. Het internet is niet statisch, en naast nieuwe DNS-adressen kopen verboden websites nieuwe adressen, wijzigen ze de top-level domeinen en kunnen ze een teken aan hun adres toevoegen of verwijderen. Maar iets zoals het volgende mag nog steeds bestaan:

ip route add blackhole 1.2.3.4

Het zou behoorlijk effectief zijn om een lijst van IP-adressen te verkrijgen van de lijst met verboden websites, maar om de hierboven genoemde redenen zijn we overgestapt naar overwegingen over iptables. Er was al een actieve load balancer op CentOS Linux release 7.5.1804.

De internetverbinding van de gebruiker moet snel zijn, en de browser mag niet een halve minuut wachten om te concluderen dat deze pagina niet beschikbaar is. Na lange zoektocht zijn we tot het volgende model gekomen:
Bestand 1 -> /script/denied_host, lijst van verboden namen:

test.test
blablabla.bubu
torrent
porno

Bestand 2 -> /script/denied_range, lijst van verboden adresruimten en adressen:

192.168.111.0/24
241.242.0.0/16

Bestand-script 3 -> ipt.sh, die de taak van iptables uitvoert:

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

Het gebruik van sudo is te danken aan het feit dat we een kleine hack hebben voor beheer via de WEB-interface, maar zoals ervaring met dit model meer dan een jaar heeft aangetoond, is de WEB-interface niet zo noodzakelijk. Na de implementatie was er de wens om de lijst van websites in een database in te voeren, enz. Het aantal geblokkeerde hosts is meer dan 250 + een tiental adresruimten. Er is inderdaad een probleem bij het bezoeken van een website via een https-verbinding, en als systeembeheerder heb ik ook klachten over browsers :), maar dit zijn uitzonderlijke gevallen; de meeste meldingen van gebrek aan toegang tot de hulpbron liggen toch aan onze kant. We blokkeren ook met succes Opera VPN, plug-ins zoals friGate en telemetrie van Microsoft.

Iptables en verkeersfiltering voor arme en luie andersdenkenden

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster