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

लॉकडाउन यूनिक्स ऑडिटिंग और रिपोर्टिंग
वर्तमान संस्करण 15.9.1
अधिक अद्यतित संस्करण जानकारी के लिए lunar.sh और changelog देखें
CC BY-SA: https://creativecommons.org/licenses/by-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 सेवाओं का ऑडिट केवल रिपोर्टिंग का समर्थन करता है, यह लॉकडाउन क्षमता प्रदान नहीं करता है।
निम्नलिखित ऑपरेटिंग सिस्टम समर्थित हैं:
Windows समर्थन के लिए अतिरिक्त सॉफ़्टवेयर की स्थापना की आवश्यकता होगी, इसलिए मैंने इस पर विचार नहीं किया है। ऐसा कहने के बाद, भविष्य में bash के माध्यम से Windows समर्थन आ सकता है।
निम्नलिखित सेवाएँ समर्थित हैं:
AWS सेवाओं का ऑडिट AWS CLI का उपयोग करता है, और इस प्रकार उपयुक्त अधिकारों वाले उपयोगकर्ता की आवश्यकता होती है। यह वर्तमान में लॉकडाउन क्षमता का समर्थन नहीं करता है, यह केवल CIS बेंचमार्क के विरुद्ध ऑडिट रिपोर्ट उत्पन्न करने का समर्थन करता है।
कुछ जाँचें ऐसी हैं जो केवल GUI के माध्यम से की या हल की जा सकती हैं। इसका एक उदाहरण बिलिंग सक्षम करना है। अधिक जानकारी के लिए CIS बेंचमार्क देखें।
जहां संभव हो, मैंने वर्बोज़ ऑडिट आउटपुट में सुझाए गए फिक्स कमांड डाले हैं। फिर से कुछ मामलों में, ये केवल CLI द्वारा किए जा सकते हैं। अधिक जानकारी के लिए CIS बेंचमार्क देखें।
इसके अलावा मैंने एक सिफारिशें मोड जोड़ा है जो 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|--shellcheck)
Run shellcheck against script
-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)
Distro/Code name (used with docker/multipass)
-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)
Run shellcheck against script
-z)
Run specified audit function in lockdown mode
-Z|--changes|--listchanges)
List changes
पूर्ण ऑडिट करें (पुनरावर्ती फ़ाइल सिस्टम जाँच के बिना):
./lunar.sh --audit
परीक्षण सूचीबद्ध करें:
./lunar.sh --tests
AWS परीक्षण सूचीबद्ध करें:
./lunar.sh --tests aws
एक विशिष्ट परीक्षण करें:
./lunar.sh --audit --select remote_shell
परीक्षण के लिए Ubuntu 24.04 multipass VM बनाएं:
./lunar.sh --action create --machine multipass --osver 24.04
अधिक जानकारी के लिए विकी देखें:
लूनर स्क्रिप्ट की डीबगिंग के लिए एक सरल परीक्षण ढांचा जोड़ा गया। यह एक कंटेनर शुरू करने, लूनर निर्देशिका को माउंट करने और लूनर चलाने के लिए डॉकर कंपोज़ का उपयोग करता है।