
يولّد محتوى أمنيًا لـ SCAP وAnsible وBash وCEL لتقييم الامتثال والتحصين الآلي عبر مضيفات Linux والحاويات وKubernetes.
الغرض من هذا المشروع هو إنشاء محتوى سياسات أمنية لمنصات متعددة — Red Hat Enterprise Linux، Fedora، Ubuntu، Debian، SUSE Linux Enterprise Server (SLES)،... — بالإضافة إلى منتجات — Firefox،... نهدف إلى جعل كتابة محتوى أمني جديد وصيانة المحتوى الأمني الحالي بأسهل ما يمكن في جميع الصيغ الشائعة الاستخدام.

"محتوى SCAP" يشير إلى المستندات بصيغ XCCDF وOVAL و SCAP source data stream. يمكن تقديم هذه المستندات بأشكال مختلفة ومن قِبل منظمات مختلفة لتلبية احتياجاتها من أتمتة الأمان والتنفيذ الفني. للاستخدام العام، نوصي باستخدام SCAP source data streams لأنها تحتوي على جميع البيانات التي تحتاجها لتقييم الأجهزة ووضعها في حالة امتثال. تُعدّ تدفقات البيانات جزءًا من أرشيفات ZIP الخاصة بإصداراتنا.
"محتوى Ansible" يشير إلى قوائم تشغيل Ansible المُولّدة من الملفات الشخصية الأمنية. يمكن استخدامها في وضع الفحص (check-mode) لتقييم الامتثال، وكذلك في وضع التشغيل لوضع الأجهزة في حالة امتثال. ننشر هذه القوائم على Ansible Galaxy وكذلك في أرشيفات ZIP الخاصة بالإصدارات.
"ملفات إصلاح Bash" تشير إلى نصوص Bash المُولّدة من الملفات الشخصية الأمنية. صُمّمت لتُشغَّل على الأجهزة لوضعها في حالة امتثال. نوصي باستخدام صيغ أخرى لكننا نتفهم أنه في بعض سيناريوهات النشر، يكون Bash هو الخيار الوحيد.
"محتوى CEL" يشير إلى محتوى الامتثال باستخدام لغة التعبير الشائعة (Common Expression Language - CEL) لمنصات Kubernetes وOpenShift. يُولَّد محتوى CEL كملفات YAML وهو مصمم لتقييم موارد Kubernetes الأصلية عبر مشغّل الامتثال (compliance-operator)، دون الحاجة إلى وصول شل إلى العقد. تُستخدم هذه الصيغة لفحوصات الامتثال على مستوى المنصة في أنظمة تنسيق الحاويات.
نريد أن تكون المنظمات المتعددة قادرة على تطوير المحتوى الأمني بكفاءة. ومن خلال الاستفادة من نظام البناء القوي لهذا المشروع، نتجنب أكبر قدر ممكن من التكرار.
يجمع نظام البناء بين ملفات قواعد YAML سهلة التحرير مع فحوصات OVAL، ومقتطفات مهام Ansible، وإصلاحات Bash، وملفات أخرى. تُوفَّر القوالب في كل خطوة لتجنب الكود المتكرر. المعرفات الأمنية (CCE, NIST ID, STIG, ...) تظهر في جميع صيغ الإخراج لدينا لكنها جميعًا مصدرها ملفات قواعد YAML.
نحن نتفهم أنه اعتمادًا على احتياجات مؤسستك، قد تحتاج إلى استخدام صيغة محددة لمحتوى الأمن. نترك لك الاختيار.
نستخدم صيغة قواعد YAML المستوحاة من OpenControl للإدخال. اكتب مرة واحدة و ولّد محتوى أمنيًا بصيغ 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"
يمكن استخدام محتوانا الأمني لفحص الأجهزة الفعلية (bare-metal)، والآلات الافتراضية، وصور الآلات الافتراضية (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 على جميع النتائج بصيغة
result data stream (ARF) قابلة لإعادة الاستخدام، وسيحتوي report.html على تقرير
قابل للقراءة البشرية يمكن فتحه في متصفح.
استبدل الملف الشخصي بملف شخصي آخر من اختيارك، يمكنك عرض جميع الخيارات الممكنة باستخدام: