
यह एक UNIX सुरक्षा ऑडिटिंग उपकरण है जो कई सुरक्षा ढाँचों पर आधारित है।

लॉकडाउन यूनिक्स ऑडिटिंग और रिपोर्टिंग
वर्तमान संस्करण 16.6.1
अधिक अद्यतित संस्करण जानकारी के लिए lunar.sh और CHANGELOG.md देखें
CC BY-NC-SA: https://creativecommons.org/licenses/by-nc-sa/4.0/
यहाँ मुझे फंड करें: https://ko-fi.com/richardatlateralblast
इस कोड को केवल ऑडिट मोड में चलाएँ, जैसे कि -a या --audit स्विच के साथ। लॉकडाउन अपने जोखिम पर चलाएँ। किसी भी सिस्टम परिवर्तन की तरह, बैकअप रखें। मैं रिकवरी मोड को बेहतर बनाने पर काम कर रहा हूँ, लेकिन अभी भी बग हो सकते हैं।
मैंने shellcheck का उपयोग करके इस स्क्रिप्ट को यथासंभव साफ़ करने का प्रयास किया है, और मैंने त्रुटियों से बचाव में मदद के लिए -e (errexit) और -u (nounset) शेल फ़्लैग्स का उपयोग करने का विकल्प सक्षम किया है। -x (xtrace) शेल फ़्लैग को स्क्रिप्ट को -Q या --debug फ़्लैग के साथ चलाकर सक्षम किया जा सकता है।
प्रगति पर:
यह स्क्रिप्ट एक यूनिक्स होस्ट की सुरक्षा की स्कोर वाली ऑडिट रिपोर्ट तैयार करती है। यह CIS और अन्य फ्रेमवर्क पर आधारित है। जहाँ संभव हो, कोड दस्तावेज़ीकरण में CIS और अन्य बेंचमार्क के संदर्भ हैं।
शेल स्क्रिप्ट क्यों? मुझे एक ऐसा टूल चाहिए था जो लॉकडाउन किए गए सिस्टम पर चल सके जहाँ अन्य टूल उपलब्ध न हों। मुझे एक ऐसा टूल भी चाहिए था जो UNIX के सभी संस्करणों पर चले। फिर भी, sh और bash के बीच कुछ अंतर हैं, इसलिए मैंने केवल sh के फ़ंक्शन्स का उपयोग किया है।
इस स्क्रिप्ट के साथ कोई वारंटी निहित या दी गई नहीं है। मेरी सिफारिश है कि इस स्क्रिप्ट का उपयोग केवल ऑडिट मोड में करें, और प्रत्येक चेतावनी को नीति, दस्तावेज़ीकरण और कॉन्फ़िगरेशन प्रबंधन के माध्यम से व्यक्तिगत रूप से संबोधित करें।
मैं किसी भी तरह से कोडर नहीं हूँ, इसलिए इस स्क्रिप्ट में बग और चीज़ों को करने के बेहतर तरीके होने ही हैं, इसलिए उन लोगों को हार्दिक धन्यवाद जिन्होंने कोड में बग/फ़ीचर्स को ठीक करने के लिए फ़ीडबैक, अपडेट और पैच प्रदान किए हैं।
यह लॉकडाउन भी कर सकता है। कुछ अन्य स्क्रिप्ट्स के विपरीत मैंने परिवर्तनों को वापस लेने की क्षमता जोड़ी है। फ़ाइलों का बैकअप cpio का उपयोग करके तारीख पर आधारित निर्देशिका में लिया जाता है।
हालाँकि यह लॉकडाउन कर सकता है, जैसा कि पहले कहा गया है, मैं सुझाव दूँगा कि आप चेतावनियों को नीति, दस्तावेज़ीकरण और कॉन्फ़िगरेशन प्रबंधन के माध्यम से संबोधित करें। मैं इस टूल का उपयोग इसी तरह करता हूँ। AWS Services ऑडिट केवल रिपोर्टिंग का समर्थन करता है, यह लॉकडाउन क्षमता प्रदान नहीं करता।
निम्नलिखित ऑपरेटिंग सिस्टम समर्थित हैं:
Windows समर्थन के लिए अतिरिक्त सॉफ़्टवेयर की स्थापना आवश्यक होगी, इसलिए मैंने इस पर विचार नहीं किया है। फिर भी, भविष्य में bash के माध्यम से Windows समर्थन आ सकता है।
निम्नलिखित सेवाएँ समर्थित हैं:
AWS Services ऑडिट AWS CLI का उपयोग करता है, और इसलिए उचित अधिकारों वाले उपयोगकर्ता की आवश्यकता होती है। यह वर्तमान में लॉकडाउन क्षमता का समर्थन नहीं करता, यह केवल CIS बेंचमार्क के विरुद्ध ऑडिट रिपोर्ट तैयार करने का समर्थन करता है।
कुछ जाँचें ऐसी हैं जो केवल GUI के माध्यम से की या हल की जा सकती हैं। इसका एक उदाहरण बिलिंग सक्षम करना है। अधिक जानकारी के लिए CIS Benchmark देखें।
जहाँ संभव हो मैंने verbose ऑडिट आउटपुट में सुझाए गए फिक्स कमांड डाले हैं। फिर भी कुछ मामलों में, ये केवल CLI द्वारा ही किए जा सकते हैं। अधिक जानकारी के लिए CIS Benchmark देखें।
इसके अतिरिक्त मैंने एक recommendations मोड जोड़ा है जो AWS की जाँच Cloud Conformity जैसी कंपनियों की सार्वजनिक रूप से उपलब्ध सर्वोत्तम प्रथाओं के विरुद्ध करता है।
निम्नलिखित कॉन्फ़िगरेशन प्रबंधन आउटपुट समर्थित है:
यह विकल्प अनुशंसा को लागू करने के लिए उदाहरण ansible कॉन्फ़िगरेशन प्रबंधन कोड/स्टैंज़ा आउटपुट करता है।
UNIX के लिए:
AWS के लिए:
Azure के लिए:
Usage: ./lunar.sh -switch|--switch
switch(es):
-----------
-1|--list)
List changes/backups
-2|--tests)
Print tests
-3|--printfunct)
Print function
-4|--dryrun)
Run in dryrun mode
-6|--format)
Outpt format/type
-7|--file)
Output file
-8|--usesudo)
Use sudo
-9|--checkenv)
Run a selected environment check (for example, shellcheck)
-0|--force)
Force action
-a|--audit)
Run in audit mode (for Operating Systems - no changes made to system)
-A|--fullaudit)
Run in audit mode and include filesystems (for Operating Systems - no changes made to system)
-b|--backups|--listbackups)
List backups
-B|--basedir)
Set base directory
-c|--codename|--distro)
Docker image name, or Multipass release codename
-C|--shell)
Run docker-compose testing suite (drops to shell in order to do more testing)
-d|--dockeraudit)
Run in audit mode (for Docker - no changes made to system)
-D|--dockertests)
List all Docker functions available to selective mode
-e|--host)
Run in audit mode on external host (for Operating Systems - no changes made to system)
-E|--hash|--passwordhash)
Password hash
-f|--action)
Action (e.g delete - used with multipass)
-F|--tempfile)
Temporary file to use for operations
-g|--giturl)
Git URL for code to copy to container
-G|--wheelgroup)
Set wheel group
-h|--help)
Display help
-H|--usage)
Display usage
-i|--anacron)
Enable/Disable anacron
-I|--type)
Audit type
-k|--kubeaudit)
Run in audit mode (for Kubernetes - no changes made to system)
-K|--function|--test)
Do a specific function
-l|--lockdown)
Run in lockdown mode (for Operating Systems - changes made to system)
-L|--fulllockdown|fulllock)
Run in lockdown mode (for Operating Systems - changes made to system)
-m|--machine|--vm)
Set virtualisation type
-M|--workdir)
Set work directory
-n|--ansible)
Output ansible
-N|--nocat)
Do output cat in score
-o|--os|--osver)
Set OS version
-O|--osinfo|--systeminfo)
Print OS/System information
-p|--previous)
Print previous audit information
-P|--sshsandbox|--sandbox)
Enable/Disabe SSH sandbox
-q|--quiet|--nostrict)
Run in quiet mode
-Q|--debug)
Run in debug mode
-r|--awsregion|--region)
Set AWS region
-R|--moduleinfo|--testinfo)
Print information about a module
-s|--select|--check)
Run in selective mode (only run tests you want to)
-S|--unixtests|--unix)
List UNIX tests
-t|--tag|--name)
Set docker tag
-T|--tempdir)
Set temp directoru
-u|--undo)
Undo lockdown (for Operating Systems - changes made to system)
-U|--dofiles)
Include filesystems
-v|--verbose)
Run in verbose mode
-V|--version)
Print version
-w|--awsaudit)
Run in audit mode (for AWS - no changes made to system)
-W|--awstests|--aws)
List all AWS functions available to selective mode
-x|--awsrec)
Run in recommendations mode (for AWS - no changes made to system)
-X|--strict|--shellcheck)
Run shellcheck against script
-z)
Run specified audit function in lockdown mode
-Z|--changes|--listchanges)
List changes
पूर्ण ऑडिट करें (पुनरावर्ती फ़ाइल सिस्टम जाँच के बिना):
./lunar.sh --audit
सूची परीक्षण:
./lunar.sh --tests
AWS परीक्षणों की सूची बनाएं: