evilsocket / evilsocket/opensnitch
[Feature Request][NixOS] Application updates, checksums and automatic OpenSnitch rule updates
- Dominant language
- Python
- Stars
- 14.1k
- Forks
- 665
- PR merge metrics
- No merged PRs in 30d
Description
Applications "forget" their rules on every NixOS update, which leads to a lot of "re-allowing" or "re-denying" rules.
### Summary:
Due to
1. The way NixOS handles applications (symlinks from `/etc/profiles/per-user//bin/evolution` --> `/nix/store/f5xq5bvklh7ms02cxsba8xv9wqszwinw-evolution-3.56.2/bin/evolution`)
2. The way OpenSnitch detects which application requested a connection, i.e. by the actual path, not the NixOS symlink.
This means that every time applications or their configuration is changed in NixOS, OpenSnitch effectively forgets all rules assigned to the application.
**This will also be a problem when Applications are referenced by checksum as has been proposed**: [[Feature Request] Calculate a checksum for each whitelisted executable · Issue #413 · evilsocket/opensnitch](https://github.com/evilsocket/opensnitch/issues/413)
### Solution:
There needs to be a way for OpenSnitch to automatically, or with minimal user interaction, determine that a new and old binary are actually the same "program".
LaunchBar does this whenever an app signature that does not validate changes. It asks the user if the new app should be trusted.
I may take a crack at solving this issue as I had already played around with writing an external rule management app to modify exported OpenSnitch rules so that they could be updated in bulk and re-imported.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.