
लिनक्स कर्नेल के सुरक्षा सख्तीकरण विकल्पों की जाँच करने का एक उपकरण
(पूर्व में kconfig-hardened-check)
लिनक्स कर्नेल के लिए सुरक्षा सख्तीकरण (hardening) के बहुत सारे विकल्प हैं। उनमें से कई प्रमुख डिस्ट्रो द्वारा सक्षम नहीं किए जाते हैं। हमें अपने सिस्टम को अधिक सुरक्षित बनाने के लिए इन विकल्पों को स्वयं सक्षम करना होता है।
लेकिन कोई भी मैन्युअल रूप से कॉन्फ़िगरेशन जांचना पसंद नहीं करता। तो चलिए कंप्यूटर को अपना काम करने दें!
kernel-hardening-checker (पहले kconfig-hardened-check) लिनक्स कर्नेल के सुरक्षा सख्तीकरण विकल्पों की जाँच के लिए एक उपकरण है।
लाइसेंस: GPL-3.0.
kernel-hardening-checker जाँच का समर्थन करता है:
समर्थित आर्किटेक्चर:
सुरक्षा सख्तीकरण अनुशंसाएँ निम्नलिखित पर आधारित हैं:
मैंने [Linux Kernel Defence Map][4] भी बनाया है, जो सुरक्षा सख्तीकरण सुविधाओं और संबंधित भेद्यता वर्गों या शोषण तकनीकों के बीच संबंधों का एक ग्राफिकल प्रतिनिधित्व है।
कृपया ध्यान दें कि लिनक्स कर्नेल सुरक्षा मापदंडों को बदलने से सिस्टम प्रदर्शन और उपयोगकर्ता स्थान सॉफ़्टवेयर की कार्यक्षमता भी प्रभावित हो सकती है। इसलिए, इन मापदंडों को सेट करते समय, अपने लिनक्स-आधारित सूचना प्रणाली के खतरे मॉडल पर विचार करें और इसके विशिष्ट कार्यभार का पूरी तरह से परीक्षण करें।
कई विकल्प हैं:
आप इस Git रिपॉजिटरी से pip का उपयोग करके पैकेज स्थापित कर सकते हैं:
python3 -m pip install git+https://github.com/a13xp0p0v/kernel-hardening-checker
यदि आपको बाहरी रूप से प्रबंधित वातावरण के कारण कोई त्रुटि आती है, तो python3 -m venv का उपयोग करके एक वर्चुअल वातावरण बनाएँ।
आप कुछ GNU/Linux वितरणों पर पैकेज प्रबंधक के माध्यम से kernel-hardening-checker पैकेज स्थापित कर सकते हैं। देखें https://repology.org/project/kernel-hardening-checker/versions
वैकल्पिक रूप से, आप स्थापना के बिना क्लोन किए गए रिपॉजिटरी से ./bin/kernel-hardening-checker को चला सकते हैं।
$ ./bin/kernel-hardening-checker -h usage: kernel-hardening-checker [-h] [--version] [-m {verbose,json,show_ok,show_fail}] [-a] [-c CONFIG] [-v KERNEL_VERSION] [-l CMDLINE] [-s SYSCTL] [-p {X86_64,X86_32,ARM64,ARM,RISCV}] [-g {X86_64,X86_32,ARM64,ARM,RISCV}]
A tool for checking the security hardening options of the Linux kernel
options: -h, --help show this help message and exit --version show program's version number and exit -m, --mode {verbose,json,show_ok,show_fail} select a special output mode instead of the default one -a, --autodetect autodetect and check the security hardening options of the running kernel -c, --config CONFIG check the security hardening options in a Kconfig file (also supports *.gz files) -v, --kernel-version KERNEL_VERSION extract the kernel version from a version file (such as /proc/version) instead of using a Kconfig file -l, --cmdline CMDLINE check the security hardening options in a kernel command line file (such as /proc/cmdline) -s, --sysctl SYSCTL check the security hardening options in a sysctl output file (the result of "sudo sysctl -a > file") -p, --print {X86_64,X86_32,ARM64,ARM,RISCV} print security hardening recommendations for the selected architecture -g, --generate {X86_64,X86_32,ARM64,ARM,RISCV} generate a Kconfig fragment containing the security hardening options for the selected architecture
## आउटपुट मोड
- डिफ़ॉल्ट आउटपुट मोड के लिए कोई `-m` तर्क नहीं (नीचे उदाहरण देखें)
- `-m verbose` अतिरिक्त जानकारी प्रिंट करने के लिए:
- बिना संबंधित जाँच के कॉन्फ़िगरेशन विकल्प
- AND/OR के साथ जटिल जाँचों की आंतरिक कार्यप्रणाली, जैसे:
```
-------------------------------------------------------------------------------------------
<<< OR >>>
CONFIG_STRICT_DEVMEM |kconfig|cut_attack_surface|defconfig | y
CONFIG_DEVMEM |kconfig|cut_attack_surface| kspp | is not set
-------------------------------------------------------------------------------------------
```
- `-m json` JSON प्रारूप में परिणाम प्रिंट करने के लिए (अन्य उपकरणों के साथ `kernel-hardening-checker` को संयोजित करने के लिए)
- `-m show_ok` केवल सफल जाँच दिखाने के लिए
- `-m show_fail` केवल असफल जाँच दिखाने के लिए