Show more

Paranoid corner: Spectre v2 mitigation in Linux is not enabled for all processes but only for ones that have seccomp filters applied.

To enable it unconditionally (and probably make it more efficient?), add spectre_v2=on to kernel command line.

Or write seccomp filters for your software already.

fox.cpp boosted

Btw, daily reminder. Web applications/sites have complete access to your clipboard whatever you have in there.

FF -> about:config -> dom.event.clipboardevents.enabled = false

fox.cpp boosted

SELinux seems powerful and is a pretty interesting from the perspective of uniform system-wide sandboxing, but... Every time I try touching it, I see thousands of concepts that probably can be simplified. And lets be honest, you cannot only rely on distribution-provided policies. Sooner of later you will need to write your own or patch distribution-provided ones.

And oh, do not undervalue Unix DAC, especially when extended by POSIX ACL.

fox.cpp boosted

Case study: github.com/foxcpp/maddy deployment consists of /var/lib/maddy directory, /etc/maddy/maddy.conf file, /usr/bin/maddy executable with only libc dependency and init system config. What do you need docker for here?

Show thread

Create software that does not require Docker to have maintainable deployments, prefer software that does not require Docker to have maintainable deployments, keep software with a shitshow of dependencies in containers created using mechanisms that are much more simple than Docker (lxd, nspawn, just chroot jail afer all).

git+ssh+some scripting seems to be the best configuration deployment system.

Take a look:
Firewall configs for hexanet.dev servers are in Git repo. Update takes one 'git push' and two commands on each affected server. Later can be easily improved to be fully automatic using Git hooks. What I am doing wrong?

fox.cpp boosted

Protocol Labs have little to no incentive to have IPFS working well. It is a project full of not-bad ideas but lacks polish nearly everywhere. Also Protocol Labs missed FileCoin mainnet launch deadline several times already. This tells a lot about company behind IPFS and FileCoin. Do not waste your time on either of these.

fox.cpp boosted

Keybase, the company that asks you to upload your private keys to their servers, has just been acquired by Zoom, an essentially Chinese company notorious for having terrible concepts on how encryption should be implemented.

Even if you gave Keybase the benefit of the doubt beforehand, this is corporate suicide at it's most graphic. Delete your Keybase keys. Close your account. Rotate everything that Keybase touched, be that password or cryptomaterial.

blog.zoom.us/wordpress/2020/05

Kudos to Dovecot team for designing a reasonable external authentication protocol and providing a useful specification for it.

If AppArmor seems a bit too much, at least protect startup files. Make .bashrc, .bash_profile, .xinitrc, WM and shell configs immutable.

The sudo password is a security theater. If untrusted code is isolated, it will be unable to run sudo (or other privilege escalation tool) at all. If untrusted code is not isolated, it has millions of ways to sniff the sudo password. This applies to both server and desktop Linux installations.

Keep your stuff sandboxed. The Evil Systemd, despite being Evil, has a set of useful options for this. Check systemd.service(5).

Here we go.
If somebody wants to try it - clone master branch and do 'git cherry-pick d0e7df023cadb3d7068e5b09509bc562ad63f10b', then run build.sh script as usual.

Show thread

maddy is getting milter client support once I figure out how to use go-fuzz!

github.com/emersion/go-milter/

So far testing IPNS performance:

/ipns/QmbrC2DvpGp2jmFH9udVFuzAvzwB967DRT1CcRu1Pru5FC

IPNS lookup + fetch using gateway.ipfs.io
1. 17.12 seconds
2. 23 seconds

IPNS lookup + fetch using ipfs.hex.dn42
1. 7.23 seconds
2. 0.147 seconds (cache hit)
3. 0.876 seconds (after node restart, wtf)

IPNS lookup + fetch using cloudflare-ipfs.com:
1. Timeout
2. Timeout

IPNS lookup + fetch using ipfs.eternum.io
1. 64.49 secs

IPNS lookup + fetch using ipfs.best-practice.se
1. 502 Bad Gateway

Show more

fox.cpp's choices:

Puppo Space

A general furry public instance. You don't have to be a furry to join. Any and all topics are fair game provided they do not conflict with the Code of Conduct.