LittleSnitch for Linux
182 points
by pluc
2 hours ago
| 17 comments
| obdev.at
| HN
txrx0000
12 minutes ago
[-]
As articulated in the author's own blog post:

https://obdev.at/blog/little-snitch-for-linux/

The core issue is simple and uncomfortable: through automatic updates, a vendor can run any code, with any privileges, on your machine, at any time.

-----

If the author is serious about this, then they should make their own program completely open source, and make builds bit-for-bit reproducible.

For all I know, the proprietary Little Snitch daemon, or even the binaries they're distributing for the open source components, contain backdoors that can be remotely activated to run any code, with any privileges, on your machine, at any time.

reply
alhazrod
1 hour ago
[-]
I remember before Little Snitch there was ZoneAlarm for Windows[0] (here is a good screenshot[1]). No clue if the current version of ZoneAlarm does anything like that (have not used it in 2 decades). I always found it weird that Linux never really had anything like it.

[0]: https://en.wikipedia.org/wiki/ZoneAlarm

[1]: https://d2nwkt1g6n1fev.cloudfront.net/helpmax/wp-content/upl...

reply
alex0com
47 minutes ago
[-]
This reminded me of running Kerio Personal Firewall. When Kerio ended I switched to either ZA or Comodo firewall, one of them introduced a neat feature of running executables in containers. Made clicking random things so much easier. But the best part with all of these was restricting windows to where it could barely do anything. "RandomXYZ.DLL wants to execute random what and connect to random where? I dont think so MS." lol
reply
brandon272
1 hour ago
[-]
Completely forgot about ZoneAlarm. I remember using it in the early 2000s!
reply
jerukmangga
53 minutes ago
[-]
It's interesting hw lng it took for linux to get a user friendly application firewall like OpenSnitch
reply
laweijfmvo
1 hour ago
[-]
isn’t this essentially built into Windows these days? although it seems to come with a lot of programs pre-approved.
reply
wolrah
1 minute ago
[-]
No, the Windows firewall in its default configuration does not restrict outbound connections in any way. Any application can make any outbound connection it wants. If an application attempts to listen for incoming connections from external sources and there is not an existing policy, Windows will pop up a dialog asking the user if they want to allow this and if so whether it should be allowed to listen on all networks, only networks marked as "private", or for domain-bound corporate computers only networks where the domain controller is reachable.

It can be manually configured with very detailed policies, but you have to know where to go to find those controls.

It's been a while since I used ZoneAlarm or Little Snitch, but the last time I used either one the default behavior was instead that any connection attempt or attempt to listen for which there was not a policy would result in a dialog showing all the details about what application is looking to connect to or receive connections from what as well as a variety of options for creating a policy or even not creating a policy and just deciding whether that one connection would be allowed.

reply
BoredPositron
57 minutes ago
[-]
Most of the windows firewalls tools are just front ends for the integrated one with more sensible defaults.
reply
parhamn
8 minutes ago
[-]
Okay hear me out, I use little snitch for a while. Great product. Love finding out what phones where. I make every single request (except my browser, because I'm fine with their sandbox) block until I approve.

Recently I was wondering how you really have to trust something like little snitch given its a full kernel extension effectively able to MITM your whole network stack.

So I went digging (and asked some agents to deep research), and I couldn't find much interesting about the company or it's leadership at all.

All a long way to say, anyone know anything about this company?

reply
lapcat
6 minutes ago
[-]
> All a long way to say, anyone know anything about this company?

Yes, they are indie Mac developers who have been in business for more than 20 years, and Little Snitch for Mac is beloved by many users for a long time.

reply
mathfailure
57 minutes ago
[-]
Nice to have this as an extra option, but being a linux user I value openness of code. I am pretty content with opensnitch + opensnitch-ui.
reply
ece
43 minutes ago
[-]
Same, just wish it was regularly updated in the distro repos.
reply
mrbluecoat
16 minutes ago
[-]
> The macOS version uses deep packet inspection to do this more reliably. That's not an option here.

Isn't MacOS just *nix under the hood? Genuinely curious about this difference.

reply
ekropotin
10 seconds ago
[-]
From what I understand, macOS uses weird kernel implementation, which is almost open source, but not 100%
reply
manwe150
5 minutes ago
[-]
More the opposite. macOS is a veneer of nix, but underneath it is the XNU microkernel. Lots more nuance since Apple took over and added a lot of their own performance and API improvements to
reply
gnerd00
6 minutes ago
[-]
BSD family with fewer GPL parts each year
reply
Bromeo
1 hour ago
[-]
How does it compare to opensnitch? https://github.com/evilsocket/opensnitch
reply
lapcat
1 hour ago
[-]
"I researched a bit, found OpenSnitch, several command line tools, and various security systems built for servers. None of these gave me what I wanted: see which process is making which connections, and in the best case deny with a single click." https://obdev.at/blog/little-snitch-for-linux/
reply
haswell
1 hour ago
[-]
I've used OpenSnitch for years, and while LittleSnitch definitely has a better UI for showing which process is making which connections over time, OpenSnitch does a pretty good job here. I get a modal popup when a program that hasn't made a connection tries to make a connection, and I can either allow/deny in one click, or further customize the rule e.g. allowing ntpd to connect, but only to pool.ntp.org on port 123.

Where LittleSnitch is definitely ahead is showing process connections over time after said process has been allowed.

reply
unsnap_biceps
38 minutes ago
[-]
When I looked at OpenSnitch (years ago), it didn't support running headless on a server. Am I mistaken about this, or has it changed?
reply
colesantiago
1 hour ago
[-]
It is free, no subscription at all and truly open source.

As software should be.

reply
lordmoma
42 minutes ago
[-]
how should maintainer make money?
reply
Avicebron
1 hour ago
[-]
Probably should throw it out there that I'm building something inspired by littleSnitch for windows. Currently a bit stealthy about it. But when I crowd source the funding for a code signing cert I'll get it out there. Lots of inspiration from LittleSnitch, in spirit if not actual code.
reply
forsalebypwner
40 minutes ago
[-]
I'd be curious to hear additional details if you can share - got a timeline, or somewhere I can enter my email address for updates? I'd love to alpha/beta test if you're looking for testers.

I've been a GlassWire user for years, which partially fills the role of LS, but not very well. Aside from the many performance issues I've seen, it's missing a lot of LS essentials. To be fair, I think the focus of GlassWire is more about visualizing traffic on your Windows computer, but I definitely believe there is a need for better Windows network software for power users.

reply
Avicebron
17 minutes ago
[-]
It's a custom WFP driver. No timeline yet..

If you or I guess anyone is curious sereno[hyphen]alpha[dot]ramble[thenumberoftechn9ne'sfavoriterum]@passinbox.com

reply
mostlysimilar
1 hour ago
[-]
Incredible. LittleSnitch is must-have for macOS and trying to get equivalent functionality on Linux was painful. So very happy to see this, and very happy to give the developers at Objective Development my money.
reply
Cider9986
1 hour ago
[-]
This has the author's blog post on it https://obdev.at/blog/little-snitch-for-linux/
reply
hackingonempty
1 hour ago
[-]
LittleSnitch doesn't tattle on itself phoning home.
reply
p-e-w
1 hour ago
[-]
Is that true? If so, that’s not a good sign. I remember how impressed I was by ZoneAlarm in the early 2000s asking permission for itself to connect to the Internet, using the exact same dialogue it presented for any other program, with no dark patterns suggesting that the user should give preferential treatment to it.
reply
jshier
46 minutes ago
[-]
Doesn't seem to be, I can see LittleSnitch itself connecting to yoyo.org and obdev.at. GP may be referencing a past bug, either in LittleSnitch or macOS.
reply
flexagoon
31 minutes ago
[-]
Also see Safing Port master:

https://safing.io/

reply
Dig1t
53 minutes ago
[-]
>The daemon (littlesnitch --daemon) is proprietary, but free to use and redistribute.

Worth noting that it is closed source. Would be worth contributing patches to OpenSnitch to bring it up to parity with Little Snitch.

https://github.com/evilsocket/opensnitch

reply
MegagramEnjoyer
40 minutes ago
[-]
Thanks for sharing Open Snitch
reply
SamuelAdams
1 hour ago
[-]
So if this is free to use on linux, what is to stop someone from doing what Colima did to Docker? Aka make a tiny Linux VM on MacOS and package Little Snitch within that?
reply
Cider9986
1 hour ago
[-]
It barely has any of the features of the MacOS version, there is no shortage of cracks for Little Snitch, and there is Lulu. Other than that, I am not sure.
reply
azinman2
1 hour ago
[-]
I don't think it'll have access to the macOS connections, and certainly cannot act at the kernel-supported level as a firewall on the Mac side.
reply
FloatArtifact
1 hour ago
[-]
I wish applications like this could coordinate with upstream firewall like opnsense
reply
rvz
1 hour ago
[-]
Also from [0].

> You can find Little Snitch for Linux here. It is free, and it will stay that way.

Don't worry, the authors know that there's no point in charging Linux users. Unlike Mac users.

So you might as well make it $0 and the (Linux) crowd goes wild that they don't need to pay a cent.

However...

> I researched a bit, found OpenSnitch, several command line tools, and various security systems built for servers. None of these gave me what I wanted: see which process is making which connections, and in the best case deny with a single click.

OpenSnitch is open source. You don't need to trust it as you can see the code yourself. Little Snitch on the other hand, is completely closed source.

Do you still trust them not to do self-reporting or phoning home, even though it is $0 and closed source?

[0] https://obdev.at/blog/little-snitch-for-linux/

reply
papascrubs
1 hour ago
[-]
Two of the three components of LittleSnitch for Linux are open source. The eBPF (kernel portion) and UI are fully open source.
reply
lapcat
1 hour ago
[-]
> Do you still trust them not to do self-reporting or phoning home, even though it is $0 and closed source?

If you trust Little Snitch on Mac, then yes.

They've been in business for over 20 years. They're not going to blow their entire business and reputation for a few Linux users.

reply
emmelaich
1 hour ago
[-]
Yep, I trust the obdev.at / Snitch guys.

I do wonder however, are they sufficiently careful about their processes and own machines to avoid a supply chain attack completely.

They must be a target for the various hacking groups out there.

reply
lapcat
1 hour ago
[-]
This comment seems a bit confused.

A supply chain attack doesn't directly attack an end developer but rather a supplier of the developer. So who or what is the supplier in this case?

reply
LamaOfRuin
16 minutes ago
[-]
That seems... not correct?

The comment was asking about preventing a compromised supplier for the developers.

A supply chain attack can be anywhere in the supply chain to the target. If I, the end user, am the target, then a supply chain attack compromising the developer of LittleSnitch is effective.

I may then be a conduit to compromising other software or components, and would both I and LittleSnitch would be part of the supply chain that could be attacked targeting them.

reply
lapcat
1 minute ago
[-]
> If I, the end user, am the target

You're not a target, anonymous rando.

reply
emmelaich
37 minutes ago
[-]
They don't build their own machines or write their compilers or write their own crpyto code or ... so many other things.
reply
lapcat
13 minutes ago
[-]
> They don't build their own machines or write their compilers or write their own crpyto code or ... so many other things.

An attack on any of these things has nothing specifically to do with the developers of Little Snitch and would have vastly more widespread and important effects.

Why would you even be talking about Little Snitch if a compiler were compromised?!? Your paranoia here is bizarrely narrow. Little Snitch would be the least of our problems in that case.

reply
hsbauauvhabzb
1 hour ago
[-]
This seems pedantic and I think you know what they’re questioning and why.
reply
BoredPositron
53 minutes ago
[-]
If they trust the devs why would they not trust them to not yolo deploy new versions?
reply
dylan604
43 minutes ago
[-]
because a company worthy of trust doesn't yolo their versions. a company that does yolo versions is not trustworthy.
reply
hsbauauvhabzb
22 minutes ago
[-]
Because it might not be the developers doing the deploying, but a malicious actor?
reply
lapcat
1 hour ago
[-]
> I think you know what they’re questioning and why.

No, not really. And I disagree with the premise, "They must be a target for the various hacking groups out there."

How would you even hack them? I'm a developer too; how would you hack me?

reply
heartbreak
50 minutes ago
[-]
Options range from carefully targeted phishing or social engineering attacks to poor opsec and a five dollar wrench.
reply
lapcat
21 minutes ago
[-]
> a five dollar wrench.

I'm not even going to respond to this ridiculousness.

I still don't know why anyone thinks that, among all developers in the world, a little indie Mac developer is getting targeted specifically.

reply
emmelaich
35 minutes ago
[-]
?! The same way every other developer that has been hacked. You surely cannot be suggesting you're un-hackable. That seems ludicrously hubristic.
reply
lapcat
21 minutes ago
[-]
> The same way every other developer that has been hacked.

There's not one single way, so, no, you're just hand-waving here.

reply
waterTanuki
1 hour ago
[-]
Why would one use this over PiHole?
reply
JoeBOFH
1 hour ago
[-]
This is different. This shows you what in your operating system is making connections out and to where.
reply
roughly
1 hour ago
[-]
I run both (LS on Mac, at least), they do different things - pi.hole is a great ad blocker which applies to all of the devices on your network. Little Snitch is doing something different - it tells you every call that every app you use is making, and allows you to approve or deny each one. So, you can block telemetry for apps, or you can block certain apps from contacting certain servers, or you can just use it to watch what apps on your system are calling out to where.
reply
waterTanuki
30 minutes ago
[-]
To clarify, I'm aware that pihole is not intended to run on a client OS, and doesn't monitor at a process level. I'm focused on the intended effect rather than the process itself (blocking malicious/ad servers). And I think I framed my initial question incorrectly as if LS and PiHole as subtitutes. It's perfectly fine and even preferrable to use both as layered protection. I'm just thinking however when it comes for bang-for-buck it seems like PiHole is the better value proposition if you could only set up one.

pi.hole is primarily billed as an ad blocker, but the fundamental way it works is by applying a curated set of DNS lists that are blocked (commonly telemetry and ad servers), and the admin dashboard which is just a web page (therefore works on all platforms, smartphones included) will do the same thing: it tells you every call that every app on every device on your network is making, and you can approve or deny it. You can curate your own list as well and block servers/connections you don't want on the network.

LS afaik operates in the same area where it's intended to be used for privacy. I guess I could see it being useful for people who don't have admin access to their router, but for people who do have such access I would think the benefits of network-wide DNS monitoring/blocking would outweight the costs of having to configure your router settings.

reply
LamaOfRuin
7 minutes ago
[-]
LS seems to not be claiming any security promise on Linux because it can't make any guarantees given eBPF limitations. But the entire purpose is different and there is very little overlap in my view. PiHole is entirely (I think?) just applying the blocklist made easy. LS allows you to build the blocklist in real time.

I would guess that to the extent the blocklists include things that are loaded by applications and not websites, they are almost entirely built by users of something like LittleSnitch or OpenSnitch. This is also entirely doable with wireshark logs, but I think that requires more infrastructure to build into usable lists.

reply
cortesoft
58 minutes ago
[-]
LittleSnitch isn't for ad blocking (only), it is for tracking/blocking/allowing ALL connections from various processes. PiHole only blocks DNS requests to known ad servers.
reply
walrus01
1 hour ago
[-]
Completely different thing. A littlesnitch type thing is for all traffic. Pihole is a DNS query thing that prevents various ad content from being loaded. It's also trivially easy for a malicious application with network access to bypass any instance of pihole on your LAN by doing its own DNS over HTTPS lookups to its own set of server(s) by IP.
reply
waterTanuki
23 minutes ago
[-]
I mean, if you're at the point where your machine is compromised by a process with full network access little snitch won't help much either.
reply
serious_angel
1 hour ago
[-]

  > The macOS version can make stronger guarantees because it can have more complexity. On Linux, the foundation is eBPF, which is powerful but bounded: it has strict limits on storage size and program complexity. Under heavy traffic, cache tables can overflow, which makes it impossible to reliably tie every network packet to a process or a DNS name.  
  > And reconstructing which hostname was originally looked up for a given IP address requires heuristics rather than certainty. The macOS version uses deep packet inspection to do this more reliably.  
  > That's not an option here.
  > 
  > Source: https://web.archive.org/web/20260409002901/https://obdev.at/products/littlesnitch-linux/index.html
The above feels like an utter AI slop nonsense, sorry. I believe eBPF, the Linux Kernel feature, is absolutely capable for accuracy and perfect processing of network traffic.

Have you ever checked Calico or Cilium, or at least, Oryx?

reply
jiveturkey
1 hour ago
[-]
I guess you haven't actually implemented anything in eBPF.
reply