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.

EBPFSnitch: An eBPF based Linux Application Firewall

290 pointsby harporoederabout 4 years ago

12 comments

aptmigukabout 4 years ago
If you&#x27;re interested in this, you may be interested in this as well: <a href="https:&#x2F;&#x2F;github.com&#x2F;evilsocket&#x2F;opensnitch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;evilsocket&#x2F;opensnitch</a><p>It has a GUI interface as well.
评论 #26457778 未加载
评论 #26456273 未加载
XorNotabout 4 years ago
This looks spectacular! Finally! This is functionality I&#x27;ve desperately wanted on Linux desktop. Link that up with with some of the SELinux on-demand tools and you have a plausible way to run untrusted binaries without the overhead of completely containerizing them up front.
评论 #26455454 未加载
评论 #26455981 未加载
评论 #26455555 未加载
评论 #26456079 未加载
评论 #26455715 未加载
评论 #26455644 未加载
pratioabout 4 years ago
For those who&#x27;re unaware.<p>ebpf: extended berkeley packet filter<p>Unfortunately, even the website <a href="https:&#x2F;&#x2F;ebpf.io&#x2F;what-is-ebpf" rel="nofollow">https:&#x2F;&#x2F;ebpf.io&#x2F;what-is-ebpf</a> doesn&#x27;t mention this. Interestingly, I was unable to find the words packet filter used together as well or firewall. I might be wrong.<p>I know that if you know what it is you&#x27;d know but trying to explain that to my partner here just glancing at my screen wasn&#x27;t easy.
评论 #26459731 未加载
评论 #26464216 未加载
Tcc1about 4 years ago
Why does this need nf_queue? Wouldn&#x27;t it be sufficient to directly filter the connect syscalls using eBPF?<p>Dropping packets using netfilter makes many applications wait for a timeout. I prefer reject to filter unwanted outbound connections so that applications don&#x27;t wait.
评论 #26458012 未加载
egbertsabout 4 years ago
only problem is that you can’t get the process ID for inbound packets like FreeBSD can, for that still remains Linux’s weakest feature.<p>— The said feature is critical to proper DEFAULT-DENY firewall configuration&#x2F;modeling.
评论 #26455922 未加载
评论 #26456049 未加载
djeiasbsboabout 4 years ago
When I tested out eBPF a couple weeks ago I immediately had LittleSnitch in mind! Great to see that someone had the same idea and also the time to make it happen.<p>There&#x27;s much more that can be done as well, I really highly recommend taking a look at eBPF!
jackinloadupabout 4 years ago
This is awesome. I can&#x27;t wait to dig into it. I was contemplating creating creating the same thing roughly. Maybe I can now leverage this instead :-)
spycabout 4 years ago
Reminds me of good old Kerio Personal Firewall on Windows back in the 90s. If the UI gets some more love, I see ebpfsnitch take off like a rocket :)
评论 #26456427 未加载
评论 #26457402 未加载
sandGorgonabout 4 years ago
This is very cool. Something like this can be a full blown commercial product.<p>&gt;<i>The control interface is implemented in Python 3 utilizing Qt5</i><p>I would recommend moving away from this and instead run the controls using a web interface. A small django&#x2F;flask&#x2F;fastapi app (maybe even running through docker).<p>U can see how that could run on a raspberry Pi and be accessible on the network through the browser.
评论 #26464084 未加载
评论 #26462306 未加载
throwitaway12about 4 years ago
Thanks for this, I was using something similar called Opensnitch, which is unfortunately buggy and not as capable as Little Snitch.
netsec_burnabout 4 years ago
Hey, security guy here that has worked on something like this for about 2 years. This is cool but has some vulnerabilities upon a brief 10min code review. I&#x27;ll see if I can circle back in about 2 weeks and make a list of what vulnerabilities EBPFSnitch has.
评论 #26457642 未加载
0xbadcafebeeabout 4 years ago
I get the point of it, but I think it&#x27;s a distraction from the solutions we really need. The whole idea of app firewalls is &quot;do&#x2F;don&#x27;t let an arbitrary network communication happen unless I know about it&quot;. The problem is, what if what you allow still involves an attacker? Say you allow some network connection from application A to site Z using protocols B,C. And say that you even inspect the connection using DLP. There will come a point where the attacker will position themselves to appear exactly like legitimate traffic.<p>Ultimately, all firewalls are just a very poor hack around a complex problem. The best solution to the problem is to ensure the connection is genuine and that the data being passed is genuine, and you can&#x27;t do that with an arbitrary monitoring program. You need strong end to end authentication, authorization, and integrity, and sometimes also privacy. But we don&#x27;t have the tools to do that right now because the protocols were designed for a different time.<p>Take DLP for example. Almost every major company in the world is starting to implement traffic inspection, because how the hell else are you going to ensure security of your IP with 10,000 employees using TLS 1.3? The inspection you force on the users is its own security hole, to say nothing of software bugs. And you can&#x27;t even just lock down the network to only protocols that use OAuth or something. None of our security solutions are holistic.<p>We need a revolution in network security that takes each <i>part</i> of a network communication and its individual security needs into account, not just what we imagine is end-to-end (but never actually is). We can&#x27;t rely solely on a facile &quot;privacy or nothing&quot; approach to internet security that the TLS mafia has been pushing. We need more flexible methods that allow us to fine-tune security at each level of the protocol stack, across multiple organizations and use cases. Nothing like that exists currently for the web.
评论 #26457625 未加载
评论 #26456671 未加载