• 5 Posts
  • 259 Comments
Joined 3 years ago
cake
Cake day: June 12th, 2023

help-circle
  • IsoKiero@sopuli.xyztoSelfhosted@lemmy.world•Do I need https on everything
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    2 days ago

    Is this a problem or does it not matter

    It’s not a problem, but it does matter. With plain HTTP traffic everything you send and receive from a given site is unencrypted, so anyone in the chain delivering your package can read what you’re doing, collect your passwords and do all kinds of shenanigans. If it’s just your local network which is secured from the public internet then it’s pretty much just you who can intercept that traffic and it’s generally fine, as you already have all the passwords and such. And if you connect to the services via VPN that takes care of ‘secured from public interenet’ -part of the equation.

    HTTPS is the same traffic, but encrypted with certificates. To achieve that you’ll need to have a server certificate and then browsers can use the public part of certificate to encrypt your traffic. With docker that’s commonly achieved either with docker-proxy or external proxy like nginx. Your computer already has a bunch of certificate authorities which it trusts and they are bundled in your operating system and/or browser. Without a trusted certificate your browser throws a warning about it, but if you proceed with ‘untrusted’ certificate the traffic will still be just as strongly encrypted as it would be with a ‘known’ certificate. The catch is that anyone can create their own certificates, so there’s no guarantee if the server actually is what it claims to be. For example I could sign my own certificate for gmail.com and offer that to users and steal their passwords. That would of course be trivial to figure out as the browser wouldn’t show the “good” lock symbol on address bar, but the certificate would be technically speaking a working certificate.

    Now, to get a certificate for your own services you need to either build your own certificate authority and add that to trusted list of your devices or obtain a certificate from a already known authority like letsencrypt. With letsencrypt (and other similar services) you need to provide a proof that you own a domain which you’re obtaining the certificate for, so with those you can’t get a certificate for gmail.com or any other random domain name. Letsencrypt uses ‘certbot’ tool to validate certs, other services ask for spesific DNS entry or something else for proof that the domain is actually yours. But the main part is that all the ‘commonly known’ certificate authorities work only on publicly available services and domains (a bit simplified explanation, but that’s roughly it).

    But once you have the certificate you’ll need to configure something on your network to use it. Actual best practice and configuration depends on the service you’re running. If your services run only on your local network and they are never allowed to public internet you’re likely fine to run everything without HTTPS encryption, but it’s still good to understand the differences and effects between unencrypted and encrypted traffic.






  • I don’t know about long term, but it’s running on my pile of virtual servers and does it’s job just fine. The openmediavault itself is a pretty good web-interface on top of Debian and it’s just configuring the underlying operating system so you can get exactly the same setup by writing configurations manually for the services. OMV is just a convenient tool to manage simple fileshares.

    I use it only for samba and wireguard, so can’t really say if it’s as solid with other extensions, but for me it’s been a decent tool for the job.




  • Just for comparison, my VPS server has ~20 active email boxes (postfix,dovecot,spamassassin,clamav), a few small-ish active wordpress sites (apahce,php-fpm,mariadb), radicale and some other smaller services running with 2 cores and 4GB RAM and it’s mostly just fine. Occasionally, specially during heavier updates on wordpress-sites, memory tends to get pretty full, but it’s still just fine. Tweaking memory cache for php (or running something else than php) would increase performance by a lot, but even without optimization the 5€/month VPS is quite capable to keep your internet presence around and on your own hands.


  • Nothing wrong with good old ssh. My VMs are different enough that building and maintaining ansible playbooks or something similar would be a bigger task than actually doing it in the traditional way. Maybe I could benefit by building simple playbooks to populate user accounts, ssh keys, smtp relay settings and other common things, but I don’t really set up new servers that often that it would justify spending time to set up tools for that.



  • My ISP offers unauthenticated SMTP for their customer addresses. It’s pretty heavily rate limited, but well enough for the occasional status email my system throws out. At least around here they are pretty common for residential customers, so that might be an option.

    Other possibility is to set up SMTP relay to your network and give it credentials to an actual email account (with SMTP support, which isn’t granted these days). It can take in emails from your network without credentials and throw them to the internet with your account. It’s pretty simple to set up, search for postfix + smarthost. Added bonus is that you can read the replies to that address too via your email provider services.




  • You should rotate the supply on your daily life. Get canned foods, eat them, replenish supply, rinse and repeat. That way the shelf life isn’t really any concern. Also it’s only for 3 days and for emergencies. If you have water and biscuits it’s enough to survive long enough that rescuers and volunteers have time to set up pre-planned places where people can gather with generators, gas/wood stoves and such so you’ll have more permanent shelter to stay in until the bigger problem is resolved.

    Sure, it’s not glorius and you might miss a french omelette for breakfast couple of times, but if you have even something it’s way better than having nothing and being in immediate crisis if something happens.




  • There’s plenty more reasons than filesystem corruption to use clean shutdown and even just plain UPS without any status information to the host. I haven’t seen a full drive corruption due to power loss ever. Various levels of corruption, yes, but not ‘all the data is gone’ scenario due to filesystem being broken. But I have seen multiple hard drives which have died on host shutdown without any warning (no smart errors or such), after power loss they just refused to start again.

    Just today we had multiple short (~30 second) power outages and without UPS that would’ve put considerable strain on my hardware. Gladly those are pretty rare and those were well short enough that my UPS kept the system running, without one that would’ve meant that my hypervisor would’ve crashed and that would’ve resulted on several unclean reboots for the VMs.

    Also, back to filesystems, with selfhosting, some kind of hypervisor is often in the picture, so the drive activity is generally much higher than with single workstation and corruption on a single file or some part of filesystem is way more likely. Total data loss is pretty unlikely, but a corrupted VM image can be a pretty big deal, regardless if it’s filesystem or single file which is the main issue.

    there’s no standardized mechanism for forcing applications to save

    On Linux (and I guess BSD and other *nix variants) there is. SIGTERM is exactly for that situation. Sure, programs can choose to ignore it, but I don’t think I’ve ever seen at least any FOSS software which wouldn’t respect that. Of course the program might crash and cause loss of data, but the mechanism is there.

    You’re of course generally correct about modern filesystems being more resilient to power loss, but they’re not immune to problems and also you’ve omitted a large chunk of other reasons why people like to have UPS on their system, with or without monitoring them.

    For me personally the hardware is least interesting part of running a homelab. I’d happily run everything on VPS if there was no constraints on money or bandwidth (among other things). But as the limitations are there running things on my hardware is a necessary evil and for that an UPS or two are practically must to have to prolong life span of hardware and prevent data losses. Of course that’s just one box to check on the stack, but when planning for a home server setup for anything I’d say it’s a pretty vital part for the whole setup.



  • Modern filesystems can corrupt as well with unclean shutdown. They are just less likely to do so. My server stores photos of our life over couple of decades with other nearly irreplaceable data so having the UPS and clean shutdown on power loss gives at least some confidence that the files stay where they are.

    Of course I also run backups of the data, but it’s another layer on data safety setup.