• 10 Posts
  • 863 Comments
Joined 3 years ago
cake
Cake day: June 15th, 2023

help-circle




  • You’re picking what vendor you want, not picking unique vendors for every unique passkey.

    I don’t get to pick anything, in fact. Most often you’re told “that’s how it is, that’s where the passkey goes” and there’s nothing you can do about it.

    It sounds like you just don’t like or want hardware-locked/TPM passkeys. If you generate that type of passkey, then no you can’t do much of that.

    Again, _I_ typically don’t get to make that choice, it’s being made for me. And that’s a problem.




  • There are already dozens of hardware and software passkey vendors. It’s honestly amazing how little lock-in there is.

    If my passkeys are spread across dozens of vendors I wouldn’t call that good, first of all, it’s just a headache.

    Secondly, just because there’s many of them doesn’t mean there’s no lock-in. Can I get my passkeys out? Can I migrate them freely between any vendors? Can I take backups for myself from all the vendors? Can I restore the backups into each vendor? Can I replace those vendors with a self-hosted solution?


  • Maybe you’ll prefer more practical criticism then:

    https://arstechnica.com/security/2024/12/passkey-technology-is-elegant-but-its-most-definitely-not-usable-security/

    To put it simply, every passkey is locked into a large combination of factors: device + platform (OS) + app + the service being used. It is not trivial and often downright impossible to change any of these factors or to render them agnostic. This makes it complicated or impossible to backup passkeys or make them portable.

    It’s fine for them to not be portable when they’re used on a work phone, running the company mandated OS, authentication app and passkey store, to login into a suite of apps that are also company-approved.

    I do need portability and backup as an individual who wants to be able to login into multiple services across multiple apps running on multiple OS on multiple devices. But I can’t, because the big tech players (Microsoft/Google/Apple etc.) are actively trying to capture passkeys into their platforms and make it hard to get out in any practical way.

    With passwords and TOTP I can run something that will sync them across devices and fill them in into any app in a unified manner (or use copy & paste if all else fails). With passkeys I can’t.



  • Yeah that’s because most people are under the impression that Docker only allocates 172. addresses for its bridge network. I was under that impression too.

    Turns out it also allocates 192.168 addresses.

    Does it overlap my LAN? Is 192.168.65.X not distinguishable from my defined subnets with a 24-bit mask, now that I know where they’re coming from?

    The problem is that the default says 192.168.0.0/16, so it can also generate overlapping addresses. The fact it generated a 192.168.65.x address instead of an 192.168.1.x address was pure luck.

    Somehow all of the tutorials I’ve found in the past months to set up services behind a reverse proxy never mentioned any of these gotchas with Docker and networks.

    The common-sense assumption is that you will adjust your Docker daemon settings so that you prevent overlap with your LAN. (Also, I expect lots of tutorials aren’t that high quality to begin with.)

    If you edit daemon.json like I explained and explicitly only put 172. ranges in there you should be safe from overlaps in the future.






  • seems to have identified this as some NAT setting built in to Docker

    TBH I also thought about it being the default range used by Docker for its bridge networks, but I was under the impression it uses 172. ranges by default. The official example on their site says it uses 172.30.0.0/16 and 172.31.0.0/16. Also I have an unmodified docker running on one of my machines and it allocated 172.18.0.0/16 for a bridge network.

    You can try to docker network create a bridge network and see what range it gets, you’ll see if it gets a 172. or a 168..

    BTW I hope you’re looking at the docker on the reverse proxy machine, not on the jellyfin machine.



  • Just to understand better:

    • When you say “when accessed from outside my home network”, what kind of access is that? Port forward? VPN?
    • Is 192.168.1.1 your router?
    • What’s your LAN netmask?
    • NPM listens on 192.168.10.201 ports and Jellyfin/Komga on 192.168.10.202 ports?
    • A connection from the outside comes through the router, gets forwarded to 192.168.10.201:443, the proxy sends it to 192.168.10.202:8096, and it shows up in the Jellyfin logs as coming from 192.168.65.1?

    If all of the above is correct I would look at the network interfaces that are up on the mini-PC and the NAS, as well as inside the containers of the proxy and of Jellyfin, and see if there isn’t a 192.168.65.1 up on there somewhere for whatever reason.

    You can also try making a manual request (wget, curl, nc) from the proxy container to Jellyfin and see what it shows up as.

    May also want to see what’s the DNS situation in your LAN and on those machines. You mentioned “names” being used, how are those defined and resolved?

    Last but not least are the containers you mentioned using docker bridge networks or ipvlan?


  • What is “the API”?

    Good question. When you have multiple implementations of an API, the API (the authoritative version) is what gives the reference spec that all other apps must follow.

    If the authoritative version will be fully implemented only by the closed backend and in the closed apps, it will cripple the FOSS backend and apps.

    This is a common tactic used by companies that want to sideline the FOSS options and slowly make them irrelevant.

    Yes, today all apps talk to both Bitwarden and Vaultwarden the same way. Be on the lookout in case that changes.