Misbruikmeldingen verminderen bij het aanbieden van een VPN-dienst
Het uitvoeren van een VPN of proxydienst op een server brengt diverse risico's met zich mee. Als
eigenaar van het IP-adres bent u verantwoordelijk voor misbruik of illegale
activiteiten die via uw dienst plaatsvinden. Om uzelf hiertegen
te beschermen, moet u proactieve maatregelen nemen om uw
reputation.
Strict Mode:
Whitelisting
Een manier om er zeker van te zijn dat uw server niet wordt misbruikt, is door alleen bepaalde
activiteiten toe te staan. Deze aanpak, whitelisting genaamd, voorkomt
misbruik niet volledig - uw gebruikers kunnen nog steeds anderen aanvallen, wat kan leiden
tot de opschorting van uw server. Het maakt misbruik echter wel een stuk
lastiger, en de kans is groot dat het misbruikers weghoudt van uw
diensten (en helaas ook een deel van de legitieme gebruikers).
Wat we hier voorstellen is om alle inkomende en uitgaande
pakketten van je server te blokkeren, behalve de strikt noodzakelijke.
Zo doe je dat.
Het enige waar je rekening mee moet houden voordat je deze handleiding volgt, is
dat er geen andere firewalls actief mogen zijn op je server.
Hoewel deze handleiding het proces beschrijft voor Ubuntu, hoef je dat niet
als je besturingssysteem te hebben. De logica is voor andere besturingssystemen hetzelfde als
well.
1. Installing UFW
Eerst moet je UFW installeren.
sudo apt install ufw
2.
Alle inkomende en uitgaande verbindingen blokkeren
Zorg dat je UFW uitschakelt, want de volgende commando's kunnen
je verbinding met de server onderbreken:
sudo ufw disable
de onderstaande commando's blokkeren elk pakket dat probeert
je server in of uit te gaan. Later laten we alleen de verbindingen toe die
onze gebruikers nodig hebben:
sudo ufw default deny incoming
sudo ufw default deny outgoing
3. Allowing
jezelf verbinding te laten maken met je server
Nu staan we inkomende verbindingen toe op poort 22, de poort die
wordt gebruikt voor het opzetten van SSH-verbindingen. Het is overigens altijd verstandig
om je SSH-poort te wijzigen naar een andere waarde:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
Hoewel uitgaande verbindingen al geblokkeerd zijn, blokkeren we specifiek
alle uitgaande pakketten met poort 22 als bestemming (voor het geval
je het standaardbeleid in de toekomst wijzigt). Hierdoor kunnen zowel
jij als je gebruikers geen verbinding maken met andere servers via SSH op poort
22. Dat klinkt misschien lastig, maar het lost in de praktijk een van de meest
voorkomende problemen op die leiden tot de schorsing van je server. Met dit
commando kan geen enkele gebruiker SSH brute force-aanvallen uitvoeren vanaf
your server:
sudo ufw deny out 22/tcp comment “Stops SSH brute force”
Na het toestaan van inkomende verbindingen op poort 22 kun je je
firewall inschakelen zonder dat je de verbinding met je server verliest:
sudo ufw enable
Als je toch de verbinding met je server verliest, kun je
VNC gebruiken om opnieuw toegang te krijgen en je firewall uit te schakelen.
4.
Gebruikers toegang geven tot de proxy/VPN op je server
services
Je gebruikers moeten verbinding kunnen maken met de proxyservices
op je server. Als je alle inkomende verbindingen blokkeert, is dat
onmogelijk. Daarom moeten we de proxy/VPN-poorten openstellen die gebruikers nodig hebben.
Als we bijvoorbeeld willen toestaan dat gebruikers verbinding maken met poort 1194, die
doorgaans gebruikt wordt voor OpenVPN, typ je het volgende commando:
sudo ufw allow in 1194/tcp comment “OpenVPN port for users”
Of, als je OpenVPN via UDP gebruikt:
sudo ufw allow in 1194/udp comment “OpenVPN port for users”
Dezelfde logica geldt voor andere VPN- en proxyservers:
zoek uit via welke poort je gebruikers verbinding moeten maken en sta inkomende verbindingen toe.
connections to it.
Je gebruikers kunnen nu verbinding maken met je server en de VPN, maar
ze kunnen nog geen verbindingen naar buiten maken. Dat is precies het doel van whitelisting:
gebruikers kunnen alleen verbinding maken met poorten
die we expliciet toestaan. Dit minimaliseert het risico op
misbruikmeldingen.
5.
Gebruikers toegang geven tot websites en services
applications
Nu stellen we uitgaand verkeer toe op poorten die gebruikt worden om te
surfen en API-aanroepen te doen naar webservers. Hiervoor sta je
TCP poort 80 en TCP poort 443 toe. Door ook UDP poort 443 toe te staan,
kunnen je gebruikers HTTP3-verbindingen opzetten:
sudo ufw allow out 80/tcp comment “HTTP connections”
sudo ufw allow out 443 comment “HTTPS and HTTP3 connections”
6. Allowing
specifieke services op basis van behoefte
In de meeste gevallen zijn poorten 80 en 443 voldoende, maar voor volledige
functionaliteit van bepaalde applicaties of software, moet je mogelijk toestaan
dat je gebruikers ook andere poorten gebruiken.
Het wordt over het algemeen aangeraden om zelf onderzoek te doen en poorten alleen
toe te staan als dat echt noodzakelijk is. Elke grote applicatie heeft een
netwerkdocumentatie met informatie voor netwerkbeheerders
zoals jij. In deze documenten vind je de poorten die de
applicaties gebruiken, zodat je ze kunt whitelisten. Hieronder een paar populaire
ones as examples.
WhatsApp
(Geen video- of spraakoproep):
sudo ufw allow out 443/tcp comment “WhatsApp”
sudo ufw allow out 5222/tcp comment “WhatsApp”
Git:
sudo ufw allow out 9418/tcp comment “Git”
Sommige diensten zoals Discord,
Zoom,
of WhatsApp spraak- en videogesprekken vereisen een breed bereik aan UDP-poorten,
die je naar eigen inzicht kunt openen.
Lenient Mode:
Blacklisting
Bij whitelisting blokkeer je alles en sta je specifieke poorten toe. Bij
blacklisting sta je alles toe en blokkeer je specifieke poorten.
1. Installing UFW
Eerst moet je UFW installeren
sudo apt install ufw
2. Blocking the
incoming connections
Zorg dat je UFW uitschakelt, want de volgende commando's kunnen
je verbinding met de server onderbreken:
sudo ufw disable
Het is logisch om alle inkomende verbindingen te blokkeren, tenzij je
specifieke diensten aanbiedt. Laten we dus al het inkomende verkeer weigeren:
sudo ufw default deny incoming
Let op: deze keer blokkeer je niet alle uitgaande verbindingen.
Hierdoor kunnen je gebruikers verbinding maken met elke gewenste poort. Dit is niet
aan te raden, tenzij je je gebruikers volledig vertrouwt.
3.
Jezelf toegang geven tot je server
Nu staan we inkomende verbindingen toe op poort 22, de poort die wordt
gebruikt voor het opzetten van SSH-verbindingen met je server. Hoewel het
altijd verstandig is om je SSH-poort te wijzigen naar iets anders:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
Als je de SSH-poort wilt blokkeren om misbruikmeldingen over SSH brute force te voorkomen,
kun je het volgende commando gebruiken:
sudo ufw allow out 22/tcp comment “Block Outgoing SSH ”
4. Block BitTorrent
Met dezelfde redenering moet je poorten blokkeren die worden gebruikt voor
BitTorrent. Omdat er echter meerdere poorten voor zijn, moet je
om je onderzoek te doen en de IP-adressen van publieke trackers, evenals de bijbehorende poorten, te blokkeren
die normaal gesproken worden gebruikt voor BitTorrent.
Heb je vragen? Neem gerust contact met ons op via submitting a
ticket.
Also in Security
Related guides.
Hulp nodig met iets anders?
Gemiddelde reactietijd onder 1 uur. Echte mensen, geen bots.