LittleSnitch for Linux

(obdev.at)

214 points | by pluc 2 hours ago

20 comments

  • alhazrod 2 hours 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...

    • alex0com 1 hour 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
    • brandon272 1 hour ago
      Completely forgot about ZoneAlarm. I remember using it in the early 2000s!
    • jerukmangga 1 hour ago
      It's interesting hw lng it took for linux to get a user friendly application firewall like OpenSnitch
    • 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.
      • wolrah 25 minutes 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.

        Also back when I used ZoneAlarm I had dialup so the taskbar addon they had which showed realtime bandwidth usage and what applications had active connections was really useful. It also had a big red "Stop" button that would immediately disable all connections, which thinking about it in retrospect really makes me miss the more innocent days of the internet.

      • BoredPositron 1 hour ago
        Most of the windows firewalls tools are just front ends for the integrated one with more sensible defaults.
    • poglet 2 hours ago
      [flagged]
      • weird-eye-issue 1 hour ago
        That website redirected my browser to a very sketchy website after a couple seconds.

        Don't open it.

        @dang

        • armadyl 1 hour ago
          That domain is blocked by Hagezi's Ultimate list. Definitely remove that user's comment
        • cwillu 1 hour ago
          @dang doesn't do anything; send a quick email to the contact address with a link
  • parhamn 32 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?

    • lapcat 30 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.

      • umpalumpaaa 11 minutes ago
        Everything has a price though… (I also use little snitch)
        • lapcat 4 minutes ago
          > Everything has a price though…

          What is that supposed to mean in this context?

  • badc0ffee 5 minutes ago
    Does anyone know how the blocking functionality works? I worked on some eBPF code a few years ago (when BTF/CO-RE was new), and while it was powerful, you couldn't just write to memory, or make function calls in the kernel.

    Is there a userland component that's using something like iptables? (Can iptables block traffic originating from/destined to a specific process nowadays?)

  • mathfailure 1 hour 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.
    • ece 1 hour ago
      Same, just wish it was regularly updated in the distro repos.
  • Bromeo 2 hours ago
    How does it compare to opensnitch? https://github.com/evilsocket/opensnitch
    • lapcat 2 hours 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/
      • haswell 2 hours 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.

        • unsnap_biceps 1 hour 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?
          • mixmastamyk 9 minutes ago
            The UI is a separate package. Though you might just configure the firewall yourself at that point.
    • colesantiago 1 hour ago
      It is free, no subscription at all and truly open source.

      As software should be.

  • alsetmusic 19 minutes ago
    Congrats to Linux users on getting a great tool from a quality development shop. Objective Development is one of our (Mac users) exemplars for attention to detail and fit & finish.

    Congrats to Objective Development for expanding their well-loved tool to a new platform. You guys rock.

    • ProllyInfamous 7 minutes ago
      >attention to detail

      Why does LittleSnitch (Mac) pre-resolve IP addresses, before user presses Accept/Deny?

      IMHO DNS queries shouldn't initiate without user input.

  • Avicebron 2 hours 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.
    • forsalebypwner 1 hour 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.

      • Avicebron 40 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

  • Cider9986 2 hours ago
    This has the author's blog post on it https://obdev.at/blog/little-snitch-for-linux/
  • 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.
  • mrbluecoat 40 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.

    • manwe150 28 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
    • ekropotin 24 minutes ago
      From what I understand, macOS uses weird kernel implementation, which is almost open source, but not 100%
    • gnerd00 30 minutes ago
      BSD family with fewer GPL parts each year
  • txrx0000 36 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.

  • hackingonempty 2 hours ago
    LittleSnitch doesn't tattle on itself phoning home.
    • 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.
      • jshier 1 hour 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.
  • flexagoon 55 minutes ago
    Also see Safing Port master:

    https://safing.io/

  • SamuelAdams 2 hours 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?
    • Cider9986 2 hours 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.
    • azinman2 2 hours 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.
  • Dig1t 1 hour 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

  • rvz 2 hours 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/

    • papascrubs 2 hours ago
      Two of the three components of LittleSnitch for Linux are open source. The eBPF (kernel portion) and UI are fully open source.
    • lapcat 2 hours 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.

      • 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.

        • 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?

          • LamaOfRuin 40 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.

            • lapcat 25 minutes ago
              > If I, the end user, am the target

              You're not a target, anonymous rando.

          • emmelaich 1 hour ago
            They don't build their own machines or write their compilers or write their own crpyto code or ... so many other things.
            • lapcat 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.

              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.

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

              • heartbreak 1 hour ago
                Options range from carefully targeted phishing or social engineering attacks to poor opsec and a five dollar wrench.
                • lapcat 45 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.

              • emmelaich 59 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.
                • lapcat 45 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.

  • FloatArtifact 1 hour ago
    I wish applications like this could coordinate with upstream firewall like opnsense
  • waterTanuki 1 hour ago
    Why would one use this over PiHole?
    • JoeBOFH 1 hour ago
      This is different. This shows you what in your operating system is making connections out and to where.
    • 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.
      • waterTanuki 54 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.

        • mixmastamyk 3 minutes ago
          Some telemetry uses hardcoded addresses when DNS doesn't work.

          Some telemetry might not be recognized by pi-hole as it is new or has nothing to do with ads.

        • LamaOfRuin 31 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.

    • cortesoft 1 hour 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.
    • 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.
      • waterTanuki 47 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.
        • sampullman 7 minutes ago
          You might be surprised, there are plenty of low effort attacks out there that just install a crypto miner and phone home periodically without doing much to cover it up.
  • VladVladikoff 22 minutes ago
    Really like Lulu as an alternative to LittleSnitch https://objective-see.org/products/lulu.html
  • 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?

    • jiveturkey 1 hour ago
      I guess you haven't actually implemented anything in eBPF.