submitted 3 months ago* (last edited 3 months ago) by to c/selfhosted@lemmy.world
 

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 :)

you are viewing a single comment's thread
view the rest of the comments
[–] 9 points 3 months ago* (3 children)

I've had good success spinning up an authentik instance, and having my reverse proxy hit it first before it routes to the actual app. Puts another security layer in front in case sonarr itself has an issue, for ex.

Caddy snippet


handle {$host} {
		route {
			# always forward outpost path to actual outpost
			reverse_proxy /outpost.goauthentik.io/* authentik-server-1:9000

			# forward authentication to outpost
			forward_auth authentik-server-1:9000 {
				uri /outpost.goauthentik.io/auth/caddy

				# capitalization of the headers is important, otherwise they will be empty
				copy_headers X-Authentik-Username X-Authentik-Groups X-Authentik-Entitlements X-Authentik-Email X-Authentik-Name X-Authentik-Uid X-Authentik-Jwt X-Authentik-Meta-Jwks X-Authentik-Meta-Outpost X-Authentik-Meta-Provider X-Authentik-Meta-App X-Authentik-Meta-Version
			}
			
			reverse_proxy {this_host_or_ip}:{this_port}
		}
}

Not gonna solve all your problems. Works for 70% of apps. Nice to slap on when you can.

  • source
  • hideshow 3 child comments
  • [–] 2 points 3 months ago (2 children)

    I've been tempted by things like authentik, but how does that work for things like apps and tv sticks (roku / Chromecast)? Or does it really only work for browser based applications?

  • source
  • parent
  • hideshow 2 child comments