• यह एक ऐसा टूल है जिससे एप्लिकेशनों के network connections को visualize और control किया जा सकता है, और यह देखा जा सकता है कि कौन-सा प्रोग्राम किस server से communicate कर रहा है
  • Connections View में real-time और पुराना traffic app के हिसाब से दिखता है, और एक क्लिक में connection block करने तथा data usage track करने की सुविधा मिलती है
  • Blocklists और Rules फीचर के जरिए अनचाहे traffic को category या विस्तृत शर्तों के आधार पर बारीकी से control किया जा सकता है
  • अंदरूनी तौर पर यह eBPF का उपयोग करके kernel level पर connections को monitor करता है, और web UI के जरिए PWA रूप का interface देता है
  • यह security tool नहीं बल्कि privacy-केंद्रित tool है; सामान्य software की बाहरी communications को block करने के लिए उपयुक्त है, लेकिन advanced attacks से बचाव में इसकी सीमाएँ हैं

अवलोकन

  • Little Snitch for Linux एक ऐसा टूल है जो एप्लिकेशनों के network connections को real-time में visualize और control कर सकता है
    • यह देखा जा सकता है कि कौन-सा application किस server से communicate कर रहा है
    • अनचाहे connections को block करना, traffic logs रखना, और data usage track करने की सुविधा देता है
  • Linux kernel 6.12 या उससे ऊपर और BTF kernel support आवश्यक है
  • web UI को http://localhost:3031/ पर access किया जा सकता है, और इसे PWA (Progressive Web App) के रूप में install किया जा सकता है

कनेक्शन मॉनिटरिंग

  • Connections View में मौजूदा और पिछले network activity को application के हिसाब से दिखाया जाता है
    • rules और blocklists द्वारा blocked items, data usage, और traffic history दिखाई जाती है
    • हाल की activity, data की मात्रा, और नाम के आधार पर sort और filter किया जा सकता है
    • एक क्लिक में connection block किया जा सकता है
  • नीचे दिया गया traffic diagram समय के साथ data की मात्रा को visualize करता है
    • किसी खास हिस्से को drag करके zoom करने पर केवल उसी अवधि की activity filter होकर दिखाई जाती है

ब्लॉकलिस्ट प्रबंधन

  • Blocklists फीचर से अनचाहे traffic categories को एक साथ block किया जा सकता है
    • remote source से अपने-आप download होकर updated रहता है
    • supported formats: प्रति domain एक line, प्रति hostname एक line, /etc/hosts format (IP + hostname), CIDR network range
    • wildcard, regular expression, glob, और URL-आधारित formats समर्थित नहीं हैं

      • efficiency के लिए domain-based lists का उपयोग recommended है
      • उदाहरण lists: Hagezi, Peter Lowe, Steven Black, oisd.nl
      • macOS के लिए .lsrules format Linux version के साथ compatible नहीं है

कस्टम नियम

  • Rules फीचर blocklists की तुलना में अधिक बारीक control देता है
    • इसे specific process, port, और protocol के स्तर पर configure किया जा सकता है
    • rules list को sort और filter किया जा सकता है
  • rules के जरिए विस्तृत network control policy बनाई जा सकती है

एक्सेस सुरक्षा

  • डिफ़ॉल्ट रूप से web interface को local पर चल रहे सभी processes access कर सकते हैं
    • malicious applications द्वारा rules बदलने, blocklists संशोधित करने, या filters disable करने की संभावना रहती है
  • इसे रोकने के लिए authentication required सेट किया जा सकता है
    • विस्तृत settings advanced configuration में की जाती हैं

आंतरिक संरचना

  • eBPF का उपयोग करके Linux network stack में hook किया जाता है
    • eBPF program outgoing connections को monitor करता है और data को daemon तक पहुँचाता है
    • daemon statistics tracking, rules processing, और web UI उपलब्ध कराने का काम करता है
  • eBPF program और web UI का source code GitHub पर public है

उन्नत कॉन्फ़िगरेशन

  • मूल UI केवल मुख्य settings दिखाता है, जबकि advanced settings को text files से configure किया जाता है
    • बदलाव के बाद littlesnitch daemon को restart करना आवश्यक है
  • default settings path: /var/lib/littlesnitch/config/
    • इसे सीधे edit न करें; जिस file को बदलना हो उसे /var/lib/littlesnitch/overrides/config/ में copy करके edit करें
    • override directory की settings हमेशा प्राथमिकता से लागू होती हैं
  • मुख्य settings files
    • web_ui.toml: network address, port, TLS, authentication settings
      • यदि कई users access कर सकते हों, तो authentication enable करना आवश्यक है
      • loopback के बाहर expose करने पर अतिरिक्त TLS आवश्यक है
    • main.toml: rules से match न होने वाले connections के default behavior की setting
      • default रूप से allow है, आवश्यकता होने पर deny में बदला जा सकता है
      • गलत configuration पर system access बंद होने का जोखिम है
    • executables.toml: executable grouping rules
      • version numbers हटाकर एक ही app के कई versions को एक रूप में दिखाया जा सकता है
      • shell और app management processes के parent relationships define किए जा सकते हैं
      • community feedback के आधार पर इसमें लगातार सुधार होता है
  • eBPF program और web UI को user-built versions से बदला जा सकता है
    • override directory में मौजूद version को प्राथमिकता दी जाती है

सीमाएँ

  • इसे security tool नहीं बल्कि privacy tool के रूप में डिजाइन किया गया है
    • यह macOS version की तुलना में सरल है, और eBPF constraints के कारण इसकी functional limitations हैं
  • eBPF में storage space और program complexity की सीमाएँ होती हैं
    • traffic बहुत अधिक होने पर cache tables भर सकती हैं, जिससे packets, processes, और DNS names के बीच mapping अधूरी हो सकती है
    • IP address से मूल queried hostname को restore करते समय heuristics का उपयोग किया जाता है
    • macOS version deep packet inspection (DPI) से अधिक सटीक mapping करता है
  • सामान्य software की बाहरी communications को monitor और block करने के लिए यह उपयुक्त है, लेकिन advanced attackers के खिलाफ system defense के लिए उपयुक्त नहीं है

लाइसेंस

  • यह 3 components से बना है
    • eBPF kernel program और web UI को GNU GPL v2 के तहत public किया गया है, और GitHub पर उपलब्ध हैं
    • daemon(littlesnitch --daemon) proprietary है, लेकिन मुफ़्त उपयोग और redistribution की अनुमति है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.