# Zurich (zurich.inou.com / 82.22.36.202) — Security Baseline Established: 2026-02-22 ## Root SSH Authorized Keys ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICvQUpzuHN/+4xIS5dZSUY1Me7c17EhHRJdP5TkrfD39 claude@macbook ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG4TEk5EWIwLM3+/pU/H5qxZQlNUvIcxj72bYhYOZeQZ james@server ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGIhEtv7t3njNoG+mnKElR+rasMArdc8DnHON22lreT7 james@james ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK+9hJSfMkbe68VPbkRmaW/sFFmd3+QBmisJYLY+S6Cj james@forge ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN5hDM45kOB8jxk+M4Kk9in9bpwZ90sSZsPBMbzJRkbF johan@thinkpad-x1 ## Expected Users (uid>=1000) nobody:65534 (system) harry:1000 (/var/www/harryhaasjes — web service, nologin) harry-web:1001 (/home/harry-web — web service, nologin) ## Expected Listening Ports - 22 (SSH — all interfaces) - 25/143/587/465/993/995/110/4190 (Stalwart mail server) - 80/443 (Caddy) - 2019 (Caddy admin — localhost) - 2586 (ntfy — localhost, behind Caddy) - 3001 (Uptime Kuma — all interfaces, UFW blocks external) - 8080 (Vaultwarden — localhost, behind Caddy) - 8880/8443 (Stalwart admin — localhost) - 41641 (Tailscale UDP) ## SSH Hardening - PasswordAuthentication: no ✅ - PermitRootLogin: without-password ✅ - PubkeyAuthentication: yes ✅ ## Known Firewall State UFW: ACTIVE ✅ Rules: 22, 80, 443, 41641 (Tailscale), tailscale0, 25, 587, 465, 993, 143, 4190 ## Known Issues at Baseline - High SSH brute force volume — expected for public VPS, mitigated by key-only auth + fail2ban - Port 3001 (Kuma) exposed on all interfaces — but UFW blocks it externally (no rule for 3001) - Port 110/995 (POP3) not in UFW rules — blocked externally even though Stalwart listens - Docker: uptime-kuma, vaultwarden