# VPS Beveiligingsmaatregelen

### Server hardening
- Root SSH-login uitgeschakeld
- Dedicated non-root gebruiker (`deploy`) met sudo-rechten
- SSH key authenticatie
- UFW firewall — alleen poorten 22, 80 en 443 open
- fail2ban actief — IP-adressen worden 1 uur geblokkeerd na 5 mislukte SSH-pogingen binnen 10 minuten

### Netwerk & encryptie
- HTTPS afgedwongen via Nginx + Let's Encrypt
- Umami gebonden aan `127.0.0.1` — niet publiek bereikbaar
- PostgreSQL alleen op intern Docker-netwerk
- SSL automatisch vernieuwd via Certbot

### Applicatiebeveiliging
- Umami standaardwachtwoord direct wijzigen bij eerste login
- `APP_SECRET` gerandomiseerd met `openssl rand -base64 32`
- Cookieloze tracking — geen persoonsgegevens opgeslagen
- `data-domains` attribuut beperkt tracking tot productiedomein

### Nog te doen
- [ ] Periodieke database backups instellen (cronjob) — een cronjob op de VPS die dagelijks een dump maakt en bijv. naar je lokale machine of een object storage stuurt. Nu verlies je bij een VPS-crash alles wat na je laatste handmatige backup binnenkomt.
- [ ] fail2ban installeren voor SSH brute-force bescherming — blokkeert automatisch IP-adressen die te vaak fout inloggen via SSH. Eén commando om te installeren, vrijwel geen configuratie nodig.
