Hello folks! I am looking for some guidance or direction on how to make sure my “server” locked down as much as possible. I know there are several websites/guides out there but was hoping I could get someone to recommend some good ones to use that cover all the bases solidly.

There are just so much info out there, wading through looking for a solid guide when you ignorant is hazardous.

Server is running Mint and hosts my Plex/Radarr/Sonarr stack. Using a locally hosted reverse proxy for any outside connections.

This started as a project to learn linux, so things are a bit shaky on linux understanding but getting better. I used GPT assistance to lock it down to the best of my ability, making sure (or I think) that most obvious firewalls rules were setup…ect.

Thanks for your help :)

  • Klox@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 hours ago

    Your really need to define your scope first. Is it just you? Family? Extended family? Strangers?

    After understanding that, the best bang for your buck is a private mesh/tunnel VPN. Tailscale, Netbird, Pangolin, or plain wireguard. If you want real public routing, then you need to understand reverse tunnels and your app’s lifecycle/quality. After that, all the security guidelines are basically trying to reduce blast radius. And that depends a lot on how you’re running the app, what it has access to, etc. DMZ network for isolation goes a long way.

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 hours ago

    I posted this a while back. Maybe it will spark some ideas. I’m not holding it up as the pinnacle of security, but it has worked for me for quite a while.

    https://lemmy.world/post/43533409

    In that post, I forgot to specifically mention VLANS, but I do utilize them as a way to isolate everything.

  • jacksilver@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 hours ago

    I am certain this is an area my self hosted solutions lack, but still happy to share.

    For me accessibility is the most important, and I have family that’s not technically savvy, so vpns/Wireguard arent great for my use case. So I use a reverse proxy to expose certain apps and have fail2ban configured to block/ban ips that misbehave. This essentially blocks people trying to guess accounts and I’ve been toying with some ratelimiting. However, as many will say, this is not a very secure system and I should monitor my local traffic more to be aware of bad actors.

    At the end of the day though it’s really a battle of ease vs security. Reverse proxies provide easier access, but more risk compared to things like vpns. Also, SSH should be setup for key only (no password) and should never be exposed to the public internet (so no reverse proxy).