
सुदृढ़ 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 (उच्चतम स्तर) पर सेट किया जाता है, तो आपको निम्नलिखित करने की आवश्यकता है:
# sed -i '/^[^#].*pam_wheel.so.*/s/^/# &/' /etc/pam.d/su
pam_wheel.so वाली लाइन को अस्थायी रूप से कमेंट करें। su कमांड का उपयोग करने के बाद, कृपया लाइन को अनकमेंट करें।
# echo "ALL: 192.168.1. 192.168.5." >> /etc/hosts.allow
यह उदाहरण केवल 192.168.1.[1-255] 192.168.5.[1-255] को इस सिस्टम तक पहुँचने की अनुमति देता है। अपनी स्थिति के अनुसार कॉन्फ़िगर करने की आवश्यकता है।
# sed -i "/^root/a\test ALL=(ALL:ALL) ALL" /etc/sudoers
etc.iptables.rules.v4.sh पहले iptables-persistent पैकेज स्थापित करें, फिर निम्नलिखित करें:
$ INTERFACENAME="your network interfacename(Example eth0)"
# bash docs/configurations/etc.iptables.rules.v4.sh $INTERFACENAME
# iptables-save > /etc/iptables/rules.v4
# ip6tables-save > /etc/iptables/rules.v6
nftables.conf निम्नलिखित करें (आपका नेटवर्क इंटरफ़ेस नाम (उदाहरण eth0)):
$ sed -i 's/^define int_if = ens33/define int_if = eth0/g' etc.nftables.conf
# nft -f ./etc.nftables.conf
# bin/hardening.sh --final
कुछ जाँच आइटम विभिन्न स्थितियों की जाँच करते हैं और एक-दूसरे पर निर्भर होते हैं, उन्हें कई बार लागू (फिक्स) किया जाना चाहिए, और प्रत्येक आवेदन (फिक्स) के बाद OS को रिबूट किया जाना चाहिए।
8.1.35 क्योंकि यह आइटम सेट किया गया है, ऑडिट नियम नहीं जोड़े जाएंगे।
8.4.1 8.4.2 ये सभी aide से संबंधित हैं। सिस्टम में डेटाबेस की अखंडता को ठीक करने के लिए सभी आइटम ठीक होने के बाद उन्हें ठीक करना सबसे अच्छा है।
4.5
स्रोत प्राप्त करना
$ git clone https://github.com/hardenedlinux/harbian-audit.git
एक कस्टम हार्डनिंग स्क्रिप्ट जोड़ना
$ cp src/skel bin/hardening/99.99_custom_script.sh
$ chmod +x bin/hardening/99.99_custom_script.sh
$ cp src/skel.cfg etc/conf.d/99.99_custom_script.cfg
अपने चेक को कोड करें, यह बताते हुए कि यह क्या करता है, फिर यदि आप परीक्षण करना चाहते हैं
$ sed -i "s/status=.+/status=enabled/" etc/conf.d/99.99_custom_script.cfg
$ bash bin/hardening.sh --audit --only 99.99
$ bash bin/hardening.sh --apply --only 99.99
यह दस्तावेज़ उन अनुभागों के अतिरिक्त विवरण का वर्णन है जो CIS संदर्भ दस्तावेज़ में शामिल नहीं हैं। इसमें STIG संदर्भ दस्तावेज़ और HardenedLinux समुदाय द्वारा अनुशंसित अतिरिक्त जाँच शामिल हैं।
CIS Debian GNU/Linux 8 Benchmark v1.0.0 CIS Debian GNU/Linux 9 Benchmark v1.0.0 harbian audit Debian Linux 9 Benchmark
How to config grub2 password protection How to persistent iptables rules with debian 9 How to deploy audisp-remote for auditd log How to migrating from iptables to nftables in debian10 How to persistent nft rules with debian 10 How to fix SELinux access denied
Nodejs + redis + mysql demo deploy-hyperledger-cello-on-debian-9 nginx-mutual-ssl-proxy-http nginx-mutual-ssl-proxy-tcp-udp
how to creating and making an AMI public how to use harbian-audit complianced for GNU/Linux Debian 9
How to creating and making a QEMU image of harbian-audit complianced Debian GNU/Linux 9 How to use QEMU image of harbian-audit complicanced Debian GNU/Linux 9
GPL 3.0
यह प्रोजेक्ट टूल का एक सेट है। वे सिस्टम प्रशासक को एक सुरक्षित वातावरण बनाने में मदद करने के लिए हैं। जबकि हम OVH में अपने PCI-DSS अनुपालन बुनियादी ढांचे को हार्डन करने के लिए इसका उपयोग करते हैं, हम गारंटी नहीं दे सकते कि यह आपके लिए काम करेगा। यह किसी भी यादृच्छिक होस्ट को जादुई रूप से सुरक्षित नहीं करेगा।
इसके अतिरिक्त, लाइसेंस को उद्धृत करते हुए:
THIS SOFTWARE IS PROVIDED BY OVH SAS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OVH SAS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3-क्लॉज़ BSD