I’ve wanted to do this for a long time. My current ADHD hyperfixation is NodeBB, but I think my questions fit most anything that you want to be available to the general public and not just yourself and your friends.

Basically, I want to host a NodeBB instance intended for the general public out of my house. What are the risks of doing this? In particular, what are the risks of doling out a web address that points to my personal IP address? Is this even a good idea? Or should I just rent a VPS? This is 80% me wanting to improve my sysadmin skills, and 20% me wanting to create a community.

I have a DMZ in place. Hosts in the DMZ cannot reach the LAN, but LAN hosts can reach the DMZ. If necessary, I can make sure DMZ hosts can’t communicate with each other.

I have synchronous 1 Gb fiber internet. Based on the user traffic of similar forums, I don’t anticipate a crush of people.

I know the basics of how to set up a NodeBB instance, and I’ve successfully backed up and restored an instance on another machine.

I’m not 100% on things like HTTPS certs. I can paste a certbot command from a tutorial, that’s it.

Anything else I should know? Thanks!

EDIT:

I also have a domain, a couple of them, actually. They’re like potato chips; you can’t stop at just one.

I don’t plan on self-hosting email used for forum registration and announcements. I’m not a masochist.

  • rice@lemmy.org
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    2
    ·
    edit-2
    1 day ago

    Do it.

    There’s really not much that can end badly, someone gets in your network (unlikely anyone even knows it exists)? reformat all your shit. Just by knowing what a DMZ is you are already more qualified than half the people I’ve met self hosting

    do you run a business out of your house? do you run a bunch of peoples personal info? does anyone else? If you answered no to all of these then there really isn’t much that can “go wrong” you can just unplug your shit.

    hosting email also isn’t that big of a deal but your home ISP will block port 25, you need to have a “business” one for them to unblock it and even then sometimes have to directly request it. Things like mailcow docker make it dead easy.

    and yea as the other guy said always update your stuff

    • Onomatopoeia@lemmy.cafe
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Scans for open ports run continuously these days.

      Ten years ago I opened a port for something for a couple days - for months after that I was getting regular scans against that port (and others).

      At one point the scans were so constant it was killing my internet performance (poor little consumer router had no defense capability).

      I don’t think the scans ever fully stopped until I moved. Whoever has that IP now probably gets specifically scanned on occasion.

      And just because you don’t run a business doesn’t mean you have nothing to lose.

      DMZ should be enough… But routers have known flaws, so I’d be sure to verify whatever I’m using.

      • rice@lemmy.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        19 hours ago

        scans for open ports ran continuously since the 1990s, it was never a big deal. Also they only run on lower ports (not that it matters)

        what are you talking about killing your internet performance? You can have hundreds of thousands of scans per day (which isn’t gonna happen, you won’t even get 100) and it still won’t bog down jank cable internet from early 2000s

  • 0xalivecow@infosec.pub
    link
    fedilink
    English
    arrow-up
    32
    ·
    1 day ago

    As some have already mentioned info regarding security I wont add to that.

    The other thing you should consider in my opinion is the legal side of things. Depending on you jurisdiction, you as the operator of the instance may be held accountable for the data it stores and serves. This means that you may be liable for both possession and distribution of illegal contents. I am not knowledgeable in regards to laws that cover moderation of content, but I assume you will be required to remove any such content if you gain knowledge of it. Again, this depends entirely on your countries laws and regulations but also on the laws and regulations of the countries you make your service available to.

    Please be careful with hosting public instances. If anyone has more insight to this, please do add it and correct me if necessary.

    • irotsoma@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 day ago

      This is especially necessary to consider if you live in the US right now. One of the things the current administration is pushing for even harder than past administrations is removal of Section 230 of the communications act that was enacted in the 90s. This provides a defense against liability for the content you host as long as you make a reasonable effort to remove content that is illegal. Problem is that this makes it really difficult to censor (maliciously or otherwise) content because it’s hard to go after the poster of the content and easier to go after the host or for the host to be under threat to stop it from being posted in the first place. But it’s a totally unreasonable thing, so it basically would mean every website would have to screen every piece of content manually with a legal team and thus would mean user generates content would go away because it would be extremely expensive to implement (to the chagrin of the broadcast content industries).

      The DMCA created way for censors to file a complaint and have content taken down immediately before review, but that means the censors have to do a lot of work to implement it, so they’ve continued to push for total elimination of Section 230. Since it’s a problematic thing for fascism, the current administration has also been working hard to build a case so the current biased supreme court can remove it since legislation is unlikely to get through since those people have to get reelected whereas supreme court justices don’t care about their reputation.

      So, check your local laws and if in the US, keep an eye on Section 230 news as well as making sure you have a proper way to handle DMCA takedown notices.

        • irotsoma@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 hours ago

          Yeah, other countries have similar or even more strict requirements, so yeah it all depends on the jurisdiction. You have to also understand that just hosting something externally, doesn’t mean you don’t fall under laws of another country. It’s the internet. And if you live in a country, you may be held responsible for obeying their laws. I’m not a lawyer, so it’s something to be careful of even if externally hosted.

          • RubberElectrons@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 hours ago

            Somehow 4chan admins have largely escaped legal consequences for this stuff, and I don’t think it’s just because of sec230.

            Not a fan of 4chan, but I do note both their and the pirate bay’s operation scheme.

    • jqubed@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      I liked this read when considering legal ramifications for hosting content. It is U.S. focused so it might not be applicable to someone in another country.

  • Encrypt-Keeper@lemmy.world
    link
    fedilink
    English
    arrow-up
    20
    ·
    1 day ago

    If you are based in America, you will want to keep a close eye on the semi-regular attempts from congress to repeal Section 230 of the Communications Decency Act.

    If it’s ever successfully repealed, you’d become liable for anything posted to your forum.

    • NSRXN@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      24 hours ago

      If it’s ever successfully repealed, you’d become liable for anything posted to your forum

      unless you refuse to moderate it. then you are only criminally liable in the circumstances that have been codified, which usually has a takedown grace period.

      • ChapulinColorado@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        18 hours ago

        By then you would have racked up thousands of dollars in legal fees. Not to mention if anyone posts anything negative about the current administration you could be used as an example.

        We already have students on visas being kidnapped off the streets, let’s stop pretending the law actually matters for the people in power.

        • NSRXN@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          7 hours ago

          it’s settled law that you are absolved of responsibility if you don’t moderate.

          • El Barto@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 hour ago

            You chose to ignore OP’s point.

            let’s stop pretending the law actually matters for the people in power.

            • NSRXN@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 hour ago

              i mean… we’re talking about civil torts here, not constitutional law. i think you can still count on a court to throw this out even with a pro se defense.

  • variants_of_concern@lemmy.one
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 day ago

    I just want to say that you should make sure to take notes on what you’re doing and why. It helps when you break something and want to go through what you did and sometimes notes don’t make sense unless you put why so you can research it again

  • MTK@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    1 day ago

    Don’t do it.

    Hosting a public service with no real knowledge of security can only end badly.

    Get a vpc, do it there, learn from mistakes.

    It’s more than just HTTPS, you also need proper authentication, regular updates, emergency updates for critical vulnerabilities, ideally some sort of monitoring to detect potential misuse of the service or any escalations from the service to the OS.

    Ask yourself this: If this was your first time driving a car, would you rather do it in an empty parking lot where at worst you will damage the car. Or would you rather do it in a busy street where at worst you can kill someone?

    • MTK@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      Especially if this is from a computer that has access/information beyond just the public service.

      • MTK@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        If for example the server is actually a computer in the LAN and maybe it’s also his media server and his backup server then potentially any compromise could lead to his personal information leaked and or other computers in the LAN compromised.

        So what could actually happen? His personal photos and passwords and accounts can be leaked or taken over. He could be spied on by accessing his webcam. A lot of things could go wrong.

        You are right. Learning by doing is awesome. Just be sure to do it in a safe way. Get a VPC. Do it there. No personal information, no access to other services. Just this service, just for this purpose. Worst case scenario, if it’s taken over, the only thing that’s harmed is the forum itself. Which is not the end of the world, I’m guessing.

  • Shimitar@downonthestreet.eu
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    1 day ago

    I would do it. Its fun…

    Will you mess up? Yes. Who cares, Do it, just ensure its data you can lose no worries.

    I would host on a vps, just to keep you home safe from swat raids (assuming you in the us, other nations should be safe).

    • rice@lemmy.org
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      I agree. Just run it. that’s how I learned decades ago. Don’t ignore it either if you wanna get better.

      The risks are just as bad as owning some amazon IoT device

  • rumba@lemmy.zip
    link
    fedilink
    English
    arrow-up
    7
    ·
    17 hours ago

    The DMZ is the right idea. But it’s the old way. You definitely want whatever is serving your website to be separated out from your house. You’re hosting should be on an isolated VLAN. The internet should only be able to talk to the server it needs to talk to, no other ports. That box should only be allowed to talk to what it absolutely must talk to and only on the ports that are required. You should run an independent firewall on each one of the boxes that are involved in the hosting with only the proper ports open.

    Giving up your private IP Will definitely give away your general location to everyone and your precise location to the authorities.

    I would highly recommend using cloudflare or one of the other funnel options. A lot of people don’t like cloud flare because they can capitalize on your traffic, The cloudflare also just won’t shut you down and sell you out like your ISP will at the first request, They don’t do shit about anything until there’s a warrant or a court filing. On the upside you don’t give out your private IP to anyone. You have DDOS protection, and a reasonable layer of anominity.

    You need to check daily to make sure all of your software is updated. We’re talking OS, middleware, plugins, application. Preferably via automation. All of the software and plugins you use for this type of hosting end up getting vulnerabilities.

    Security is especially difficult on forums. There’s lots of opportunities there for skilled people who are pissed off at what you or someone else is saying to get butthurt. People know exactly what you’re running, then they do some magic behind the scenes next thing you know there’s a bunch of admins you didn’t create.

    You don’t need to be hosting your own email but you are going to need an SMTP provider, most free services won’t let you masquerade the from address.

  • 0x0@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    Hosting for yourself so you can access your content outside your home is usually the use-case, use WireGuard for that though (checkout headscale) along with virtualization, VLANs, etc.
    Hosting for a group of friends and/or family can usually be ok, assuming that is a well known and restrict group.

    Hosting for the general public from home is usually not recommended, use a VPS for that. Bear in mind you’ll likely be liable for what you host, one way or the other, depending on your jurisdiction.
    If you store content (files others may upload like movies and photos) you may be responsible for that (i.e. is that content legal in your jurisdiction?).
    There may be a legal distinction between the server’s geographic location and the entity responsible for it - but in your case it’s the same, so, again, beware.
    Just linking to content deemed illegal may get you into trouble.
    Putting the site behind a login-only page and vetting account creation could mitigate (or exponentiate) this.
    Anyway IANAL.

    What do you want to host and for whom?

  • ikidd@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 day ago

    You might consider using something like Cloudflared or Tailscale’s Funnels to proxy the connections through to prevent DDOSing and apply ACLs. You can still use your domains with those.

  • mbirth@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 day ago

    Be aware that some countries make you liable for what people post on your forum.

    Also, have you looked at Discourse? There are some nice apps that work with it and make the experience on mobile slightly better.

  • Knossos@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    That’s always a danger.

    You could host the server on its own vlan and use tailscale to tunnel from a VPS to your server. This way your IP isn’t exposed to the public. You can also add crowdsec or similar on the VPS.

    I do the same thing with traefik on my dirt cheap VPS.

  • RagingHungryPanda@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    I have dynamic dns through cloudflare that provides a proxy ip address for me in addition to some protections.

    After that I use a reverse proxy to route specific domain names to services. My router is set up to forward only ports 80 and 443 to that reverse proxy, so there’s a good layer of safety there. There could be a weakness on the router, but at this point traffic is pretty limited.

    After that, at least for your service, if you can have some control or throttling of signings and be more selective about who you let in, then that could help.

    I say do it. Sure there’s risk someone could put something on there you don’t want, but I wouldn’t say it’s big enough to not do it.

  • _cryptagion [he/him]@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 day ago

    You don’t need to put the server in the DMZ, just port forward port 80 and 443. Most routers these days ignore all requests to ports that aren’t open. And stick it behind Cloudflare, so you don’t have to expose your IP. Cloudflare also allows you to generate SSL certs that are good for a decade.

    • GreenKnight23@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      18 hours ago

      generating a decade long cert is a terrible idea.

      what if a malicious actor gets your private keys and can spoof you now?

      you’re fucked unless you work through the vendor to blacklist that cert, which is a huge pita.

      certs should be done yearly at most. quarterly at best.

        • GreenKnight23@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          14 hours ago

          amateur.

          you’re going to get fucked by doing that one day, and it’s going to be months or longer before you realize it.

          I just hope you’re not responsible for an actual business with poor security practices like that.

          • _cryptagion [he/him]@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            1
            ·
            9 hours ago

            You’re just not a pleasant person, are you? Every time you’ve replied to one of my posts, it’s to be a twatwaffle.

            An ignorant twatwaffle, considering you obviously have no idea how Cloudflare certs work. Which ends up making me look like I’m smarter than I really am, so thanks!

            • GreenKnight23@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              7 hours ago

              says the self proclaimed anarchist that fights for…civil rights? they teach you that at the anarchist meetings?

              now I know for sure, you’re just trying very hard to act intelligent but have no idea what you’re actually doing.

              now I feel bad for arguing with a child.

              • _cryptagion [he/him]@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                1
                ·
                6 hours ago

                Well, if you were so smart yourself, you would know the Cloudflare certs aren’t for public use. The certs your site uses to communicate with the user are shared among multiple Cloudflare users, and aren’t accessible to anyone but Cloudflare. You can’t generate, revoke, view, or download them. The decade long certs you generate are for communication between your origin server and Cloudflare, they aren’t exposed to the public internet. If you use an Argo tunnel, which many selfhosters do, they’re used for the secure VPN tunnel between yourself and Cloudflare. Since all your traffic comes from Cloudflare, a smart user would whitelist those IPs and ignore web traffic from everything else if they weren’t going to use a tunnel. Even if someone got ahold of them, which is unlikely, they wouldn’t do anyone any good, because they would need access to your Cloudflare account as well to change the origin server.

                But then, you aren’t so smart yourself. You’re just some random nobody on the internet that decided to start using their arsehole for speaking. And as is typical in such a situation, everything you say reeks of shit.

                Now, do you want to continue embarrassing yourself? Because you’re not hurting my feelings by doing so.

                • GreenKnight23@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  2 hours ago

                  I don’t use shit-tier products like cloudflare so I don’t bother knowing what their product line is or what it does.

                  not knowing how a platform specific product works doesn’t dictate intelligence.

                  also, in your original comment you said “SSL cert” and never mentioned it was a platform specific cert.

                  be clear when you say shit and people won’t misunderstand you and treat you like a fucking moron.

  • 3DMVR@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    4 minutes ago

    Its so cheap to just get a vps from a littlecreekhosting deal, I checked them all on lowendtalk and its the cheapest for highest specs, you do have to comment your invoice to double ram, but its 4 core 8gb ram for 3.50 a month and 8core 16gb 7$ cogent amd epyc, and solid ssd space 140-160 idr exactly, they have multiple deals posted, the one with the prices I mention is the best one, they also had windows vps deals. Spent way too long testing hella, its not the best ping out there for me since I’m fairly far but I’m not hosting gameservers so its a non issue.

    There are many other deals on lowendtalk but they are typically for way less resources or way more expensive for a lot more resources