• 1 Post
  • 63 Comments
Joined 3 years ago
cake
Cake day: June 20th, 2023

help-circle

  • Fail2ban is just another tool in your toolbox. Defense in depth, as others mentioned.

    Fail2ban is primarily a tool to prevent brute force attacks, especially useful for services that don’t do their own throttling. For example I usually put ssh in fail2ban, but if Authelia’s built-in protection is good enough, then use that.

    Outside ssh, anything that could be used to brute force credentials should be in fail2ban if they’re exposed: web sites with simple auth, mail, etc.


  • folekaule@lemmy.worldtoLinux@lemmy.world•Linux saved me today
    link
    fedilink
    English
    arrow-up
    29
    ·
    21 days ago

    Glad to hear it saved the day and that you’re trying Linux full time. Love a good success story!

    For you or anyone else who want to keep an emergency kit on a USB drive on hand, I recommend checking into Ventoy. With it, you can keep multiple ISOs on a single bootable USB drive and choose which one you want at boot time. Keep an emergency Linux desktop, rescue disks, etc on it and you’ll be good to go. You can easily add more or update existing images just by writing files to the drive. No reformatting required.




  • I think it’s fair to want a more helpful error message, but that’s not necessarily the purpose for path. There is a real cost to every entry in your $PATH. Not as much as in the world of spinning rust, but some.

    There are some completion modules for shells that will suggest misspelled or even installable packages if it can’t find the command. Those are arguably better options.

    As for traditional systems, I remember a time where running arbitrary commands, even with an --help argument could be dangerous and we had to set least try ‘man command’ first.



  • Agreed. I don’t think I explained myself clearly enough: I want them to have a presence online. Among the reasons being exactly what you’re pointing out. However, I think at least for smaller cities with very little staff, it’s not realistic to ask them to literally self-host it (as in having a server on-prem running it). I would be fine with them outsourcing it or cloud-hosting it under their own domain. A potential solution for the small ones could be something like a state-level hosted service where municipalities can sign up and get their own accounts, for example. That would work even for something like Rittman, Ohio pop. 6,131.



  • Not so sure I want them to self host, just based on their track record for security, but I would like them to be more visible.

    Also news outlets could benefit from doing this instead of us having to rely on repost automation.

    I would also love to see peertube become more competitive to YouTube. It would probably need some kind of revenue sharing model or donation integration for that though.


  • Your diagram is almost right, but I think it will help to understand more of the details. It’s important to understand the difference between DNS (domain name lookup) and IP routing.

    To break your diagram down more, this is what happens when any computer looks up your website:

    1. The device does a DNS lookup of “example.com” using their name server, which may forward it to another DNS server (most home routers do this). I won’t go into the multiple levels of DNS lookups and caching here.
    2. Through looking it up by DNS, the device now has the final IP. DNS is now out of the picture and we’re doing IP routing.
    3. The device tries to make an HTTP connection to your external IP. HTTP is a protocol that runs over TCP/IP (UDP is used for QUIC/HTTP3). To keep things simple I’ll stick with old fashioned HTTP over TCP without SSL. I am also skipping over NAT.
    4. For TCP, it performs a handshake, which the reverse proxy will negotiate. Once the connection is established, the browser speaks HTTP to the reverse proxy. It looks something like:
    GET / HTTP/1.1
    Host: example.com
    ...lots more headers...
    <blank line>
    
    1. The reverse proxy then takes that request, maps it to an upstream (if any), and makes another request to it via the configured transport. If that part falls down, you will see a 503 error. Otherwise, you will see the response from the upstream, possibly with some modifications made by the reverse proxy (some will rewrite links and cookie paths, for example)
    2. The reverse proxy sends that response back to the client.

    That’s all very simplified, of course.

    As others pointed out, things may seem to work differently from the “inside”, if hairpinning is not available or enabled. This is not related to DNS, but to IP routing. The firewall doing NAT can get confused and not know what to do when an internal request goes to an external IP that it itself has. When it turns that around and routes it back to the internal network, that’s called hairpinning.

    One “fix” for this, often used in enterprises, is to use so-called split DNS. All that means is that if you’re asking your internal DNS server for an internal name, it will give you the internal address (192.168.1.123 for example), but an external client would get an external IP.

    TL;DR: DNS and IP routing are separate concerns and happen at different parts of the TCP/IP stack.


  • My motivation for calling for it to be the default was that it’s safer (in terms of data).

    Another UX principle is that of least surprise. I think it’s reasonable to assume that most users will expect the copy to be fully complete when the dialog closes, and that they will be surprised when their files are corrupted. Changing the behavior in the desktop to delay closing the dialog until any copying to removable media is complete should not be a controversial change.

    We’re seeing an influx of novice users to Linux. I don’t think we need a bunch “Linux ate my files” incidents if it can be avoided by a simple change, which itself can be easily reversed if you didn’t like it.



  • Glad you got it working!

    My hypothesis is that it was DNS (channeling Jeff Geerling here). Since Pihole is your DNS (makes sense), it may have recognized that address as its own and given you its IP. By resolving the naming collision, you fixed the problem because the name is now unambiguous.

    These problems can happen very easily when you’re using DHCP and sharing a network and domain name between your clients and upstreams, so I think using home.arpa for one and your other domain for the other was a good idea.




  • I can’t think of a single thing I miss. I use Windows for work and it’s a relief every evening when I can switch to my Linux desktop.

    Linux Cons:

    • there is always some minor thing that doesn’t work quite right, or it takes a lot of searching to find a fix. However this is true on Windows too
    • on a fast moving distro things can randomly break here and there, but usually are fixed fast
    • some games and apps won’t work. Usually when they’re trying to do something invasive. Be prepared to find an alternative (or dual boot)
    • some hardware doesn’t work because the vendor doesn’t provide drivers and no open source version exists. If they are actively blocking foss versions, they’re a good candidate for the never buy list
    • no Copilot (/s)
    • if you want things to “just work” and you don’t care about personalizing anything and you don’t care about your privacy, you may happier on Windows or Mac because you can just take it to a shop and have them fix it. There are just more resources for an OS that commands 80% of the desktop market

    Linux Pros:

    • my computer is mine and I can control everything
    • I can customize things much more than on Windows
    • I can upgrade when I’m ready and opt out of any shenanigans
    • Everything I care about works. I switched to open source for photo editing. There was a learning curve, though
    • software development, even with Microsoft tools (!), is just much nicer on Linux. You don’t need WSL when it’s already your OS

    Workarounds:

    • I choose to not buy unsupported hardware
    • I choose to not buy unsupported software and games
    • I put vendors hostile to freedom on my never buy list (e.g. Adobe)
    • I have access to a Windows PC if I need it. But I have not needed it in the last year or so I’ve been full time on Linux

    Not saying going full time Linux was necessarily easy (I gave up Adobe Lightroom and I can’t play some AAA games) but I have no regrets. It was actually easier than I had feared.

    It’s like diet and exercise: it’s not easy to change but you’ll feel a lot better in the end.




  • For learning, VMs are fine. Spin up as many as you’d like. Install, duplicate, reinstall, delete at will. I would start there.

    Then, while you’re learning, set aside since money to get an SBC or mini pc. That will allow you to keep it running as a server continuously. Phones can work for this, but to act as servers you’ll probably need to root them.

    Computers are way more expensive than they used to be but within reach for most people if you can save up for it.

    Check thrift stores, Facebook, eBay, the usual suspects. Watch out for PCs stripped for RAM and other shenanigans, though.