Iptables og trafikfiltrering mod fattige og dovne dissidenter

Vigtigheden af at blokere adgang til forbudte ressourcer berører enhver administrator, der officielt kan stilles til ansvar for ikke at overholde lovgivningen eller anvisninger fra de relevante myndigheder.

Iptables og trafikfiltrering mod fattige og dovne dissidenter

Hvorfor opfinde cyklen på ny, når der findes specialiserede programmer og distributioner til vores opgaver, som fx: Zeroshell, pfSense, ClearOS.

Et andet spørgsmål kom fra ledelsen: Har det anvendte produkt en sikkerhedscertificering fra vores stat?

Vi har erfaring med de nævnte distributioner:

  • Zeroshell — udviklerne gav os endda en gratis licens i 2 år, men det viste sig, at den relevante distribution ulogisk udførte en kritisk funktion for os;
  • pfSense — respekt og ære, men det er samtidig kedeligt, man skal vænne sig til kommandolinjen i FreeBSD-firewallen, og det er ikke tilstrækkeligt brugervenligt for os (jeg tror, det er et spørgsmål om vænning, men det viste sig at være ikke 'den rigtige vej');
  • ClearOS — på vores hardware viste det sig at være meget langsomt, vi nåede ikke til seriøs testning, så hvorfor bruge så tunge interfaces?
  • Ideco SELECTA. Om produktet "Aideco" er en helt anden snak, et interessant produkt, men af politiske grunde ikke for os, og jeg vil også gerne 'bid' dem angående licensen til den samme Linux, Roundcube osv. Hvad fik dem til at tro, at de kan sælge et færdigt produkt bygget af udviklede og tilpassede moduler fra internetsamfundet, der distribueres under GPL&etc., ved blot at 'sammensætte' et interface i Python og fratage superbrugerrettighederne?

Jeg forstår, at negative kommentarer vil komme i min retning med krav om detaljeret at begrunde mine subjektive indtryk, men jeg må sige, at denne netværkshub også fungerer som en trafikbalancer til 4 eksterne kanaler til internettet, hvor hver kanal har sine egne egenskaber. En grundlæggende udfordring var også behovet for at arbejde med en af de flere netværksinterfaces i forskellige adresseområder, og jeg er klar til at erkende, at jeg ikke er klar til at anvende VLAN'er overalt, hvor det er nødvendigt og unødvendigt. De har enheder som TP-Link TL-R480T+ — de opfører sig ikke perfekt, men har deres egne nuancer. Denne del blev fornuftigt konfigureret på Linux takket være den officielle Ubuntu hjemmeside.IP-Balancering: vi samler flere internetkanaler til én. IP-Balancering: vi samler flere internetkanaler til én. Hver af kanalerne kan på et hvilket som helst tidspunkt "falde", ligesom de kan stige. Hvis du er interesseret i et script, der fungerer i øjeblikket (hvilket fortjener en separat publikation) – skriv i kommentarerne.

Den betragtede løsning hævder ikke at være unik, men jeg vil gerne stille et spørgsmål: "Hvorfor skal en virksomhed tilpasse sig til tvivlsomme produkter med høje hardwarekrav, når man kan overveje et alternativ?".

Hvis der i Rusland er en liste fra Roskomnadzor, er der i Ukraine en bilag til beslutningen fra Rådet for National Sikkerhed (fx. her), så sover ledere også ikke på stedet. For eksempel fik vi tilsendt en liste over forbudte hjemmesider, som ledelsen mener forringer produktiviteten på arbejdspladsen.

Ved at tale med kolleger i andre virksomheder, hvor alle hjemmesider som standard er forbudte, og man kun med tilladelse fra lederen kan få adgang til en bestemt hjemmeside, kom vi med en respektfuld smil, tænkte over og "røg på problemet" og indså, at livet faktisk er godt, og vi begyndte vores research.

Med muligheden for ikke kun analytisk at se, hvad der skrives i "husmorernes bøger" om trafik filtrering, men også at se, hvad der sker på kanalerne af forskellige udbydere, bemærkede vi følgende opskrifter (enhver skærm er lidt beskåret, jeg beder om forståelse):

Udbyder 1
– bekymrer sig ikke og pådutter sine egne DNS-servere og en gennemsigtig proxyserver. Nå, hvad?.. men vi har adgang til det, vi skal (hvis vi har brug for det :))

Udbyder 2
– mener, at deres overordnede udbyder skal tænke på det, og supporten fra den overordnede udbyder indrømmede endda, hvorfor jeg ikke kunne åbne den nødvendige, ikke-forbudte hjemmeside. Jeg tror, at billedet vil underholde dig 🙂

Iptables og trafikfiltrering mod fattige og dovne dissidenter

Det viste sig, at de oversætter navne på forbudte hjemmesider til IP-adresser og blokkerer netop IP'en (de bekymrer sig ikke om, at der på denne IP-adresse kan være 20 hjemmesider).

Udbyder 3
– lader trafikken passere derhen, men tilbage ad ruten lader de ikke.

Udbyder 4
– forbyder alle manipulationer med pakker i den angivne retning.

Hvad gør man med VPN (Opera-browseren, respekt) og browser-plugins? Da vi eksperimenterede med Mikrotik enheder, endte vi med en ressourcekrævende opskrift på L7, som vi senere måtte opgive (der er mange forbudte navne, det er trist, når CPU-belastningen på PPC460GT rammer 100%, udover vores direkte ruter, med tredive forskellige udtryk).

Iptables og trafikfiltrering mod fattige og dovne dissidenter.

Det blev klart:
DNS på 127.0.0.1 er ikke en universalløsning; moderne versioner af browsere gør det muligt at omgå sådanne problemer. Man kan ikke begrænse alle brugere med nedsatte rettigheder, og man må ikke glemme det enorme antal alternative DNS. Internettet er ikke statisk, og udover nye DNS-adresser køber forbudne hjemmesider nye adresser, ændrer topdomæner, og kan tilføje/fjerne symboler fra deres adresser. Men der er stadig ret til at have noget som:

ip route add blackhole 1.2.3.4

Det ville være effektivt at få en liste over IP-adresser fra de forbudte hjemmesider, men af de nævnte grunde skiftede vi til overvejelser om Iptables. Der var allerede en fungerende balancerer på CentOS Linux release 7.5.1804.

Brugeren skal have hurtig internetopkobling, og browseren må ikke vente et halvt minut med at konstatere, at denne side ikke er tilgængelig. Efter lange søgninger kom vi frem til denne model:
Fil 1 -> /script/denied_host, listen over forbudte navne:

test.test
blablabla.bubu
torrent
porno

Fil 2 -> /script/denied_range, listen over forbudte adresseområder og adresser:

192.168.111.0/24
241.242.0.0/16

Fil-script 3 -> ipt.sh, der udfører arbejde med iptables:

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

Brugen af sudo skyldes, at vi har en lille hack til at styre via WEB-interface, men som erfaringen fra over et års brug af en sådan model viser, er WEB ikke så nødvendig. Efter implementeringen var der et ønske om at indføre listen over hjemmesider i DB m.m. Antallet af blokerede værter er mere end 250 + et dusin adresseområder. Der er virkelig problemer med at tilgå hjemmesider via https-forbindelser, og som systemadministrator har jeg klager til browserne :), men det er undtagelsessituationer; de fleste blokeringer, der medfører manglende adgang til ressourcer, er stadig på vores side; vi blokerer også effektivt Opera VPN, plugins som friGate og telemetri fra Microsoft.

Iptables og trafikfiltrering mod fattige og dovne dissidenter

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster