- यह एक ऐसा टूल है जिससे एप्लिकेशनों के 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 की अनुमति है
अभी कोई टिप्पणी नहीं है.