• 0 Posts
  • 46 Comments
Joined 1 year ago
cake
Cake day: November 10th, 2023

help-circle

  • No. It’s not a magic invisibility field inside. It’s a magic object that works only on living “intelligent” creatures. It also doesn’t work the same on different races. Only humans (hobbits are a subtype of human in Tolkiens lore) turn invisible. And because it’s magic it also turns their clothing etc invisible. So either Frodo and his poop is invisible or nothing is.


  • I have set it up in a way where all the packets have to go through their VPN and if they don’t, they get dropped before they leave my PC.

    That is the function of a firewall and not of the VPN. As I understand portmaster it does both. But that is not normal VPN behavior.

    VPNs are not magic. They are a piece of software that encrypt traffic and send it to a special server. They do that by creating a virtual Internet connection (think like pluging in an additional Ethernet cable or connection to an addition WiFi at the same time). Everything that is sent through the virtual connection is encrypted. Your system now has (at least) two valid Internet connections (one real and one virtual). For every packet it sends it needs to decide which connection it should send it from. This is decided by something called the routing table. When you start the VPN it will put two routes into the table.

    • traffic going to the VPN server goes through the real connection (so the encrypted VPN traffic is routed correctly)
    • everything else goes through the virtual connection (the VPN tunnel where it gets encrypted)

    The attack described is a way how a network router can add a new route into your devices routing table to basically override the second route from the VPN. The route is still there, there just is another one that has a higher priority.

    A VPN is not the ultimate authority over your network traffic. It is just another program sending and recieving taffic.












  • Can you verify the software running on an instance is the same as the one in the source code repository? You can’t. Can you verify the instance isn’t running code to read passwords from your login requests even if the code is the original open source code? You can’t.

    That’s why (and for other reasons) you should never use a password for more than one site/service/instance.

    Lemmy admins (admins in the Lemmy application) probably can’t read your password. But everyone with admin rights on the server operating system can.






  • The thing that confused me when first learning about docker was, that everybody compares it to a virtual machine. It’s not. Containers dont virtualize anything. They take a (single) process from the host OS and separate that into its own environment. All system calls, memory access, file writes etc are still handled by the same os (same kernel). However the process is separated both on the file system and process level. It can’t see other processes outside of the container and it also doesn’t see the real filesystem. It sees a filesystem provided by the container. This also means it sees different file and user permissions. When you run a alpine Linux docker container on an Ubuntu system, the container only containes the (few) files for alpine but no Linux kernel no desktop environment. A process inside that container only sees the alpine files and not the Ubuntu files. It also means all containers see a filesystem independent of each other and can use libraries and dependencies of different versions (they are only files after all).

    For administration it makes running complex services easy. You define how to setup that service (what base Linux distro to use, what packages to install, what commands to run, and how to start the process). You can then be save to assume the setup of that service did not interfere with the setup of any other service. “Service 1 needs a certain system wide config changed? Service 2 needs that config in the default state? And both need a different version of the same library?” In containers you can have all at the same time because they each see a different version of the same config and library.

    And all this is provided by the kernel itself. All docker does is provide an “easy” way to create and manage containers but could could do all of that using chroot, runc and a few other.

    As a note, containers usually don’t come with systemd as they don’t need an init system. You would run the service directly inside the container and then use systemd outside the container to make sure the container is started/restarted, or just docker as it can already do that.

    I found a great article demystifying containers recently