Hello. I’m pretty new here. I just managed to get my Raspberry Pi setup at home to selfhost a simple website that will act as my portfolio for some art I do.

I’m using WordPress to make the content of the website, meaning it runs on Apache, MariaDB and MySQL in the background. It’s connected via port 80 since I don’t want to pay for SSL certificates to setup https. There will be no accounts or transactions happening on my website. I don’t have anything to manage my dynamic IP but I’ll figure that out later. I’ve deleted the default Pi user on the RPi.

Are there security issues I should address preemptively? I’m worried for instance that I am exposing my home network, making it easier for someone to breach into whatever is connected there.

Any tips on making sure my setup is secure?

  • diminou@lemmy.zip
    link
    fedilink
    English
    arrow-up
    23
    ·
    4 days ago

    Take a look at certbot. You don’t need to pay for ssl and ssl is actually pretty mandatory for anything served on the internet.

    Make sure you don’t forward too much ports. And make sure you have a working firewall that only allow those same ports. You should be good to go then.

      • pHr34kY@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        4 days ago

        Setting up fail2ban to block people trying to brute force the admin panel is a good start.

    • undefined@lemmy.hogru.ch
      link
      fedilink
      English
      arrow-up
      5
      ·
      4 days ago

      I would add from an end-user privacy perspective, they might want HTTPS. If I hit a website not using HTTPS, I pretty much immediately back out. Bad actors like hostile governments and hackers can use seemingly meaningless data against you.

      I can’t remember exactly what happened but I remember back when WebMD was fighting against rolling out TLS hackers were able to find medical weaknesses against people.

  • StrawberryPigtails@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    4 days ago

    since I don’t want to pay for SSL certificates to setup https.

    You don’t need to pay for SSL certs anymore, most of the time. You can get them for free from a bunch of different places now. I use Let’s Encrypt. The web server/reverse proxy I use, Caddy is able to automatically get a cert for you, install it, and keep it renewed. The only time you need to pay for a cert is if you are handling financial transactions.

    Are there security issues I should address preemptively?

    WordPress itself has a generally good reputation for security, though depending on how the current drama goes, that may change. WordPress security problems have almost always stemmed from plugins or poor password hygiene. Remove any plugins you are not actively using, keep the ones you are using updated, and use a good password that you don’t use anywhere else. A password wallet like Bit Warden can generate and store such passwords for you.

    Better on the security front would be to evaluate whether you actually need something like WordPress at all. A static site would likely be far more secure. There’s less moving parts that might be vulnerable.

    While you could program a static site yourself, it’s more common nowadays to use a static site generator like Hugo to build the site. You set it up once for how you want the site to look and then you write your posts in markdown or whatever your particular generator uses.

    I don’t have anything to manage my dynamic IP

    Most domain name providers have some sort of setup for dealing with dynamic IP addresses, a program called ddclient is pretty common and is available in most repos.

  • 486@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    4 days ago

    Unless you require the dynamic features of Wordpress, you could have a look at some of the static site generators out there (such as Hugo). Having a static site would reduce the attack surface considerably. Also due to the shenanigans happening with Wordpress at the moment, I would be weary of using it.

    About SSL, what others have already mentioned, SSL certs are available for free these days, thanks to letsencrypt.

    • skilltheamps@feddit.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      4 days ago

      There are also static export plugins for wordpress. One needs to get rid of comment boxes and such as they don’t work then of course. But if all content is already in WordPress, serving just the static export is a low friction solution.

  • iii@mander.xyz
    link
    fedilink
    English
    arrow-up
    6
    ·
    4 days ago

    Keep wordpress up-to-date, and keep the number of plugins you use to a minimum.

  • Rimu@piefed.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    4 days ago

    The WordFence plugin is a must-have for security.

    If you use Caddy instead of Apache then you get SSL automatically. You’ll need php-fpm as well, tho.

  • i_am_not_a_robot@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

    It may or may not be a concern to you, but if you are hosting it from your home then people will be able to determine your IP and rough physical location.

    If you’re on American cable internet and expecting a lot of traffic, your upload speed may become a problem.