Am I doing this (networking) safely?
from flork@lemy.lol to selfhosted@lemmy.world on 07 Feb 19:16
https://lemy.lol/post/60732138

Here is my setup:

I have multiple DuckDNS domains (and subdomains) pointing to my home IP. My home router has port 80 and port 443 forwarded to Nginx Proxy Manager on my home server. Nginx Proxy Manager points to the appropriate docker container and each one is encrypted with Let’s Encrypt.

Am I missing anything here or is this how I’m supposed to be doing it? Every app that has a DuckDNS url has a password in some shape or form.

#selfhosted

threaded - newest

redlemace@lemmy.world on 07 Feb 19:34 next collapse

My usual additions:

  1. Have the router to block portscanners
  2. fail2ban on internet facing services.
flork@lemy.lol on 07 Feb 20:03 collapse

Thanks I’ll look into these. Quick question: how does fail2ban use port 80 if that’s already used by nginx?

redlemace@lemmy.world on 07 Feb 20:19 collapse

It does not. It does not uses ports at all. Fail2ban monitors your logfiles and activates the firewall to block IP’s that matched your rules.

t.ex. You can block an IP that tried to access https://<url>/admin. You can block an IP that used wrong credentials x times to login on an ssh port. Or block one that tried to relay via your mailserver. The duration is configurable and alternative duration can be configured for recidivists.

And yes, you can whitelist IP’s to avoid locking yourself out. The possibilities are endless.

tofu@lemmy.nocturnal.garden on 07 Feb 19:40 next collapse

Networking looks fine, but check fail2ban as the other commenter mentioned, it goes to the npm.

Make sure to keep all internet facing applications up to date and use strong passwords.

flork@lemy.lol on 07 Feb 20:04 collapse

Thanks I’m going to look into fail2ban. I mostly wanted to make sure I wasn’t being a total idiot here.

redlemace@lemmy.world on 07 Feb 20:22 collapse

I wasn’t being a total idiot

that goes unanswered ;) it’s not unlikely selfhosters have at least one loose screw.

irmadlad@lemmy.world on 07 Feb 21:23 collapse

selfhosters have at least one loose screw.

I have a box of them, right next to my box of strings too short to use.

frongt@lemmy.zip on 07 Feb 19:51 next collapse

Safety is relative. How are you handling every hacker in the world knocking on your door?

Personally I only expose a VPN and use that, instead of exposing a bunch of services.

redlemace@lemmy.world on 07 Feb 20:24 collapse

Safety is relative.

It’s also not a state you can reach, it’s a mindset as well as an on-going process

Decronym@lemmy.decronym.xyz on 07 Feb 20:10 next collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
VPN Virtual Private Network
nginx Popular HTTP server

3 acronyms in this thread; the most compressed thread commented on today has 9 acronyms.

[Thread #71 for this comm, first seen 7th Feb 2026, 20:10] [FAQ] [Full list] [Contact] [Source code]

irmadlad@lemmy.world on 07 Feb 20:41 collapse

Am I missing anything here or is this how I’m supposed to be doing it?

AFA fail2ban, I always set up the jails in aggressive mode:

[sshd]
mode = aggressive
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5 <---edit to tastes
bantime = 3600 <---edit to tastes
findtime = 600 <---edit to tastes

You might want to check out Crowdsec, maybe deploy Tailscale as an overlay. How many users are you providing services for? If just yourself, I use the host allow / host deny feature in Linux. Just make sure you do host allow first, lol.