הגדרת Nessus/OpenVAS לסריקת פגיעויות תשתית
בפרקטיקה שלנו, כל מארח ללא תיקון, כל פורט פתוח עם אישורי ברירת מחדל, כל תעודת SSL מיושנת הם נקודת כניסה פוטנציאלית. אנו מגדירים את Nessus Professional או OpenVAS (Greenbone Vulnerability Manager) לפתרון שיטתי: לא ביקורת ידנית אחת לרבעון, אלא ניטור רציף עם תעדוף מבוסס CVSS. לצוות המוסמך שלנו יש ניסיון של 7+ שנים ומעל 50 פרויקטים שהושלמו באבטחת תשתית. אנו מבטיחים כיסוי סריקה מקיף לעד 1,000 מארחים בסריקה אחת, עם עיכובי התראות מתחת לדקה אחת.
מה נסרק ומה מתגלה
תמונה אופיינית במהלך הסריקה הראשונה של קלאסטר ייצור: Elasticsearch ללא אימות מאזין ב-0.0.0.0:9200, Redis ללא סיסמה נגיש מתוך הרשת (והרשת שטוחה), Jenkins על פורט 8080 עם תוסף ישן הנושא פגיעות קריטית ידועה. זה לא היפותטי—זו קבוצה אמיתית של ממצאים בפרויקט ממוצע ש"עובד ואנחנו לא נוגעים בו."
OpenVAS מפרק את הזיהויים לקטגוריות: בדיקות פגיעות רשת (NVT), מתוכן Greenbone Security Feed מכיל מעל 80,000. כל NVT הוא בדיקה ספציפית: ניסיון FTP אנונימי, בדיקת TLS 1.0/1.1, בדיקת ShellShock, זיהוי Heartbleed, פריצת מחרוזות קהילה ברירת מחדל של SNMP. Nessus מוסיף ביקורת תאימות מול CIS Benchmarks ו-PCI DSS בנוסף, עם מעל 100,000 בדיקות.
הבעיה הנפוצה ביותר במהלך הגדרה היא תוצאות חיוביות שגויות והגדרת היקף לא נכונה. אם תריץ סריקה ללא חריגים על תשתית ענן AWS, Nessus יגלה "פורטים פתוחים" על שירותים מנוהלים של AWS ויעמיס על הדוח ממצאים לא רלוונטיים. יש צורך בהגדרת היקף מדויקת: בלוקי CIDR, מארחים מוחרגים, הפרדה לפי קבוצות נכסים. בדיקות בטוחות מפחיתות תוצאות חיוביות שגויות ב-40% בהשוואה לסריקות מלאות.
למה סריקה עם אישורים יעילה פי 3-5 יותר מסריקת רשת?
סריקה עם אישורים חשובה מהותית יותר מסריקת רשת. ללא אישורים, הסורק רואה רק מה חשוף חיצונית. עם מפתח SSH (או WinRM עבור Windows), הוא בודק חבילות מותקנות, גרסאות קרנל, קבצי הגדרות כמו /etc/ssh/sshd_config, הרשאות על קבצים רגישים. ההבדל במספר הממצאים הוא פי 3-5.
עבור Nessus, הגדרת סריקה עם אישורים תחת Linux:
Scan Settings → Credentials → SSH Method: public key
Username: nessus-scanner
Private Key: /path/to/nessus_key
Elevate privileges with: sudoעבור OpenVAS, המקבילה היא אישור SSH ב-Scan Settings → Credentials → SSH Method: public key Username: nessus-scanner Private Key: /path/to/nessus_key Elevate privileges with: sudo , ולאחר מכן קישור לתצורת סריקה דרך Configuration → Credentials.
איך להגדיר מדיניות סריקה לייצור?
מדיניות סריקה משפיעה על העומס על המארחים. מצבי סריקה מלאה ומהירה הם אגרסיביים, לא מתאימים לייצור בשעות עבודה. בדיקות בטוחות עדינות יותר אך מפספסות כמה וקטורי DoS. פרקטיקה: סריקה מלאה פעם בשבוע בלילה בתוספת סריקה קלה רציפה (פורטים וגרסאות בלבד) מדי יום.
עבור OpenVAS, ניתן לייצא את תצורת הסריקה כ-XML ולשמור ב-git.
דוגמת קטע מדיניות
<scan_config>
<name>Weekly Production Full</name>
<comment>Credentialed, safe checks disabled for vuln validation</comment>
<preferences>
<preference>
<name>max_hosts</name>
<value>10</value>
</preference>
<preference>
<name>max_checks</name>
<value>5</value>
</preference>
</preferences>
</scan_config> אינטגרציה ל-CI/CD והתראות
סריקות חד-פעמיות הן חצי פתרון. אבטחה אמיתית היא כאשר מארח חדש נכנס אוטומטית להיקף הסריקה ו-CVE קריטי מפעיל התראה ב-Slack/PagerDuty לפני שהוא מנוצל.
אינטגרציה דרך Nessus API:
# Запуск скана через API
curl -X POST https://nessus-host:8834/scans \
-H "X-ApiKeys: accessKey=XXX; secretKey=YYY" \
-H "Content-Type: application/json" \
-d '{"uuid": "template-uuid", "settings": {"name": "Auto-scan", "scanner_id": 1, "targets": "10.0.1.0/24"}}'עבור Greenbone/OpenVAS — GVM CLI (Scan Configs → Edit → Credentials) או ספריית Python <scan_config> <name>Weekly Production Full</name> <comment>Credentialed, safe checks disabled for vuln validation</comment> <preferences> <preference> <name>max_hosts</name> <value>10</value> </preference> <preference> <name>max_checks</name> <value>5</value> </preference> </preferences> </scan_config> :
from gvm.connections import TLSConnection
from gvm.protocols.gmp import Gmp
with Gmp(connection=TLSConnection(hostname='openvas-host')) as gmp:
gmp.authenticate('admin', 'password')
task_id = gmp.create_task(name='nightly-scan', config_id='...', target_id='...')
gmp.start_task(task_id)התוצאות מנותחות מדוח ה-XML ומסוננות לפי חומרה: CVSS >= 7.0 — התראה מיידית, 4.0–6.9 — תקציר שבועי. ניתן לאחסן דוחות ב-S3/MinIO ולהמחיש דרך Grafana (יש datasource עבור OpenVAS) או Defect Dojo למעקב אחר תיקונים.
השוואה בין Nessus ל-OpenVAS
| קריטריון | Nessus Professional | OpenVAS (Greenbone) |
|---|---|---|
| רישיון | מסחרי | GPLv2 (חינם) |
| מספר בדיקות | > 100,000 (כולל תאימות) | > 80,000 NVT |
| תאימות (CIS, PCI DSS) | מובנה | דורש הגדרה נוספת |
| אינטגרציה | REST API, CLI | GMP, Python-gvm |
| מהירות סריקה | גבוהה (מנועים מותאמים) - עד פי 3 מהיר יותר | בינונית (פי 2-3 איטי יותר מ-Nessus) |
| תמיכה | מסחרית | קהילה |
מה כלול בעבודת ההגדרה
- ביקורת סביבה: מלאי מארחים, הגדרת היקף (ייצור/סטייג'ינג/פיתוח בנפרד), בחירת כלים.
- פריסת סורק: VM ייעודי או קונטיינר, כללי רשת, הגדרת גישה עם אישורים (מפתחות SSH, WinRM, SNMP).
- הגדרת מדיניות: תבניות סריקה, תזמון, חריגים, ספי חומרה.
- אינטגרציית התראות: webhook למסנג'ר או SIEM (Splunk, Wazuh, ELK).
- תיעוד: runbook לטיפול בממצאים, SLA על תיקונים לפי חומרה, נוהל דיכוי לסיכונים מקובלים.
- הדרכת צוות: ניתוח דוחות, שימוש ב-Defect Dojo.
שלבים ולוח זמנים
- ביקורת ותכנון: יום אחד
- פריסה והגדרה: 1-2 ימים
- אינטגרציה ובדיקות: יום אחד
- תיעוד והדרכה: יום אחד
לוח זמנים כולל: בין 2 ל-5 ימים תלוי במורכבות הסביבה. העלות מחושבת באופן אישי, אבל הלקוחות שלנו חוסכים בממוצע 60% מתקציב האבטחה שלהם באמצעות אוטומציה ותיעדוף. עלות פרויקט טיפוסית נעה בין $2,000 ל-$10,000 תלוי בהיקף. נבחן את הפרויקט שלך תוך יום אחד—צור קשר. הזמן הגדרה סוהר: נכין את התשתית שלך לניטור פגיעויות רציף.
מידע נוסף
- עוד על OpenVAS: ויקיפדיה







