Scan op een nieuw IP-adres: poort 6379 Redis open, poort 3306 MySQL reageert. De VPS had nginx correct geconfigureerd – en geen firewall werd standaard geweigerd. De aanvaller heeft nginx niet gehackt; hij sprak rechtstreeks met Redis. Dit scenario doet zich binnen enkele minuten voor op elk ongefilterd openbaar IP-adres, en niet in weken.
Het configureren van de firewall van een VPS betekent definiëren wie het recht heeft om met welke diensten te spreken. Installeer geen tien tools: begin met het weigeren van al het binnenkomende verkeer, behalve het essentiële, en open vervolgens alleen datgene wat de site echt ademt. De firewall veroorzaakt de kwetsbaarheid niet; het maakt nalatigheid bij het afluisteren van uw netwerk zichtbaar.
Veel teams configureren nginx, implementeren de applicatie en doen vervolgens “de firewall later”. Later gebeurt dit vaak na de eerste scan – of nadat een Redis-compromis ‘tijdelijk’ open is gelaten.
Poorten die moeten worden goedgekeurd als invoer voor een klassieke website
| Haven | Diensten | Opmerking |
|---|---|---|
| 22/tcp | SSH | Beperk indien mogelijk tot beheerder-IP |
| 80/tcp | HTTP | ACME- en HTTPS-omleiding |
| 443/tcp | HTTPS | Openbare website |
| ICMP | pingen | Optioneel; sommige monitoringtools gebruiken het |
Al het andere is standaard gesloten: MySQL 3306, Redis 6379, Postgres 5432, SMTP 25, beheerderspaneel 8080. Interne services luisteren op 127.0.0.1 of een privénetwerk - niet op 0.0.0.0 dat is blootgesteld aan internet.
Voordat u de eerste regel schrijft, noteert u wat er daadwerkelijk wordt geluisterd:
ss-tlnp
Vergelijk de uitvoer met wat u dacht te hebben geïnstalleerd. Docker kan bijvoorbeeld poorten publiceren zonder dat ufw ze filtert op basis van configuratie – zie valkuilen hieronder.
ufw: veilige volgorde zodat u niet wordt buitengesloten
Voordat u ufw enable uitvoert, moet u een SSH-sessie open houden en testen vanuit een tweede venster:
ufw standaard binnenkomend weigeren
ufw staat standaard uitgaand verkeer toe
ufw staat 22/tcp toe
ufw staat 80/tcp toe
ufw staat 443/tcp toe
ufw inschakelen
ufw-status uitgebreid
Als u beheert vanaf een vast IP-adres, beperk dan SSH:
ufw toestaan van YOUR.IP.OFFICE naar elke poort 22 proto tcp
IPv6: een ufw allow 443/tcp-regel moet v6 of een expliciete regel dekken; als je v6 vergeet, ontstaat er een gat dat exploits scant. Controleer met ufw status verbose of de v6-regels zijn uitgelijnd.
Veel hosts – Hetzner Cloud Firewall, OVH Network Security – filteren vóór de VPS. Dubbele laag aanbevolen: restrictief paneel plus uitgelijnde lokale UFW. Zie Hetzner firewall cloud voor een concreet voorbeeld van paneelregels.
Add-ons: fail2ban, SSH-sleutels, klassieke fouten
fail2ban verbiedt adressen na herhaalde SSH-fouten — zie Secure SSH. Geen SSH-wachtwoord: alleen sleutels. De firewall herstelt geen ongepatchte kwetsbaarheden (CVE's); het verkleint het blootgestelde aanvalsoppervlak.
Fouten die terugkomen:
- 3306 “tijdelijk” maanden toestaan;
- Docker
-p 6379:6379die Redis publiceert zonder ufw-filter, afhankelijk van de configuratie; - Schakel ufw "voor debug" uit zonder een terugkeer naar servicedatum;
- Wereldwijd open SSH met zwakke wachtwoordverificatie.
Voor een toegangsbastion, zie SSH bastion — alternatief voor het rechtstreeks blootstellen van SSH vanaf elk IP-adres.
De bovenkant: de firewall onthult wat u gewoonlijk blootlegt
Geef ss -tlnp op voordat u de eerste regel schrijft. Vergelijk VPS met paneelfirewalls via de overzicht en de vergelijker - sommige Europese hosts bieden een gratis cloudfirewall aan, andere brengen hier apart kosten voor in rekening.
Beslis en ga vooruit zonder blinde vlek
Gedurende een halve dag kunt u een nieuwe VPS beveiligen of een bestaande controleren:
- Inventarisatie open poorten met
ss -tlnpen scannen van buitenaf - vertrouw niet op uw geheugen van de installatie. - Configureer eerst de beperkende cloudfirewall: SSH vanaf kantoor-IP, 80 en 443 openbaar, al het andere gesloten.
- Schakel ufw standaard in als weigeren met dezelfde regels: houd een SSH-sessie open tijdens het testen.
- Koppel databases en cache alleen op localhost of privénetwerk; nooit op 0.0.0.0 zonder tunnel of VPN.
- Koppel fail2ban en SSH-sleutelauthenticatie: een firewall alleen is niet voldoende tegen brute force-aanvallen.
- Controleer na elke implementatie IPv6- en Docker-containers die poorten zonder filters adverteren.
Veelgestelde vragen
ufw of nftables rechtstreeks?
ufw om snel aan de slag te gaan met Ubuntu of Debian – leesbare abstractie. nftables of iptables als complexe regels of infrastructuurscripts zijn. Beide kunnen naast elkaar bestaan; vermijd conflicterende duplicaten die legitiem verkeer blokkeren.
Moeten we SSH-poort 22 wijzigen?
Alleen duisternis met weinig voordeel. Wachtwoordloze SSH-sleutels plus fail2ban zijn meer waard. Aangepaste poort als bonus om scanruis te verminderen, niet als vervanging voor sterke authenticatie.
Cloudhostfirewall + lokale ufw?
Aanbevolen voor diepgaande verdediging: paneelfirewall als eerste barrière, ufw op de instance. Zorg ervoor dat u de regels op één lijn brengt, zodat u niet wordt geblokkeerd, vooral niet via SSH vanaf een vast IP-adres.
MySQL op het bureaublad openen voor phpMyAdmin?
Niet live op internet. Alleen SSH-tunnel, VPN of beheer via localhost. Expose 3306 maakt binnen enkele minuten scans.
Een effectieve VPS-firewall begint niet met alles toe te staan; hij begint met alles te ontkennen en vervolgens alleen datgene te openen waar de site niet zonder kan.
