
सुदृढ़ Debian GNU/Linux वितरण ऑडिटिंग
हार्डन्ड डेबियन GNU/Linux और CentOS 8 वितरण का ऑडिटिंग।
मुख्य परीक्षण वातावरण डेबियन GNU/Linux 9/10/11/12/13 और CentOS 8 और Ubuntu 22 में है, और अन्य संस्करणों का पूरी तरह से परीक्षण नहीं किया गया है। इस रिलीज़ में डेस्कटॉप से संबंधित आइटम के कोई कार्यान्वयन नहीं हैं।
कोड फ्रेमवर्क OVH-debian-cis प्रोजेक्ट पर आधारित है, मूल कार्यान्वयन में से कुछ को डेबियन 9/10/11/12/13 और CentOS 8 की विशेषताओं के अनुसार संशोधित किया गया, STIG Red_Hat_Enterprise_Linux_7_V2R5, STIG Ubuntu V1R2 और cisecurity.org की सिफारिशों के लिए जाँच आइटम जोड़े और कार्यान्वित किए, और HardenedLinux समुदाय द्वारा कुछ जाँच आइटम भी जोड़े और कार्यान्वित किए गए। बुनियादी ढांचे की ऑडिट और आवेदन कार्यों को लागू किया गया है, और उन आइटमों के लिए स्वचालित फिक्स फ़ंक्शन लागू किया गया है जिन्हें स्वचालित रूप से ठीक किया जा सकता है।
# bash bin/hardening.sh --audit-all
[...]
hardening [INFO] Treating /home/test/harbian-audit/bin/hardening/13.15_check_duplicate_gid.sh
13.15_check_duplicate_gid [INFO] Working on 13.15_check_duplicate_gid
13.15_check_duplicate_gid [INFO] Checking Configuration
13.15_check_duplicate_gid [INFO] Performing audit
13.15_check_duplicate_gid [ OK ] No duplicate GIDs
13.15_check_duplicate_gid [ OK ] Check Passed
[...]
################### SUMMARY ###################
Total Available Checks : 271
Total Checks Run : 271
Total Passed Checks : [ 226/271 ]
Total Failed Checks : [ 44/271 ]
Enabled Checks Percentage : 100.00 %
Conformity Percentage : 83.39 %
$ git clone https://github.com/hardenedlinux/harbian-audit.git && cd harbian-audit
# cp etc/default.cfg /etc/default/cis-hardening
# sed -i "s#CIS_ROOT_DIR=.*#CIS_ROOT_DIR='$(pwd)'#" /etc/default/cis-hardening
# bin/hardening.sh --init
# bin/hardening.sh --audit-all
hardening [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates [INFO] Working on 1.1_install_updates
1.1_install_updates [INFO] Checking Configuration
1.1_install_updates [INFO] Performing audit
1.1_install_updates [INFO] Checking if apt needs an update
1.1_install_updates [INFO] Fetching upgrades ...
1.1_install_updates [ OK ] No upgrades available
1.1_install_updates [ OK ] Check Passed
[...]
################### SUMMARY ###################
Total Available Checks : 284
Total Checks Run : 284
Total Passed Checks : [ 260/284 ]
Total Failed Checks : [ 24/284 ]
Enabled Checks Percentage : 100.00 %
Conformity Percentage : 91.55 %
# bin/hardening.sh --set-hardening-level 5
# bin/hardening.sh --apply
hardening [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates [INFO] Working on 1.1_install_updates
1.1_install_updates [INFO] Checking Configuration
1.1_install_updates [INFO] Performing audit
1.1_install_updates [INFO] Checking if apt needs an update
1.1_install_updates [INFO] Fetching upgrades ...
1.1_install_updates [ OK ] No upgrades available
1.1_install_updates [INFO] Applying Hardening
1.1_install_updates [ OK ] No Upgrades to apply
1.1_install_updates [ OK ] Check Passed
[...]
यदि न्यूनतम CD से नेटवर्क इंस्टॉल का उपयोग करके Debian GNU/Linux स्थापित किया गया है, तो हार्डनिंग टूल का उपयोग करने से पहले पैकेज स्थापित करने की आवश्यकता है।
# apt-get install -y bc net-tools pciutils network-manager
Redhat/CentOS को हार्डनिंग टूल का उपयोग करने से पहले पैकेज स्थापित करने की आवश्यकता है:
# yum install -y bc net-tools pciutils NetworkManager epel-release
हार्डनिंग से पहले सभी उपयोगकर्ताओं के लिए पासवर्ड सेट करना अनिवार्य है। अन्यथा, हार्डनिंग पूरा होने के बाद आप लॉग इन नहीं कर पाएंगे। उदाहरण (OS उपयोगकर्ता: root और test):
# passwd
# passwd test
हार्डनिंग स्क्रिप्ट bin/hardening में हैं। प्रत्येक स्क्रिप्ट का etc/conf.d/[script_name].cfg में एक संबंधित कॉन्फ़िगरेशन फ़ाइल होती है।
प्रत्येक हार्डनिंग स्क्रिप्ट को उसकी कॉन्फ़िगरेशन फ़ाइल से व्यक्तिगत रूप से सक्षम किया जा सकता है। उदाहरण के लिए, यह disable_system_accounts के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल है:
# Configuration for script of same name
status=disabled
# Put here your exceptions concerning admin accounts shells separated by spaces
EXCEPTIONS=""
status पैरामीटर 3 मान ले सकता है:
disabled (कुछ न करें): स्क्रिप्ट नहीं चलेगी।audit (केवल पढ़ने के लिए): स्क्रिप्ट जाँच करेगी कि कोई परिवर्तन लागू किया जाना चाहिए या नहीं।enabled (पढ़ने-लिखने के लिए): स्क्रिप्ट जाँच करेगी कि कोई परिवर्तन किया जाना चाहिए और जो भी संभव हो, स्वचालित रूप से लागू करेगी।आप कॉन्फ़िगरेशन आइटम को स्तर संशोधित करके सक्षम करने के लिए सेट कर सकते हैं, निम्नलिखित कमांड:
# bash bin/hardening.sh --audit-all
# bash bin/hardening.sh --set-hardening-level <level>
वैश्विक कॉन्फ़िगरेशन etc/hardening.cfg में है। यह फ़ाइल लॉग स्तर के साथ-साथ बैकअप निर्देशिका को नियंत्रित करती है। जब भी किसी स्क्रिप्ट को किसी फ़ाइल को संपादित करने का निर्देश दिया जाता है, तो वह इस निर्देशिका में एक टाइमस्टैम्प्ड बैकअप बनाएगी।
जाँच चलाने और फिक्स लागू करने के लिए, bin/hardening.sh चलाएँ।
इस कमांड के 2 मुख्य संचालन मोड हैं:
--audit: सभी सक्षम और ऑडिट मोड स्क्रिप्ट के साथ अपने सिस्टम का ऑडिट करें--apply: सभी सक्षम और ऑडिट मोड स्क्रिप्ट के साथ अपने सिस्टम का ऑडिट करें और सक्षम स्क्रिप्ट के लिए परिवर्तन लागू करेंइसके अतिरिक्त, --audit-all का उपयोग सभी ऑडिटिंग स्क्रिप्ट को चलाने के लिए किया जा सकता है, जिसमें अक्षम स्क्रिप्ट भी शामिल हैं। यह सिस्टम को नहीं बदलेगा।
--audit-all-enable-passed का उपयोग आपके कॉन्फ़िगरेशन को त्वरित रूप से शुरू करने के तरीके के रूप में किया जा सकता है। यह ऑडिट मोड में सभी स्क्रिप्ट चलाएगा। यदि कोई स्क्रिप्ट पास हो जाती है, तो यह भविष्य के रन के लिए स्वचालित रूप से सक्षम हो जाएगी। यदि आपने पहले से ही अपने कॉन्फ़िगरेशन को अनुकूलित करना शुरू कर दिया है तो इस विकल्प का उपयोग न करें।
अपने OS को हार्डन करने के लिए कमांड का उपयोग करें:
# bash bin/hardening.sh --apply
यदि rsyslog का उपयोग किया जाता है, और आप harbian-audit लॉग को एक अलग लॉग फ़ाइल में प्रिंट करना चाहते हैं, तो कॉन्फ़िगरेशन इस प्रकार है:
user.info /var/log/harbian-audit.log
user.* -/var/log/user.log
लॉग फ़ाइल /var/log/harbian-audit.log पर आउटपुट होगा।
यदि आप docs/configurations/etc.iptables.rules.v4.sh को अपने फ़ायरवॉल नियमों पर लागू करते हैं, और iptables लॉग को एक अलग लॉग फ़ाइल में प्रिंट करना चाहते हैं, तो rsyslog.conf में निम्नलिखित पंक्तियाँ डालें:
:msg,contains,"FW-" -/var/log/firewalllog.log
& stop
जब exec --apply और set-hardening-level को 5 (उच्चतम स्तर) पर सेट किया जाता है, तो आपको निम्नलिखित करने की आवश्यकता है: