इस प्रोजेक्ट के बारे में

Linux Hardener Linux प्रणालियों के लिए एक व्यापक सुरक्षा स्वचालन उपकरण है, जो Rust में लिखा गया है। यह होस्ट्स को सुरक्षा misconfigurations के लिए स्कैन करता है, hardening fixes लागू करता है, और signed checkpoints के माध्यम से पूर्ण rollback का समर्थन करता है। प्रत्येक परिवर्तन किए जाने से पहले उसका snapshot लिया जाता है, ताकि `hardener rollback` होस्ट को उसकी पिछली स्थिति में बहाल कर सके। टूल एकल CLI बाइनरी और Tauri तथा Leptos/WASM फ्रंटएंड के साथ निर्मित एक डेस्कटॉप एप्लिकेशन के रूप में आता है। आठ hardening प्लगइन्स कर्नेल पैरामीटर, SSH कॉन्फ़िगरेशन, फ़ायरवॉल नियम, PAM प्रमाणीकरण, सेवा न्यूनीकरण, ऑडिट नियम, फ़ाइल अनुमतियाँ, और MAC प्रणालियों (SELinux/AppArmor) को कवर करते हैं। निष्कर्ष दस compliance frameworks पर मैप किए जाते हैं: CIS, STIG, NIST 800-53, PCI-DSS, HIPAA, GDPR, ISO/IEC 27001:2022, SOC 2, NIST SP 800-171 Rev 3, और FedRAMP। जिन नियंत्रणों का इंजन मूल्यांकन नहीं कर सकता, उन्हें पास मानने के बजाय मैन्युअल समीक्षा की आवश्यकता के रूप में रिपोर्ट किया जाता है। Distribution समर्थन परिवार-आधारित है, जिसमें Debian, Ubuntu, Fedora, RHEL, Arch Linux, और openSUSE शामिल हैं। टूल openSUSE पर `/etc` और `/usr/etc` दोनों परतों को पढ़ता है, और विक्रेता की `Include` पंक्तियों को संरक्षित करने के लिए SSH drop-in कॉन्फ़िगरेशन को संभालता है। `FROM scratch` आधार वाली Docker छवि होस्ट में बदलाव किए बिना read-only ऑडिटिंग सक्षम करती है। मुख्य विशेषताओं में शामिल हैं: Ed25519-हस्ताक्षरित SQLite भंडारण के साथ checkpoint-आधारित rollback, हैश-चेन ऑडिट लॉग, समाप्ति तिथियों वाले policy exceptions, गैर-लागू नियंत्रणों के लिए दायरे के बहिष्करण, daemon या systemd टाइमर के माध्यम से अनुसूचित स्कैनिंग, और SSH पर fleet संचालन समवर्ती बैच स्कैनिंग और apply के साथ। डेस्कटॉप एप्लिकेशन सुरक्षा स्कोर, प्रति-framework compliance दृश्य, गंभीरता-समूहित निष्कर्ष, और staged preview के साथ fleet apply इंटरफ़ेस वाला डैशबोर्ड प्रदान करता है। कॉन्फ़िगरेशन चार स्रोतों से क्रम में लोड होता है: `/etc/linux-hardener/config.toml`, उपयोगकर्ता कॉन्फ़िगरेशन (रूट के अंतर्गत छोड़ा गया), `--config` फ़्लैग, और `HARDENER_*` पर्यावरण चर। टूल `scan` (केवल पढ़ने योग्य, रूट की आवश्यकता नहीं), `apply --dry-run` (परिवर्तनों का पूर्वावलोकन), और `apply` (परिवर्तन निष्पादित) के बीच अंतर करता है। बैच संचालन डिफ़ॉल्ट रूप से dry-run होते हैं और परिवर्तन करने के लिए `--execute` की आवश्यकता होती है। परियोजना में 2343 पासिंग टेस्ट, एक क्रॉस-distribution सुइट शामिल है जो छह बूट किए गए कंटेनरों पर apply और rollback करता है, और एक डिफरेंशियल सुइट जो एक स्वतंत्र oracle के माध्यम से apply से पहले और बाद में होस्ट्स की तुलना करता है। कोडबेस प्लगइन्स, compliance, scheduler, core, state, और distribution detection के लिए डोमेन crates में व्यवस्थित है, साझा foundation crates सामान्य उपयोगिताओं और WASM-safe प्रकारों के लिए।