• BaroqueInMind@kbin.social
    link
    fedilink
    arrow-up
    71
    arrow-down
    1
    ·
    1 year ago

    My Jellyfin server keeps getting pinged by EMOTET malware lately. Everyone here should be aware if you expose the Jellyfin port to the internet it will get data exfiltration attempts. Use strong passwords.

    • icedterminal@lemmy.world
      link
      fedilink
      English
      arrow-up
      53
      arrow-down
      1
      ·
      1 year ago

      Oh my. You’re doing it wrong. Exposing the unencrypted connection without the proper security measures is putting yourself at risk. Regardless of how strong you set the password, the connection can still be abused in all manner of ways. If you read the jellyfin documentation, you’d see the developers clearly state you should never do this. You need to put Jellyfin behind server software. Specifically a reverse proxy. I use NGINX. You can setup your connection to be secure this way. You can now also use Cloudflare if you have cache turned off. And if you really wanna go the extra mile, route it behind a VPN. Though this makes it harder for those you share it with or some devices that don’t support VPN.

      Please revise your connection. If you need help, feel free to reach out.

      • BaroqueInMind@kbin.social
        link
        fedilink
        arrow-up
        12
        ·
        edit-2
        1 year ago

        I have nginx setup and acessing through a Cloudflare tunnel but still getting EMOTET issues detected by my IDS.

        • pcjones@feddit.de
          link
          fedilink
          English
          arrow-up
          6
          ·
          1 year ago

          May I ask what I should look for in the log files to detect this (and so I can configure fail2ban correctly)?

          • BaroqueInMind@kbin.social
            link
            fedilink
            arrow-up
            4
            ·
            1 year ago

            First read this

            Then use the following:

            alert tcp $HOME_NET any -> $EXTERNAL_NET 443 (msg:“[CIS] Emotet C2 Traffic Using Form Data to Send Passwords”; content:“POST”; http_method; content:“Content-Type|3a 20|multipart/form-data|3b 20|boundary=”; http_header; fast_pattern; content:“Content-Disposition|3a 20|form-data|3b 20|name=|22|”; http_client_body; content:!“------WebKitFormBoundary”; http_client_body; content:!“Cookie|3a|”; pcre:“/:?(chrome|firefox|safari|opera|ie|edge) passwords/i”; reference:url,cofense.com/flash-bulletin-emotet-epoch-1-changes-c2-communication/; sid:1; rev:2;)

            And the following:

            alert tcp any any -> any $HTTP_PORTS (msg:“EMOTET:HTTP URI GET contains ‘/wp-content/###/’”; sid:00000000; rev:1; flow:established,to_server; content:“/wp-content/”; http_uri; content:“/”; http_uri; distance:0; within:4; content:“GET”; nocase; http_method; urilen:<17; classtype:http-uri; content:“Connection|3a 20|Keep-Alive|0d 0a|”; http_header; metadata:service http;)

            And also this one:

            alert tcp any any -> any $HTTP_PORTS (msg:“EMOTET:HTTP URI GET contains ‘/wp-admin/###/’”; sid:00000000; rev:1; flow:established,to_server; content:“/wp-admin/”; http_uri; content:“/”; http_uri; distance:0; within:4; content:“GET”; nocase; http_method; urilen:<15; content:“Connection|3a 20|Keep-Alive|0d 0a|”; http_header; classtype:http-uri; metadata:service http;)

        • icedterminal@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          2
          ·
          1 year ago

          You always will. Welcome to the Internet. The difference is whether or not you’ve taken steps to secure your stuff. You need to understand what this malware is looking for. It’s explicitly looking for unsecured services. Such as WordPress, SQL, etc. There are inexperienced users out there that inadvertently expose themselves. I see this type of probing at work and at home. Don’t overly stress it. My home server has been running for a decade without issues. Just keep it updated and read before you make any changes if you don’t fully understand the implications.

          My home based server is behind a pfsense firewall. Runs Arch. Everything is in a non-root docker container. SELinux is enforced. All domains are routed through Cloudflare. Some use Cloudflare Zero Trust.

      • BaroqueInMind@kbin.social
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        edit-2
        1 year ago

        Mines behind an NGINX reverse proxy as well. EMOTET is a very advanced malware and can get around those now. My IDS detected data exfiltration to an unknown Brazilian IP, and I have a VPN with an IP tunnel on top of my reverse proxy, as well as everything on port 443. It still found a way.

        • icedterminal@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          If it found a way, then your server configuration is inadequate. Are you using old ciphers or protocols? Missing headers? Wrong headers? Something doesn’t add up here.

    • CmdrShepard@lemmy.one
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      1
      ·
      1 year ago

      This is the biggest downfall of Emby/Jellyfin IMO. It’s a tradeoff from being reliant on Plex’s authentication servers, but requires a lot of technical knowledge to setup correctly (rather than just port forwarding and relying on a strong password).

        • kaan@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          The employee who got hacked was both using an insecure password (the exploit needs access to an admin account) and his Plex install was 2.5 years out of date.

          • Snowplow8861@lemmus.org
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            Sure was! You need to be on top of paid and free and open source software from a security stand point. There’s no shortcut no matter what you think you’re paying for. Your threat model might be better when the service automates a Web proxy for you, but that’s only one facet. You trade problems but should never feel like you can “set and forget”. Sometimes it’s better for you to do it yourself because there’s no lying about responsibilities that way.

      • BaroqueInMind@kbin.social
        link
        fedilink
        arrow-up
        9
        ·
        1 year ago

        I have a refurbished server rack system that is running Zeek and also Suricata. I have a managed switch that will duplicate all network traffic to the system that is running those applications and a JBOD setup to store the countless logs. I have scoured through nearly all the CISA documents and alert reports to copy the various Snort rules they mention in each report and also purchased a specific modem to connect with my ISP that provides a service to monitor my traffic that has Minim.

        I am a cybersecurity expert and still don’t know what I’m doing most of the time, so this is literally scratching the surface, as well as only detecting threats not really stopping them which requires more knowledge.

    • TBi@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 year ago

      Get a reverse proxy. Ping me if you need details. All my stuff is hidden behind port 443.

    • paris@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      1
      ·
      1 year ago

      Why not use a reverse proxy to keep everything on port 443 behind your own domain or duckdns? /gen

      • Bill@lemmy.ca
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 year ago

        Can you link a good resource for me to set this up myself ? To many similar but different guides and my ADD makes it impossible to reach the goal.

        • magikfish@lemm.ee
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          1 year ago

          Look up Caddy V2 probably the most dead simple reverse proxy I’ve seen and they have solid documentation

      • BaroqueInMind@kbin.social
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        1 year ago

        I do this already and also am inside an encrypted Cloudflare tunnel… Still getting EMOTET warnings from my IDS.

          • BaroqueInMind@kbin.social
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            I will simply copy/paste here then:

            I have a refurbished server rack system that is running Zeek and also Suricata. I have a managed switch that will duplicate all network traffic to the system that is running those applications and a JBOD setup to store the countless logs. I have scoured through nearly all the CISA documents and alert reports to copy the various Snort rules they mention in each report and also purchased a specific modem to connect with my ISP that provides a service to monitor my traffic that has Minim.

            I am a cybersecurity expert and still don’t know what I’m doing most of the time, so this is literally scratching the surface, as well as only detecting threats not really stopping them which requires more knowledge.