OpenSCAP Configuration for Linux Compliance: Audit, Remediation, CI/CD
כשהדרישה ל"עמידה ב-CIS Level 2" מגיעה, בדיקה ידנית של כל שרת יכולה לקחת שבועות. OpenSCAP פותר את זה: ריצה אחת מפיקה דוח HTML/XML רשמי עם pass/fail לכל כלל, שמקובל על מבקרים כראיה. במשך 5 שנים ויותר מ-50 ביקורות ציות, למדנו להפוך דוחות מבקרים לתהליכי עבודה.
OpenSCAP הוא מסגרת קוד פתוח לבדיקה אוטומטית של מערכות Linux מול תקני אבטחה. הוא משתמש ב-SCAP Security Guide (SSG), אוסף של פרופילים עם אלפי כללים. ללא כלי כזה, ביקורות ציות הופכות לטחינה: מהנדסים בודקים ידנית עשרות הגדרות, מפספסים עד 30% מהשגיאות, ומבזבזים ימים על הרכבת דוח אחד.
אנחנו מגדירים את OpenSCAP עבור התשתית שלך: פרופילים רשמיים של CIS, DISA STIG ו-PCI DSS, תיקון אוטומטי דרך Ansible, ואינטגרציית CI/CD. התוצאה היא שער אוטומטי שחוסם קוד או תמונות שאינם תואמים.
איך OpenSCAP הופך ציות לאוטומטי
OpenSCAP מטפל בכל העבודה המייגעת. אחרי הריצה הראשונה, מקבלים דוח HTML ממוין לפי קטגוריה (רמות קריטיות, אחוז מעבר). המערכת מייצרת המלצות תיקון, עד ל-playbooks מוכנים של Ansible. זה מצמצם את זמן בדיקת שרת בודד מ-2–3 שעות ל-2–5 דקות.
חיסכון בזמן: עם 50 שרתים בתשתית, בדיקה ידנית לוקחת כשעתיים לכל אחד. OpenSCAP מסיים ב-2–3 דקות. בשכר שעתי של מהנדס DevOps של ~$80–$100, חוסכים מעל $4,000–$5,000 לכל מחזור ביקורת. ובדיקות כאלה נדרשות בדרך כלל רבעונית.
בעיות שאנחנו פותרים
בדיקה ידנית של 500+ כללים. ה-CIS Benchmark עבור RHEL 9 מכיל מעל 500 כללים. אנשים מפספסים 10–15% — זו עובדה. OpenSCAP בודק הכל אוטומטית.
דוחות מפוזרים. ללא כלי אחיד, מצב הציות מפוזר בין ויקי, גיליונות אלקטרוניים וצילומי מסך. OpenSCAP נותן דוח יחיד ב-HTML ו-XML.
תיקון שאינו אידמפוטנטי. תיקון ידני של הפרות מוביל לסטייה. OpenSCAP מייצר playbooks של Ansible שניתן להפעיל מחדש.
דוגמת קובץ tailoring
<!-- custom-tailoring.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<Tailoring xmlns="http://checklists.nist.gov/xccdf/1.2" id="xccdf_custom_tailoring_001">
<Profile id="xccdf_custom_cis_tailored" extends="xccdf_org.ssgproject.content_profile_cis_server_l1">
<title>CIS L1 tailored for app servers</title>
<select idref="xccdf_org.ssgproject.content_rule_mount_option_nodev_nonroot_local_partitions" selected="false"/>
<set-value idref="xccdf_org.ssgproject.content_value_var_sshd_set_keepalive">6</set-value>
</Profile>
</Tailoring> איך אנחנו עושים את זה: תשתית ותצורה
אנחנו משתמשים בגרסאות עדכניות: OpenSCAP 1.3+, SCAP Security Guide 0.1.66+ (ComplianceAsCode), Ansible Core 2.15+. דוגמת פרופיל טיפוסי עבור RHEL 9:
yum install openscap-scanner scap-security-guide
oscap info /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml | grep "Profile"המידע מעודכן עבור גרסת SCAP Security Guide 0.1.66+.
מה אנחנו מספקים
| רכיב | תיאור |
|---|---|
| סורק SCAP | התקנה ותצורה של OpenSCAP על שרתי היעד |
| קובץ tailoring | פרופיל מותאם אישית לארכיטקטורה שלך עם נימוק לחריגות |
| Playbook תיקון של Ansible | תיקון אוטומטי של הפרות |
| אינטגרציית CI/CD | שערים ב-Jenkins/GitLab CI/GitHub Actions |
| תיעוד | Runbook, תיאור תהליך, ראיות לביקורת |
מה פרופילי tailoring נותנים לך
קובץ tailoring מאפשר לכבות כללים לא רלוונטיים (למשל, NFS אם אינו קיים) ולהתאים פרמטרים (timeout של SSH). נהלו אותו ב-Git — המבקר רואה כל פריט עם נימוק. ללא tailoring, מבזבזים זמן על ניתוח כללים שלא חלים על הסביבה שלך.
יתרונות OpenSCAP על פני בדיקות ידניות
OpenSCAP מהיר פי 20+: בדיקת שרת בודד לוקחת 2–5 דקות במקום 2–3 שעות. הדוח הרשמי מבטל שגיאות אנוש — לכל כלל יש מזהה, תיאור והמלצת תיקון.
שלב אחר שלב: הגדרת OpenSCAP ב-5 שלבים
- התקנת חבילות:
<!-- custom-tailoring.xml --> <?xml version="1.0" encoding="UTF-8"?> <Tailoring xmlns="http://checklists.nist.gov/xccdf/1.2" id="xccdf_custom_tailoring_001"> <Profile id="xccdf_custom_cis_tailored" extends="xccdf_org.ssgproject.content_profile_cis_server_l1"> <title>CIS L1 tailored for app servers</title> <select idref="xccdf_org.ssgproject.content_rule_mount_option_nodev_nonroot_local_partitions" selected="false"/> <set-value idref="xccdf_org.ssgproject.content_value_var_sshd_set_keepalive">6</set-value> </Profile> </Tailoring> - בחירת פרופיל:
yum install openscap-scanner scap-security-guide oscap info /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml | grep "Profile"ובחירת הפרופיל הדרוש (למשל, cis_server_l2) - הרצת סריקה:
yum install openscap-scanner scap-security-guide - יצירת תיקון:
oscap info ... | grep Profile - הפעלת ה-playbook ובדיקה חוזרת:
oscap xccdf eval --profile ... --results results.xml --report report.html
הרצת סריקה ויצירת דוח
oscap xccdf eval \
--profile xccdf_org.ssgproject.content_profile_cis_server_l2 \
--results /tmp/scan-results.xml \
--report /tmp/scan-report.html \
--oval-results \
/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml איך התיקון עובד
OpenSCAP מייצר playbook של Ansible לתיקונים אוטומטיים. נבדק על 50+ פרויקטים: אחוז המעבר קופץ מ-55% ל-80–85%. הכללים הנותרים שנכשלים הם או מבניים (חלוקת דיסק) או מוחרגים במודע.
oscap xccdf generate fix \
--profile xccdf_org.ssgproject.content_profile_cis_server_l1 \
--fix-type ansible \
/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml \
> cis-remediation-playbook.yml
ansible-playbook -i test-server, cis-remediation-playbook.yml Tailoring: התאמה אישית לסביבה שלך
חוזרים על דוגמת ה-tailoring, אבל בהקשר של התאמה אישית מלאה. קובץ ה-tailoring מנוהל ב-Git, מה שמאפשר למבקר לראות כל חריגה עם נימוק.
<!-- custom-tailoring.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<Tailoring xmlns="http://checklists.nist.gov/xccdf/1.2" id="xccdf_custom_tailoring_001">
<Profile id="xccdf_custom_cis_tailored" extends="xccdf_org.ssgproject.content_profile_cis_server_l1">
<title>CIS L1 tailored for app servers</title>
<select idref="xccdf_org.ssgproject.content_rule_mount_option_nodev_nonroot_local_partitions" selected="false"/>
<set-value idref="xccdf_org.ssgproject.content_value_var_sshd_set_keepalive">6</set-value>
</Profile>
</Tailoring> אינטגרציית CI/CD: בדיקת Docker Images ו-AMIs
docker export $(docker create myapp:latest) > myapp-rootfs.tar
mkdir myapp-rootfs && tar -C myapp-rootfs -xf myapp-rootfs.tar
oscap-chroot myapp-rootfs xccdf eval \
--profile xccdf_org.ssgproject.content_profile_cis \
--report /tmp/container-report.html \
/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml לוחות זמנים ועלות
| שלב | לוח זמנים |
|---|---|
| ביקורת והתקנת OpenSCAP, דוח בסיס | 1–3 ימים |
| Tailoring + תיקון Ansible | 3–5 ימים |
| אינטגרציית CI/CD + דוחות אוטומטיים | 1–2 שבועות |
העלות מחושבת באופן אישי לאחר הערכת התשתית שלך. חיסכון מאוטומציה: מחזור ביקורת ידני אחד של 50 שרתים עולה ~$3,000–$5,000 בעבודה, וההתקנה של OpenSCAP מחזירה את עצמה תוך 1–3 מחזורים כאלה.
צרו קשר לייעוץ: נעריך את הפרויקט שלכם ונציע את התצורה האופטימלית. SCAP Security Guide







