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

help-circle



  • Please note that to use “bcrypt” for htpasswd_encryption you need the bcrypt python module installed. Some distributions of radicale (eg. some docker images) don’t have it.

    It’s fairly safe to set it to “md5” instead. It does not mean plain MD5 (one iteration), it does several hundred rounds of MD5 plus a salt.

    For the curious, the advantage of bcrypt over a single-iteration, fast hash like MD5 is that bcrypt lets you set the hashing effort, while MD5’s goal is to do it as fast as possible.

    This becomes relevant when someone steals your password file and tries to brute force it by hashing a bunch of dictionary words and random strings (plus a bunch of salts) until something matches. A fast single-iteration hash like MD5 will let them do that much faster than a bcrypt hash set to a higher effort; it can mean the difference between finding a password in one week vs finding one in 100 years. That’s what the hundreds-of-iterations MD5 is trying to achieve, it’s a “poor man’s bcrypt”.







  • Here’s the AUR recipe (PKGBUILD file) for a random package:

    https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=nautilus-git

    This is a standard format for the recipe. It’s Bash code used to define variables and functions.

    You’ll notice there’s no place to sneak in a Python script. There is some brief Bash code in the functions but any major stuff would stand out immediately. So would an command that fetches a malware zip from a weird URL.

    Meanwhile, if you add node or python to the dependencies, and then run a command that installs a perfectly legit npm or pip module, nobody would bat an eye. It’s impossible to figure out that among the many upstream dependencies of that module there might be one that was subverted to discreetly run malware.

    AUR is a very bad idea tbh and should not be used by the faint of heart. It makes it entirely too easy to pull this kind of crap.


  • Add mTLS to the reverse proxy and to the Immich client app and forbid access without it.

    The mTLS certs can be self-generated. There are tutorials for generating your own CA and individual mTLS certs for each device. Then you put the ca.pem file in a place accessable by NPM and add a couple of commands to the “Advanced” tab of the Immich proxy host, and you put the mTLS cert on the phone and load it into the Immich app.

    mTLS is a super strong method, not only does it serve as great authentication for that particular device, it also checks the TLS connection for tampering so it can’t be hijacked even if somehow you get rogue certificates loaded on your phone, you can revoke certs if your phone gets lost or stolen etc.




  • InfCloud is the last and only functional, standalone, web-based CalDAV frontend currently in existence. It doesn’t really matter how crap it is because there’s no alternative. And besides CalDAV/CardDAV are not exactly rapidly-evolving anymore.

    There are a handful of alternative frontends bundled with other webapps, for example Nextcloud includes one, but if you don’t want to install Nextcloud just for that you’re stuck with InfCloud.

    I really wish someone would make a modern standalone webapp for this but no luck so far.

    Having worked at some point on some calendar interfaces I can appreciate why, because they’re super intricate and difficult.



  • AUR “packages” are just a recipe file that runs some commands that sources packages from somewhere else and builds them then puts them in the format required by the AUR package manager.

    Normally it’s a source tarball downloaded directly from the project’s Git repo. But it can also fetch and install a binary package (for closed source software). Or it can install Node modules, or Python modules etc.

    Point is, you can’t inject a script directly in AUR itself. You could add the malicious code directly to the recipe file but it would be obvious. You could also download a zip with the malware directly, but it would also be obvious.

    So what they do is add the malware to modules published on another platform, and they’re downloaded indirectly, as a dependency of the Nth grade.

    It’s very hard to detect, you can’t really notice this kind of attack with a glance at the recipe.





  • I got several jobs through it. It’s good place for its core goal, which is to be found and to look for posted openings.

    All the other crap is pointless: posts, discussions, trivia, games etc.

    The identity verification is a mixed bag.

    It’s mostly pointless in the EU because each country has a government body that tracks each ongoing employment contract for the purpose of tax, insurance, credit, work laws, regulations etc. So you really cannot misrepresent yourself.

    But there are shenanigans like fake profiles made by bots, or someone putting up a profile pretending to be someone else who may or may not be already on LinkedIn etc. Not sure how you can weed those out without some sort of identity check.

    There are however better ways to go about it. For example the EU countries have been (slowly) coming up with benign forms of identity checks.

    My country has an online identity platform ran by the government directly, where citizens can enroll voluntarily and use it to perform federated login to other government platforms, and can also see and approve what personal details are shared with those platforms when they do. It’s a completely voluntary alternative to the good ol’ way of making a different account with every government website. (I’m still floored they had the insight to make something so nice.)

    So anyway it hasn’t been opened to commercial entities but I could see it be safely used in the future to confirm to a company like LinkedIn that you are indeed a live citizen and nothing else. Just a live API “yes” response with a hash of the citizen ID number; no pics, no data to store.