Just your normal everyday casual software dev. Nothing to see here.

  • 0 Posts
  • 122 Comments
Joined 3 years ago
cake
Cake day: August 15th, 2023

help-circle

  • Said backdoor isn’t possible with the current day key exchange process. Without the servers in use private key, the most law agencies can do without acquiring the private key is force the CA to revoke a cert, which will disallow properly configured clients from accessing and transferring data with the server.

    LE doesn’t have enough information to recreate the private key based off the public key, the only key distributed during the CSR process is the servers public key via a certificate signing request which is signed using your private key, which the CA then signs with it’s own intermediate key (which is signed by it’s root server certificate) and hands back to the private server.

    The CA doesn’t have the ability to create that private key, and as such doesn’t have a way to decrypt traffic that is using that key. There is no concern for a backdoor in that process.

    In order for the “backdoor” to exist, they would need to either copy the private key as part of the signing process (which it doesn’t), or somehow force the server admin to use a new private key (that the CA also holds) or somehow compromise the servers key generation process to allow for an escrow on the private key when it was generated which would allow the CA to be able to recreate the private key using the master & public key.

    Now don’t take me wrong, you can still have a MiTM impersonation attack or a full impersonation bypass by the CA issuing a new certificate and having the DNS registrar have the web address go to a new server that is using the new key but, that’s not something the CA alone has the capability of doing, and any traffic that is issued to the original server still wouldn’t be compromised, its just clients visiting your site will end up at the other site and as such will end up using keys that the other side generated instead of your own keys and additionally said new keys would also be appearing in Certificate transparency logs, or modern day clients would refuse to use them.



  • Is this accurate? Like, I know what you’re meaning, but I’m pretty sure it’s not ICANN doing it, and more so your domain registrar handing it over to the US government.

    I think the most control that ICANN has over it is they could theoretically, if they wanted to, delete an entire top level domain. Since they do control the DNS root, but that is the most that they control from what I understand.

    I don’t know if they have the ability to delete or transfer control over an individual domain on legal request. I think that’s outside of what their actual system allows for.


  • Pika@sh.itjust.workstoSelfhosted@lemmy.world•Homelab discussion
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    2 months ago

    I use proxmox on one server, but currently my layout is:

    • docker 1:
      • Authentik first network
      • heimdall
      • immich
      • jellyfin
      • NPM first network
      • zipline
    • docker 2:
      • authentik second network
      • npm second network
      • blorp
      • gitlab-runner
      • ladder
      • metube
      • photon
      • privatebin
      • tandoor
      • bar assistant
      • sponsor block

    LXCS:

    • database server
    • pihole
    • wireguard
    • mail server (postfix/dovecot)
    • zoneminder
    • zabbix
    • gitlab
    • matrix
    • xmpp/openfire
    • revolt/stoat
    • gamevox (temporary)
    • pufferpanel - minecraft
    • pufferpanel - ark
    • palworld
    • discord development container
    • projects container

    VMs:

    • homeassistant
    • ipa server
    • firewall
    • Syncthing / immich storage / PXE server/ File storage

    Also thank you for making this post, it helped me realize I have a few containers and services I don’t use and I don’t think have activity on them anymore so I can start a deprecation cycle on them lol


  • I use proxmox on one server, but currently my layout is:

    • docker 1:
      • Authentik first network
      • heimdall
      • immich
      • jellyfin
      • NPM first network
      • zipline
    • docker 2:
      • authentik second network
      • npm second network
      • blorp
      • gitlab-runner
      • ladder
      • metube
      • photon
      • privatebin
      • tandoor
      • bar assistant
      • sponsor block

    LXCS:

    • pihole
    • wireguard
    • mail server (postfix/dovecot)
    • zoneminder
    • zabbix
    • gitlab
    • matrix
    • xmpp/openfire
    • revolt/stoat
    • gamevox (temporary)
    • pufferpanel - minecraft
    • pufferpanel - ark
    • palworld
    • discord development container
    • projects container VMs:
    • homeassistant
    • ipa server
    • firewall
    • Syncthing / immich storage / PXE server/ File storage

    Also thank you for making this post, it helped me realize I have a few containers and services I don’t use and I don’t think have activity on them anymore so I can start a deprecation cycle on them lol


  • As someone who ran Ubuntu server for a few years before moving to Debian. I would recommend Debian over Ubuntu just because I have had to do less maintenance with it. When I was on Ubuntu updating it was a constant concern of “will something change that is bad” for example they pushed the kernel live patch and the Ubuntu subscription banner as an update instead of an upgrade, so I updated as normal, and there it was.

    I dislike OS’s that install new packages as part of their update procedures (an update that installs a new package instead of replacing an existing one should be reserved for upgrades), and Debian has never done that with me, so Debian is where I stay.





  • I’m not sure, I was running 2.7.5 myself but i am not sure what version of immich I started with. I didn’t think this would effect fully docker setups much. I think this would mostly effected people who had configured with a preexisting database. I believe the docker edition with postgres built in upgraded for you awhile back unless you supplied an environment variable telling it to do otherwise.









  • this right here. If you have immich setup behind a reverse proxy, just route any requests that use the /share/ and /s/ (the custom link version) on the proxy manager to route to the immich instance, and have it 403 on anything else when the request is not via the vpn

    Just be aware that immich uses links like share-* as well so be sure to have that trailing / to make it so only shared links and albums can be.

    edit: Actually looking into this route further, it looks like immich as a whole needs more than just the /share/ and the /s/ endpoints exposed to function correctly. I will update this in a little when i figured out more on what is actually needed

    update: So it seems immich will not support this style setup without quite a bit of hands on. You need to give at minimum /share/, /s/, /_app/ and /api/ in order to actually go this route. and at that point since you’ve given /api/ you’ve essentially publicly opened the instance anyway. While you can go through and individually do each endpoint. It requires access to /api/albums /api/assets and a few other endpoints, these endpoints do seem to need auth or some form of verification tho

    for anyone wanting to still go through with it. You can reverse proxy it by allowing the endpoints

    • _app/ a bunch of immich internal files for serving content
    • api/
      • server/
        • config: shows basic infomation about the server
        • media-types: shows what media types the server supports
        • features: discloses what features the server supports
      • shared-links/me: 401, 403’s or shows what links the user account can sign into
      • albums/: 403’s on any album endpoint that doesn’t also include the album’s public slug in the URL
      • timeline/
        • buckets: displays timeline buckets. 401 or 403’s on no auth
        • bucket/: displays timeline info on the requested resource. 401 or 403’s on info unless info is provided about what its trying to access
      • assets/: 401 or 403’s on any request that doesn’t contain a public slug in the url

    The nginx location regex I used for my testing(although not very read friendly) was

    location ~ /(api/(server/(config|media-types|features)|shared-links/me|albums/|timeline/(bucket|buckets)|assets/)|(share|s)|_app/){
      proxy_pass *immich instance*;
    }
    

    note: this was found just by basic testing using NPM on my environment, I may have missed some more specific calls especially regarding videos as I don’t really do any video photography to allow for testing.

    Additional note: You may end up confusing your users with the UI though, as since lets you click on the immich banner to get to login, but everything would be blocked. You may just want to use the immich public project that was linked later in this discussion…


  • If it’s running as root anyway, then I change my statement. No I don’t see any security risk with it. Patchmon is running as root anyway, so no matter what your permissions are on the links or the original sock, as long as it’s smart enough to follow the link it should be fine. Generally symlinks follow the same permission as their target, with the exception of changing its owner with chown or removing it. I.E they are going to almost always just be whatever the permission of the target is. So your /var/run/docker.sock is going to be whatever permissions your /run/user/{userid}/docker.sock is normally and since patchmon is running as the root user, it’s not going to care what permissions are present as root overrides all restrictions/permissions anyway.

    I have my concerns that patchmon might try to change docker files while as the root user, which could create files that docker couldn’t read but since it seems to be using the docker sock anyway, I expect it’s just going to operate over the sock which means it would be using dockers built in system which would be using its docker user.