PHP, TLS, etc… We appear to be facing a tsunami of vulnerabilities being discovered in record time. Further, the window to act on these vulnerabilities has basically closed to zero; hackers’ tools now automatically fold the very latest vulnerabilities into their botnets within minutes/hours of discovery. I have always been extremely reluctant to expose any of my services - even with the latest and greatest security tools. My choice to stay totally within the confines of tailscale seems vindicated given this week’s news. How are you all taking this?

https://pwn.watch/

  • tigerhawkvok@startrek.website
    link
    fedilink
    English
    arrow-up
    10
    ·
    17 hours ago

    I still do, but I don’t host anything on 80 or 443. I use a random large port number, and I’ve seen zero illegitimate requests in 20 months.

    IF there’s an active exploit AND it affects a container AND you have a container escape route AND you pick my domain you’d need to statistically try thousands of times to even hit the single open NAT port.

    • lemmyvore@feddit.nl
      link
      fedilink
      English
      arrow-up
      11
      ·
      10 hours ago

      I also practice domain/IP obfuscation in addition to high port:

      • TLS certs are wildcard certs, so bots can’t get my subdomains from transparency logs.
      • My DDNS IP is on a subdomain (random string) not on the base domain.
      • My public services are also on random subdomains, CNAME’d individually to the IP subdomain.
      • There is no wildcard CNAME that the bots can query to get the IP.

      This eliminates scanning almost completely. They can’t find an IP to go with my base domain, first of all. And even if a bot is scanning the IPv4 address space and all the ports and it finds the reverse proxy it can’t get past it without knowing a FQDN. I still get the occasional hit from such bots but it’s very rare.

      Also, all my public services are secured with mTLS (preferably) or at the very least a long key in a custom HTTP header (both enforced at the proxy).

    • emax_gomax@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      10 hours ago

      How do u use a port other than 443 for https. AFAICT all web browsers are pinned to it (for ssl checks I think) and I could never get an actual https connection through an alt port. Maybe I didn’t understand it properly.

      Edit: I think actually it’s the auto cert provisioning workflow. The CA I’m signing against hardcodes port 443 :/

      Edit, edit: this was the issue https://caddy.community/t/non-standard-ports-for-https/6916/4

      • 123@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 hours ago

        The API based challenges are better since you don’t even need to make the site externally accessible to get certificates.

        Let’s encrypt and similar services support those and for popular registrars (aws, porkbun, etc,) here are existing plugins for caddy, swag (nginx proxy with built in cert support) and a few others.

      • tigerhawkvok@startrek.website
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 hours ago

        Yeah, if you use something like Nginx Proxy Manager you can’t use the automatic flow, you need to use the token based challenge.

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

          Boo, no idea why acme forces these specific ports. Swapping them seems like a pretty basic obfuscation technique that could help a lot to secure any services.

          Edit: actually seems like this might be possible with the dns challenge type. I’m gonna test this out later https://github.com/caddy-dns/porkbun