Some services run really good behind a reverse proxy on 443, but some others can really become an hassle… And sometimes just opening other ports would be easier than to try configuring everything to work through 443.

An example that comes to my mind is SSH, yeah you can use SSLH to forward requests coming from 443 to 22, but it’s so much easier to just leave 22 open…

Now, for SSH, if you have certificate authentication or a strong password, I think you can feel quite safe, but what about other random ports? What risks I’m exposing my server to if I open some of them when needed for a service? Is the effort of trying to pass everything through 443/80 worth it?

  • Onomatopoeia@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 hours ago

    Others have clarified, but I’d like to add that security isn’t one thing - it’s done in layers so each layer protects from potential failures in another layer.

    This is called The Swiss Cheese Model. of risk mitigation.

    If you take a bunch of random slices of Swiss cheese and stack them up, how likely is there to be a single hole that goes though every layer?

    Using more layers reduces the risk of “hole alignment”.

    Here’s an example model:

    So a router that has no open ports, then a mesh VPN (wireguard/Tailscale) to access different services.

    That VPN should have rules that only specific ports may be connected to specific hosts.

    Hosts are on an isolated network (could be VLANS), with only specific ports permitted into the VLAN via the VPN (service dependent).

    Each service and host should use unique names for admin/root, with complex passwords, and preferably 2FA (or in the case of SSH, certs).

    Admin/root access should be limited to local devices, and if you want to get really restrictive, specific devices.

    In the Enterprise it’s not unusual to have an admin password management system that you have to request an admin password for a specific system, for a specific period of time (which is delivered via a secure mechanism, sometimes in person). This is logged, and when the requested time frame expires the password is changed.

    Everyone’s risk model and Swiss cheese layering will fall somewhere on this scale.