As the title says ive started running webmin. And i wanna know if its safe for me to reverse proxy (with 2fa) or should i just use tailscale or ssh to access it.

  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    28
    ·
    7 hours ago

    It is almost always a bad idea to place a management interface on the internet. No level of strong password and multifactor auth will protect against an unauthenticated RCE which every language will get, including Perl.
    Absolutely stick it behind tailscale.

      • moonpiedumplings@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 hours ago

        I use cockpit, but via the client. They have a flatpak client that gives you cockpit’s features, connects over ssh (and reuses your ssh config), and doesn’t require anything to be installed on the host/server you are managing (besides ssh ofc).

        • moonpiedumplings@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          4 hours ago

          ssh is probably fine for 99% of things. I use ssh exclusively mostly

          The features I load cockpit up for is:

          • easier viewing of systemd/journalctl logs. You can click on services and see logs, search them, and so on.
          • Partitioning a disk. Nothing too crazy, but I can format a disk, wipe them, via the GUI
          • Networking configuration. If you are using networkmanager, cockpit will test the changes, attempt to connect, and then revert the changes if the connection fails (in like 15-30 seconds). This is legitimately insanely useful, I can change the ip address or something, connect via cockpit again, and only have the change stick if it’s actually good. (See also, netplan try from the netplan configuration framework.)

          Cockpit also offers a GUI for managing virtual machines (via libvirt) or podman contaniers. So someone else might want that, although I don’t really use that. (virtual machines can be managed remotely via virt-manager over ssh by connecting to qemu+ssh://user@remote-host/system, I manage podman via the terminal).

    • Creat@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      5
      ·
      5 hours ago

      Yes, it inherently is. Authentication/encryption happens as the very first thing at the network level, before anything resembling a service becomes accessible. This is fundamentally different than for example a web interface, which needs to present “the Web page” to allow the user to log in, which might involve multiple individual parts that can already have a 0-day.

      As a more direct comparison: look into historic vulnerabilities between ipsec VPN and SSL VPN. The former is the older technology, the second is more “web like”. The number of serious CVEs for the latter over just some manufacturers (Cisco, fortinet, …) in one year probably beats the number for ipsec in is entire life time.

      Going back to Tailscale (or netbird, …): it is one very secure layer which then secures everything. You can have 1 service or 20, same security. If you expose individual services, c you also expose every possible vulnerability of all of them, so all 20 services if that’s what you run.

      • crandall@lemmy.today
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        Makes sense. Its unfortunate though that it presents a hurdle for end users. My users need to hit a webpage and acesss stuff, asking them to connect to a VPN client is too much.

        • Creat@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          3
          ·
          4 hours ago

          It’s all a matter of what you consider reasonable risk. I also run some specific services exposed where it makes sense (they are designed to do this, think things like home assistant or next cloud or jellyfin), but would never put anything that is used to do server administration public facing (Webmin, Termix, proxmox, that sort of thing). If the purpose of the tool is to perform or allow elevated actions, I run it behind a VPN (yes for me that includes ssh).

          There’s also a difference between being randomly port scanned and/or probed, or being actively and personally targeted for some reason. If the second is ever a reasonable threat, that changes what is acceptable dramatically as well.

    • epyon22@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 hours ago

      Tailscale and wire guard, it’s underlying vpn application, have a big stake in being secure. Webmin not as much more focused on providing features and being secure. There is much more surface areas for a web application over a simple vpn service. And self hosted you probably aren’t implementing intrusion monitoring as serious as tailscale web services would.

    • Drunk & Root@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 hours ago

      Ive been looking at headscale dont know if its better as im not well versed in vpn or tailscale or any of it but it seems better

    • frongt@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 hours ago

      Not necessarily. But it’s one service, compared to multiple, which could each have their own vulnerabilities. It’s about reduction of risk.