• 0 Posts
  • 8 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle


  • I have wrestled with the same thing as you and I think nginx reverse proxy and subdomains are reasonably good solution:

    • nothing answers from www.mydomain.com or mydomain.com or ip:port.
    • I have subdomains like service.mydomain.com and letsencrypt gives them certs.
    • some services even use a dir, so only service.mydomain.com/something will get you there but nothing else.
    • keep the services updated and using good passwords & non-default usernames.
    • Planned: instant IP ban to anything that touches port 80/443 without using proper subdomain (whitelisting letsencrypt ofc), same with ssh port and other commonly scanner ones. Using fail2ban reading nginx logs for example.
    • Planned: geofencing some ip ranges, auto-updating from public botnet lists.
    • Planned: wildcard TLS cert (*.mydomain.com) so that the subdomains are not listed anywhere maybe even Cloudflare tunnel with this.

    Only fault I’ve discovered are some public ledgers of TLS certs, where the certs given by letsencrypt spill out those semi-secret subdomains to the world. I seem to get very little to no bots knocking my services though so maybe those are not being scraped that much.