Even when features overlap (cloud firewall + UFW + Tailscale + fail2ban + non-root user), keep them all. Security works in layers and redundancy is cheap. Concretely: cloud firewall exposes only HTTP/HTTPS publicly, SSH via port 22 or Tailscale UDP, intra-VPC restricted to the private subnet; UFW mirrors the same policy inside the VM; fail2ban protects SSH; a non-root 'pass_admin' user with sudo and root login disabled reduces blast radius.