
Linux होस्ट, कंटेनर और Kubernetes में अनुपालन मूल्यांकन और स्वचालित हार्डनिंग के लिए SCAP, Ansible, Bash और CEL सुरक्षा सामग्री उत्पन्न करता है।
इस परियोजना का उद्देश्य विभिन्न प्लेटफार्मों — Red Hat Enterprise Linux, Fedora, Ubuntu, Debian, SUSE Linux Enterprise Server (SLES),... — के साथ-साथ उत्पादों — Firefox,... के लिए सुरक्षा नीति सामग्री बनाना है। हमारा लक्ष्य सभी सामान्यतः उपयोग किए जाने वाले प्रारूपों में नई सुरक्षा सामग्री लिखना और मौजूदा सुरक्षा सामग्री का रखरखाव करना यथासंभव आसान बनाना है।

"SCAP सामग्री" उन दस्तावेज़ों को संदर्भित करती है जो XCCDF, OVAL और SCAP स्रोत डेटा स्ट्रीम प्रारूपों में होते हैं। इन दस्तावेज़ों को विभिन्न संगठनों द्वारा विभिन्न रूपों में प्रस्तुत किया जा सकता है ताकि उनकी सुरक्षा स्वचालन और तकनीकी कार्यान्वयन आवश्यकताओं को पूरा किया जा सके। सामान्य उपयोग के लिए, हम SCAP स्रोत डेटा स्ट्रीम की अनुशंसा करते हैं क्योंकि उनमें मशीनों का मूल्यांकन करने और उन्हें अनुपालन में लाने के लिए आवश्यक सभी डेटा होते हैं। डेटा स्ट्रीम हमारे रिलीज़ ZIP संग्रहों का हिस्सा हैं।
"Ansible सामग्री" सुरक्षा प्रोफ़ाइल से उत्पन्न Ansible प्लेबुक को संदर्भित करती है। इनका उपयोग अनुपालन का मूल्यांकन करने के लिए चेक-मोड और मशीनों को अनुपालन में लाने के लिए रन-मोड दोनों में किया जा सकता है। हम इन्हें Ansible Galaxy के साथ-साथ रिलीज़ ZIP संग्रहों में भी प्रकाशित करते हैं।
"Bash फिक्स फ़ाइलें" सुरक्षा प्रोफ़ाइल से उत्पन्न Bash स्क्रिप्ट को संदर्भित करती हैं। इन्हें मशीनों पर चलाकर उन्हें अनुपालन में लाने के लिए बनाया गया है। हम अन्य प्रारूपों का उपयोग करने की अनुशंसा करते हैं लेकिन समझते हैं कि कुछ परिनियोजन परिदृश्यों के लिए bash ही एकमात्र विकल्प है।
"CEL सामग्री" Kubernetes और OpenShift प्लेटफार्मों के लिए Common Expression Language (CEL) का उपयोग करने वाली अनुपालन सामग्री को संदर्भित करती है। CEL सामग्री YAML फ़ाइलों के रूप में उत्पन्न होती है और compliance-operator के माध्यम से मूल Kubernetes संसाधन मूल्यांकन के लिए डिज़ाइन की गई है, जिसमें नोड्स तक शेल पहुंच की आवश्यकता नहीं होती है। यह प्रारूप कंटेनर ऑर्केस्ट्रेशन प्रणालियों पर प्लेटफ़ॉर्म-स्तरीय अनुपालन जाँच के लिए उपयोग किया जाता है।
हम चाहते हैं कि कई संगठन कुशलतापूर्वक सुरक्षा सामग्री विकसित कर सकें। इस परियोजना की शक्तिशाली बिल्ड प्रणाली का लाभ उठाकर, हम जितना संभव हो उतनी अतिरेकता से बचते हैं।
बिल्ड प्रणाली आसानी से संपादन योग्य YAML नियम फ़ाइलों को OVAL जाँच, Ansible टास्क स्निपेट, Bash फिक्स और अन्य फ़ाइलों के साथ जोड़ती है। बॉयलरप्लेट से बचने के लिए हर चरण में टेम्पलेटिंग प्रदान की जाती है। सुरक्षा पहचानकर्ता (CCE, NIST ID, STIG, ...) हमारे सभी आउटपुट प्रारूपों में दिखाई देते हैं लेकिन सभी YAML नियम फ़ाइलों से प्राप्त होते हैं।
हम समझते हैं कि आपके संगठन की आवश्यकताओं के आधार पर आपको एक विशिष्ट सुरक्षा सामग्री प्रारूप का उपयोग करने की आवश्यकता हो सकती है। हम आपको चुनने देते हैं।
हम इनपुट के लिए OpenControl-प्रेरित YAML नियम प्रारूप का उपयोग करते हैं। एक बार लिखें और XCCDF, Ansible और अन्य में सुरक्षा सामग्री उत्पन्न करें।
title: 'Configure The Number of Allowed Simultaneous Requests'
description: |-
The <tt>MaxKeepAliveRequests</tt> directive should be set and configured to
<sub idref="var_max_keepalive_requests" /> or greater by setting the following
in <tt>/etc/httpd/conf/httpd.conf</tt>:
<pre>MaxKeepAliveRequests {{{ xccdf_value("var_max_keepalive_requests") }}}</pre>
rationale: |-
Resource exhaustion can occur when an unlimited number of concurrent requests
are allowed on a web site, facilitating a denial of service attack. Mitigating
this kind of attack will include limiting the number of concurrent HTTP/HTTPS
requests per IP address and may include, where feasible, limiting parameter
values associated with keepalive, (i.e., a parameter used to limit the amount of
time a connection may be inactive).
severity: medium
identifiers:
cce: "80551-5"
हमारी सुरक्षा सामग्री का उपयोग बेयर-मेटल मशीनों, वर्चुअल मशीनों, वर्चुअल मशीन इमेज (qcow2 और अन्य), कंटेनर (Docker सहित) और कंटेनर इमेज को स्कैन करने के लिए किया जा सकता है।
हम यह पता लगाने के लिए प्लेटफ़ॉर्म जाँच का उपयोग करते हैं कि हमें कुछ नियमों का मूल्यांकन करना चाहिए या नहीं। उदाहरण के लिए: अलग पार्टीशन जाँच बेयर-मेटल मशीनों पर पूरी तरह से उचित हैं लेकिन कंटेनरों पर अनुशंसित प्रथाओं के विरुद्ध जाती हैं।
स्थापना का पसंदीदा तरीका आपके वितरण के पैकेज प्रबंधक के माध्यम से है। Red Hat Enterprise Linux और Fedora पर आप उपयोग कर सकते हैं:
yum install scap-security-guide
Debian (sid) पर, आप उपयोग कर सकते हैं:
apt install ssg-debian # for Debian guides
apt install ssg-debderived # for Debian-based distributions (e.g. Ubuntu) guides
apt install ssg-nondebian # for other distributions guides (RHEL, Fedora, etc.)
apt install ssg-applications # for application-oriented guides (Firefox, JBoss, etc.)
रिलीज़ पृष्ठ से पूर्व-निर्मित SSG zip संग्रह डाउनलोड करें। प्रत्येक zip फ़ाइल तैयार SCAP स्रोत डेटा स्ट्रीम वाला एक संग्रह है।
यदि ComplianceAsCode आपके वितरण में पैकेज नहीं है (यह वहाँ scap-security-guide पैकेज के रूप में मौजूद हो सकता है), या यदि पैकेज किया गया संस्करण बहुत पुराना है, तो आपको सामग्री स्वयं बनानी होगी और इसे make install के माध्यम से स्थापित करना होगा। अधिक जानकारी के लिए कृपया डेवलपर गाइड दस्तावेज़ देखें। हम रुचि व्यक्त करने के लिए उस वितरण के बग ट्रैकर पर एक मुद्दा खोलने की भी अनुशंसा करते हैं।
हम मानते हैं कि आपने पिछले अनुभाग में दिए निर्देशों के अनुसार वर्तमान अपस्ट्रीम स्रोतों से ComplianceAsCode को मानक स्थान पर सिस्टम-व्यापी रूप से स्थापित किया है।
ComplianceAsCode सामग्री का उपयोग करने के कई तरीके हैं, हम यहाँ उनमें से केवल कुछ पर चर्चा करेंगे।
oscap उपकरणoscap उपकरण एक निम्न-स्तरीय कमांड लाइन इंटरफ़ेस है जो OpenSCAP परियोजना से आता है। इसका उपयोग स्थानीय मशीन को स्कैन करने के लिए किया जा सकता है।
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_ospp --results-arf arf.xml --report report.html --oval-results /usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
मूल्यांकन के बाद, arf.xml फ़ाइल में सभी परिणाम पुन: उपयोग योग्य परिणाम डेटा स्ट्रीम (ARF) प्रारूप में होंगे, report.html में एक मानव-पठनीय रिपोर्ट होगी जिसे ब्राउज़र में खोला जा सकता है।
प्रोफ़ाइल को अपनी पसंद की अन्य प्रोफ़ाइल से बदलें, आप सभी संभावित विकल्पों को इसका उपयोग करके प्रदर्शित कर सकते हैं:
oscap info /usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
अधिक जानकारी के लिए कृपया OpenSCAP वेबसाइट देखें।
SCAP Workbench SCAP मूल्यांकन और अनुकूलन के लिए एक ग्राफिकल यूज़र इंटरफ़ेस है। यह एकल मशीन को स्कैन करने के लिए उपयुक्त है, चाहे वह स्थानीय हो या दूरस्थ (SSH के माध्यम से)। SCAP Workbench के नए संस्करणों में SSG एकीकरण है और एप्लिकेशन प्रारंभ होने पर वे स्वचालित रूप से इसे पेश करेंगे।
अधिक जानकारी के लिए कृपया SCAP Workbench वेबसाइट देखें।
oscap-ssh उपकरणoscap-ssh OpenSCAP 1.2.3 और बाद के संस्करणों के साथ बंडल किया जाता है। यह oscap उपकरण जैसा इंटरफ़ेस के साथ SSH के माध्यम से दूरस्थ मशीन को स्कैन करने की अनुमति देता है।
निम्न कमांड स्थानीय मशीन पर संग्रहीत सामग्री के साथ IP 192.168.1.123 वाली मशीन का मूल्यांकन करता है। ध्यान रखें कि oscap दूरस्थ मशीन पर स्थापित होना चाहिए लेकिन SSG सामग्री स्थापित होने की आवश्यकता नहीं है।
oscap-ssh [email protected] 22 xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results-arf arf.xml --report report.html /usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml
उपलब्ध Ansible प्लेबुक की सूची देखने के लिए, चलाएँ:
ls /usr/share/scap-security-guide/ansible/
ये Ansible प्लेबुक उत्पादों के लिए उपलब्ध SCAP प्रोफ़ाइल से उत्पन्न होते हैं।
अपनी स्थानीय मशीन पर प्लेबुक लागू करने के लिए चलाएँ: (यह मशीन का कॉन्फ़िगरेशन बदल देगा!)
ansible-playbook -i "localhost," -c local /usr/share/scap-security-guide/ansible/rhel9-playbook-ospp.yml
प्रत्येक Ansible प्लेबुक में उन्हें परिनियोजित करने के निर्देश होते हैं। यहाँ निर्देशों का एक अंश है:
...
# This file was generated by OpenSCAP 1.2.16 using:
# $ oscap xccdf generate fix --profile rht-ccp --fix-type ansible sds.xml
#
# This script is generated from an OpenSCAP profile without preliminary evaluation.
# It attempts to fix every selected rule, even if the system is already compliant.
#
# How to apply this remediation role:
# $ ansible-playbook -i "192.168.1.155," playbook.yml
# $ ansible-playbook -i inventory.ini playbook.yml
...
उपलब्ध Bash स्क्रिप्ट की सूची देखने के लिए, चलाएँ:
# ls /usr/share/scap-security-guide/bash/
...
rhel8-script-hipaa.sh
rhel8-script-ospp.sh
rhel8-script-pci-dss.sh
...
ये Bash स्क्रिप्ट उत्पादों के लिए उपलब्ध SCAP प्रोफ़ाइल से उत्पन्न होते हैं। Ansible प्लेबुक के समान, प्रत्येक Bash स्क्रिप्ट में उन्हें परिनियोजित करने के निर्देश होते हैं।
SSG मेलिंग सूची https://lists.fedorahosted.org/mailman/listinfo/scap-security-guide पर पाई जा सकती है।
यदि आपको OpenSCAP या SCAP Workbench के साथ समस्याएँ आती हैं, तो https://www.redhat.com/mailman/listinfo/open-scap-list का उपयोग करें
यदि आप समुदाय के साथ अधिक इंटरैक्टिव संपर्क पसंद करते हैं, तो आप Gitter और IRC पर हमसे जुड़ सकते हैं:
libera.chat पर #openscap IRC चैनल से जुड़ें।यह परियोजना 2011 में संयुक्त राज्य सरकारी एजेंसियों और वाणिज्यिक ऑपरेटिंग सिस्टम विक्रेताओं के बीच एक सहयोग के रूप में शुरू हुई। मूल नाम SCAP Security Guide था, जिसे आमतौर पर SSG के रूप में संक्षिप्त किया जाता है। मूल दायरा SCAP डेटा स्ट्रीम बनाना था। समय के साथ, यह SCAP से परे सबसे बड़ी ओपन-सोर्स सामग्री परियोजना बन गई।
अगले कुछ वर्षों में न केवल सरकार-विशिष्ट सुरक्षा प्रोफ़ाइल बल्कि वाणिज्यिक, जैसे PCI-DSS और CIS की शुरुआत हुई।
बाद में, उद्योग Ansible, Puppet और Chef InSpec जैसे विभिन्न सुरक्षा सामग्री प्रारूपों की ओर बढ़ने लगा। समुदाय ने टूलिंग को विकसित करके प्रतिक्रिया दी और SSG को एक अधिक सामान्य-उद्देश्यीय सुरक्षा सामग्री परियोजना में बदलने में मदद की। यह परिवर्तन 2017 और 2018 में समय के साथ हुआ। सितंबर 2018 में, हमने भ्रम से बचने के लिए परियोजना का नाम बदलकर ComplianceAsCode करने का निर्णय लिया।
हम कल्पना करते हैं कि भविष्य प्रारूप-अज्ञेयवादी होगा। इसीलिए हमने इनपुट प्रारूप के लिए XCCDF का उपयोग करने के बजाय एक अमूर्तता (abstraction) को चुना।
यह परियोजना नए योगदानकर्ताओं का स्वागत करती है। हम सभी के लिए योगदान को आसान और अधिक आनंददायक बनाने के लिए जटिलताओं को दूर करने का निरंतर प्रयास कर रहे हैं। यह एक अच्छी परियोजना और एक मैत्रीपूर्ण समुदाय है।
योगदान करने के कई तरीके हैं। अधिक विवरण के लिए प्रलेखन देखें: https://complianceascode.readthedocs.io/en/latest/manual/developer/01_introduction.html
योगदानकर्ताओं की अद्यतन सूची देखें।