• 27 Posts
  • 544 Comments
Joined 3 years ago
cake
Cake day: August 10th, 2023

help-circle

    1. Use an Identity Provider (IDP)*. Other people have mentioned LDAP, which can play this role.

    2. Use groups within the IDP to declare who has what privileges.

    3. Apps using the IDP for auth can read the groups and allow/deny permissions based on groups.

    *Or Identity and Access Management if you are in the cloud ig.

    For open source solutions, I would recommend:

    • Authentik (what I use)
    • Kanidm (doesn’t have web ui)
    • Nubus by Univention

    These three solutions all have invites, ldap, and can act as oauth providers. (Oauth is single sign on), which are the features I want. There are also integrated, including it all in the one app.

    There is also LLDAP, which is a web ui for ldap, and then you could use a service that connects to that, like authelia or keycloak, to add oauth on top.


  • No, Socks5 does not work for this usecase. You don’t get permissions to run it locally via crostini (or use crostini in general) and the relevant proxy settings are locked in the chromebook settings. In addition to this, it is too easy to fingerprint, and some of the more aggressive setups will catch it and block it. For example, my high school would autodetect wireguard and then kick you off of the network for 10 minutes if you attempted to connect.




  • This requires manually enabling every additional provider.

    No, it doesn’t. The docs are confusing on this, but forgejo has two methods to enable oauth/oidc. One is to manually enable them, but there is a second, where people bring their own openid link.

    The docs contain 3 things related to oauth:

    • Oauth provider forgejo acts as oauth for someone else
    • Ouath client — This is the one where you manually enable providers
    • But then there is a third config. Openid. This one lets users bring their own openid/oauth link and sign in with that. No manual configuration required on the side of the forgejo server per oauth provider being used.




  • Forgejo has a feature (that people usually disable) where you can bring your own openid connect url and use it to auth. So if I have my own OIDC provider I am self hosting, I can just use that to log in.

    Most people only use OIDC for google and microsoft and whatnot but it’s very possible. I don’t realkly see what FedCM offers that OIDC doesn’t or can’t, or why we shouldn’t be adding features to the existing and popular OIDC instead.


  • The problem is that real dumb phones are hard to find. Many modern “dumb phones” are actually full android devices, complete with a boatload of spyware that helps keep the cost of the device itself low.

    KaiOS is better but that’s a whole linux distro, with similar issues.

    Since you mentioned tethering, do you have an example of a non android (or at least one that’s not preloaded with a ton of spyware) dumbphone that supports usb tethering? I am skeptical that a real dumbphone would have this feature.








  • Openbsd is definitely more secure than secureblue. There is only so much you can do to handle the massive monolithic architecture of the Linux kernel. Further down the stack, many parts of Linux, like sudo, dbus, or systemd are regularly hit by zero days. The SELinux domain architecture that Secureblue is interesting, but SELinux is extremely complex and difficult to get right, compared to the much more simpler pledge and unveil sandboxing that openbsd offers.

    In addition to that, there are further issues like the problematic way that user namespaces interact with browsers. (And user namespaces are frustrating in general, secureblue actually has a short article on their problems). For maximum security, you want to sandbox tabs from eachother using user namespaces (only works on chromium btw, firefox can’t do this so it doesn’t matter) — BUT, if you run your browser in a sanbox created by user namespaces, then you can’t nest them, disallowing you from using that powerful tool to isolate tabs. So you are forced to make a choice: You can either sandbox the browser itself, in exchange for weakening the isolation between tabs, or you can strengthen the isolation between tabs, in exchange for weaking the sandbox around the browser itself. Giving the browser access to user namespaces is questionable though, because see above, user namespaces have led to a lot of vulnerabilities.

    OpenBSD’s pledge + unveil (but only on chromium again), does not really make such tradeoffs. It can sandbox tabs from eachother, while also sandboxing the browser itself. In addition to that, pledge + unveil do not present a massive kernel attack surface that people have had to restrict for having too many 0days. And this is just one of the many, many examples, where OpenBSD presents a better security posture than Linux.

    Qubes is technically Xen, a different kernel than Linux. The Xen kernel virtualizes Linux distros, from which you can manage Qubes/Xen, or do normal Linux app stuff. But nothing stops you from using a BSD virtualized by Xen for management or usage. Qubes talks about why they use Xen here — but the short version is that they did not consider the Linux kernel’s kvm secure enough for their usecase.



  • What port was this sent to, and what webserver are you running (if it was sent to a webserver)?

    This reminds me of the string to strigger the really bad apache vulnerabilities that lead to being able to read from the whole filesystem (path traversal), or get a shell on your system (remote code execution). It’s likelu that bots are spray and praying attempts across the internet. As long as you’re up to date, you should be good.