TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Douane: Linux personal firewall with per application rule controls

135 pointsby severineover 4 years ago

11 comments

azalemethover 4 years ago
An alternative that does not come with a potentially machine-bricking kernel panic bug is Opensnitch [1], last updated 14 months ago with a change to &quot;funding.yaml&quot; asking for donations.<p>A fork seems to be relatively alive [2] and I use it personally -- it works well, but is a bit of a PITA to build. Time to buy the devs a coffee...<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;evilsocket&#x2F;opensnitch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;evilsocket&#x2F;opensnitch</a> [2] <a href="https:&#x2F;&#x2F;github.com&#x2F;gustavo-iniguez-goya&#x2F;opensnitch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gustavo-iniguez-goya&#x2F;opensnitch</a>
评论 #25182111 未加载
评论 #25178875 未加载
cmroanirgoover 4 years ago
&gt; <i>Warning: unfortunately the project is suffering of a kernel freeze bug [0] that can break your machine!</i><p>&gt; <i>You can follow the bug resolution from this issue. Have a look at the Roadmap [1] to see when this issue should be fixed!</i><p>&gt; <i>The current version is 0.8.2</i><p>This does not seem to be the fastest of projects... The bug was reported 6 years ago.<p>From the bug report (6 months ago):<p>&gt; So, could a noob use it already without breaking the computer?<p>&gt; No, not yet<p>[0] <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;douaneapp&#x2F;douane-dkms&#x2F;-&#x2F;issues&#x2F;3" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;douaneapp&#x2F;douane-dkms&#x2F;-&#x2F;issues&#x2F;3</a><p>[1] <a href="https:&#x2F;&#x2F;douaneapp.com&#x2F;#roadmap" rel="nofollow">https:&#x2F;&#x2F;douaneapp.com&#x2F;#roadmap</a>
n0nc3over 4 years ago
Privacy tooling should not come from a page that does not work without javascript. Moreover, this functionality is easy to achieve using user groups and the iptables owner module.<p>Here&#x27;s an example that prevents atom from leaking telemetry.<p><pre><code> # add group atomblind sudo groupadd atomblind # add your username to atomblind group sudo usermod -a -G atomblind &lt;username&gt; # do not allow outbound traffic from group atomblind sudo iptables -I OUTPUT -m owner --gid-owner atomblind -j DROP # overwrite atom binary with a hook # atom_binary is absolute path to your atom binary echo &quot;#!&#x2F;bin&#x2F;bash&quot; &gt; atom_hook echo &quot;sg atomblind -c &#x27;atom_binary&#x27;&quot; &gt;&gt; atom_hook chmod +x atom_hook .&#x2F;atom_hook</code></pre>
评论 #25179752 未加载
rdnover 4 years ago
After the Big Sur update, I realized Little Snitch was the last reason I was sticking with MacOS. Now I have no reason.<p>I really hope Linux gets a viable alternative to Little Snitch, such as this Douane, or OpenSnitch.
评论 #25178294 未加载
评论 #25178471 未加载
评论 #25178163 未加载
评论 #25178290 未加载
andikleen2over 4 years ago
Seems trivial to exploit the kernel module:<p><pre><code> struct network_activity * activity = NLMSG_DATA(nlh);</code></pre> &lt;untrusted data from the netlink socket&gt; append_rule(activity-&gt;process_path, (activity-&gt;allowed == 1)); ...<p>append_rule: &#x2F;&#x2F; Don&#x27;t do anything if the process_path length is &gt; PATH_LENGTH if (strlen(process_path) &gt; PATH_LENGTH) return;<p>But nobody enforces the process_path has a terminating 0 byte, so likely it can be abused for all kinds of attacks on the kernel. Better don&#x27;t run it anywhere you care about security.<p>I found this from about 2 minutes code reading, so likely there wasn&#x27;t any code audit done ever.
severineover 4 years ago
Previous discussion, 4 years ago: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13450226" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13450226</a> (131 points, 45 comments)
scaramangaover 4 years ago
A quick look at the code reveals a kernel module with major security vulnerabilities, so I wouldn&#x27;t call it &quot;privacy respecting.&quot;<p>Avoid...
评论 #25179324 未加载
nathantsover 4 years ago
i also built off the original opensnitch[1]. libnetfilterqueue is really great.<p>i used bpftrace instead of ftrace to get the process metadata, but eventually removed it after frustration building bpftrace.<p>currently it is a global inbound&#x2F;outbound firewall with ui prompts.<p>i’ve recently had success running archlinux packaged bpftrace in a privileged container, so will be adding process metadata back in soon.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;nathants&#x2F;tinysnitch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nathants&#x2F;tinysnitch</a>
grantseltzerover 4 years ago
I don&#x27;t see a reason to implement anything like this without using bpf.
评论 #25179013 未加载
评论 #25178388 未加载
评论 #25179056 未加载
评论 #25179533 未加载
demosito666over 4 years ago
Do I get it correctly that the only reason for the kernel module is to be able to show GUI popup live when an app accesses the network for the first time? Because otherwise I believe it&#x27;s easier to mark the packets with selinux and then filter them with netfilter.
评论 #25180640 未加载
TedDoesntTalkover 4 years ago
“ You need to enable JavaScript to run this app.”<p>Why? What does JavaScript have to do with a personal firewall?