• 0 Posts
  • 36 Comments
Joined 2 years ago
cake
Cake day: February 5th, 2025

help-circle
  • Are you trying to learn how this works or just need a landline?

    If you just need a landline, the ISP will give it to you. It’s voip anyway most of the way. Just plug regular phone into router done. Maybe needs to be a proper voip phone in which case your ISP will give you connection details. Usually that connects to a voip server running in your router.

    I worked at a voip provider so I want to mention: this is not a “set it and forget it”. This is something requiring regular maintenance with pretty strict regulations from the providers side. Like email, most consumer ISPs are very wary about people self hosting it.

    If you are “pretty new to networking” this is not the project to start with, because it requires solid networking fundamentals.

    If you really want to go anyway, well… You need something like kamailio. You set that up, get a voip phone that you have to program to register itself. Plan a couple weekends for this because those docs are not for the faint hearted and you probably have to read the source to understand it.

    Forward SIP and RTP from the internet to your server (do you have a static ip?). Then you need to find a provider that gives you a number and is willing to have residential connect to it. Then you hope your ISP is not blocking those ports.

    Then you should set up some kind of monitoring system because those providers are pretty flaky and will tell you stuff is working when, in fact, it’s not.
















  • The idea behind keys is always, that keys can be rotated. Vast majority of websites to that, you send the password once, then you get a rotating token for auth.

    Most people don’t do that, but you can sign ssh keys with pki and use that as auth.

    Cryptographically speaking, getting your PW onto a system means you have to copy the hash over. Hashing is not encryption. With keys, you are copying over the public key, which is not secret. Especially managing many SSH keys, you can just store them in a repo no problem, really shouldn’t do that with password hashes.


  • This is mostly nonsense.

    • Why block outgoing? Its just going to cause issues for most people. If you’re going to do that, do it centrally (hw firewall)
    • Why allow http and NTP incoming, when there is no http / NTP server running.
    • If there is http server running no mention of https://ssl-config.mozilla.org/ and modsecurity
    • If you’re using ufw anyway why not go with applications instead of ports?
    • In a modern distro, the defaults are usually sane (maybe except TCP), most of the stuff in the SSH config is already default.
    • Why change the SSH port of a home server, which most likely is not reachable from the outside anyway?
    • Actually potentially impactful stuff like disabling services you don’t need, such as cups, is not mentioned
    • unattended-upgrades not mentioned
    • SELinux / AppArmor not mentioned
    • LKRG not mentioned https://lkrg.org/
    • Fail2ban not mentioned

    Don’t just copy random config from the internet, as annoying as it is, read the docs.




  • I want to write this in a separate post because I see many questionable suggestions:

    Your scenario does not allow for a simple rsync / ZFS copy. That is because those only work with 1:many. Meaning one “true” copy that gets replicated a couple of times.

    As I understand you have a many:many scenario, where any location can access and upload new data. So if you have two locations that changed the same file that day, what do you do? many:many data storage is a hard problem. Because of this a simple solution unfortunately won’t work. There is a lot of research that has gone into this for hyperscalers such as AWS GCP, Azure etc. They all basically came to the same solution, which is that they use distributed quorum based storage systems with a unified interface. Meaning everyone accesses the “same” interface and under the hood the data gets replicated 3 times. So it turns it back into a 1:many basically, with the advantages of many:many.