Nu stoppar vi RU och BY!

Det finns länder på detta jordklot som helt saknar existensberättigande om man frågar mig, vi behöver inte nämna några länders namn men för enkelhetens skull kallar vi dem för RU och BY. I grunden anser jag att Internet skall vara öppet, opolitiskt och gärna fritt, utom för RU och BY då dessa beter sig så otroligt dåligt i världen så jag saknar ord för det, i alla fall ord som lämpar sig i skrift.

På grund av ovanstående, jag bestämmer vem som skall få använda mina tjänster på Internet och vem som inte förtjänar det så därför skall all trafik från RU och BY bara kastas och det så tidigt som möjligt i min inkommande brandvägg och router så att trafiken inte tar upp onödiga resurser.

Jag spenderade en hel kväll med att försöka skripta hela lösningen direkt i MikroTik RouterOS7 men detta visade sig till sist bli en värld av irrgångar och återvändsgränder, det dom fungerade för lilla BY-listan dog helt med en uppsjö av problem när stora RU-listan med IP-adresser skulle processas och till sist gav jag upp.

Hmm, tänkte jag då … och istället flyttades fokus till en av mina små allt-i-allo Raspberry Pi 5:or, hmm …

Skapade här ett skript som hämtar listorna med IP-adresser, adderar texten ”/ip firewall address-list add list=RU address=” framför respektive IP-adress och sedan sparar ned allt i en fil som jag kan kopiera till min brandvägg. För att kunna läsa in ett lösenord till SSH-hanteringen var jag tvungen att installera lilla ”fulprogrammet” sshpass …

Såhär ser skripten ut för BY och RU.

rm by.rsc
curl -s https://www.ipdeny.com/ipblocks/data/countries/by.zone | sed 's/^/\/ip firewall address-list add list=BY address=/' > by.rsc
sshpass -f psw.txt ssh loginnamn@<min brandväggs IP> "rm -f /by.rsc"
sshpass -f psw.txt scp by.rsc loginnamn@<min brandväggs IP>:/
rm ru.rsc
curl -s https://www.ipdeny.com/ipblocks/data/countries/ru.zone | sed 's/^/\/ip firewall address-list add list=RU address=/' > ru.rsc
sshpass -f psw.txt ssh loginnamn@<min brandväggs IP> "rm -f /ru.rsc"
sshpass -f psw.txt scp ru.rsc loginnamn@<min brandväggs IP>:/

Lösenordet hämtar jag från filen psw.txt, kanske inte så säkert men fungerar i min lilla avgränsade miljö. Hade det varit en lite större eller känsligare miljö hade jag löst det med certifikatbaserad inloggning istället …

Nu vill jag ju inte behöva köra dessa skript manuellt varenda dag för att uppdatera mina filter så naturligtvis installeras de via crontab till Cron och körs då 07.00 respektive 07.01 varje dag.

00 07 * * *  cd /home/loginnamn/rtr2_filter/ && bash fetch_by.sh
01 07 * * *  cd /home/loginnamn/rtr2_filter/ && bash fetch_ru.sh

Med hjälp av dessa skript får jag över filerna till min MikroTik:s filsystem i ett importvänligt format som antingen kan kopieras direkt in via terminal eller även här skriptas för automagiska uppdateringar.

Så var det dags att gå över till MikroTik RouterOS 🙂

Först skapar jag två platshållare i brandväggens adresslistor, en med namnet BY och en med RU, detta för att kunna göra regelverket klart.

Under brandväggens Raw-flik adderar jag därefter två filter vilka blockar all trafik baserad på source-listorna BY och RU.

Sedan är det dags att skapa skript för import av skriptfilerna by.rsc och ru.rsc vilka nu ligger i roten av MikroTiks filsystem.

import_BY:

/ip firewall address-list remove [find list="BY"]
/import file-name=by.rsc

… samt import_RU:

/ip firewall address-list remove [find list="RU"]
/import file-name=ru.rsc

Dessa skriptrader kan man också testköra direkt i ett terminalfönster för att se skriptraderna fungera.

För att köra skripten per automatik så skapas entries i MikroTiks Scheduler …

… där man exekverar följande kommando.

/system script run import_BY

… respektive …

/system script run import_RU

… och vips är man av med all trafik från RU- och BY-baserade IP-adresser. Visst är jag medveten om att de enkelt kan gå runt detta genom VPN-uppkopplingar med publika utgångs-IP var som helst i världen men du anar inte hur många paket i sekunden jag blir av med … 🙂
och det gör i alla fall mig gladare!!!

Ha en bra dag.
//Anders

Nordh Tech
Privacy Overview

GDPR och kakor (cookies)

Den 25 maj 2018 började dataskyddsförordningen (GDPR) att gälla i Sverige och övriga EU.

Det innebär bland annat att inget företag eller organisation får spara personuppgifter som inte behövs för att leverera det du bett om och att du har rätt att ”bli glömd” så snart du ber om det.

För din kontakt med Nordh.Tech innebär det inte så mycket.

Vi sparar en kaka (cookie) vilket innebär en liten textfil med information om vad du gjort när du surfar hos oss, vi gör det för att kunna få statistik rörande vad du gjort när du besöker oss och för att vi skall kunna ge dig nytt innehåll och inte till exempel behöva fråga dig var gång du besöker oss om du godkänner våra GDPR-villkor eller att det sparas en ”kaka” på din dator.

Vi sparar också din epostadress för att kunna skicka dig vårt nyhetsbrev eller hantera din inloggning i vårt forum, om du bett om det vill säga. Då du prenumererar på nyhetsbrevet eller begär inloggning till vårt forum anger du också ditt förnamn eller inloggningsnamn men här kan du ange vilket namn som helst. Vissa anger även efternamn men dessa raderas så att endast förnamnet kommer att användas i hälsningsfrasen i varje nyhetsbrev.

Hoppas detta gör att du kan känna dig trygg med ditt besök hos mig här på Internet.