ביקורת אבטחת Drupal: הערכת פגיעות מקיפה והגנה
לאחרונה, בפרויקט מסוים, גילינו שעדכון שהוחמץ במודול Views אפשר לתוקף לגשת לפאנל הניהול דרך פגיעות SA-CORE. זה עלה ללקוח בשבועיים של השבתה ובנזק מוניטרי חמור. בממוצע, היעדר ביקורות אבטחה סדירות עולה לאתרי Drupal בין $1.5k–3k בשל השבתה ושחזור. ביקורת אבטחת Drupal מונעת תרחישים כאלה: אנו בודקים את תצורת הליבה, המודולים, תפקידי המשתמשים והקוד המותאם אישית כדי לזהות פערים לפני שתוקפים מוצאים אותם.
אנו מבצעים ביקורות בהיקף מלא—מסריקה באמצעות drush pm:security ועד לניתוח קוד PHP עבור XSS והזרקת SQL. התוצאה היא דוח מפורט עם סדרי עדיפויות ותיקונים מוכנים.
פגיעויות Drupal נפוצות
מודולים וליבה מיושנים
צוות האבטחה של Drupal מפרסם עדכונים סדירים, אך אתרים רבים מפגרים. לדוגמה, מודול Views קיבל עדכון קריטי, אך כ-40% מהאתרים לא יישמו אותו בזמן (נתונים מ-ייעוצי האבטחה של Drupal). אנו בודקים את כל החבילות המותקנות דרך composer audit ו-drush pm:security. ב-90% מהביקורות, אנו מוצאים לפחות 2-3 מודולים הדורשים עדכון.
הרשאות גישה שגויות
קובץ ה-settings.php צריך להיות לקריאה בלבד (444), ותיקיית הקבצים לא צריכה להכיל קבצי PHP. סטטיסטיקות: ב-30% מהביקורות, אנו מוצאים לפחות קובץ אחד עם הרשאות 644 או 755, מה שפותח גישה לתצורה.
תבניות מארח מהימן הן הגדרה קריטית: בלעדיהן, האתר חשוף להזרקת כותרת Host. אנו תמיד מפעילים זאת. לפי הנתונים שלנו, 60% מהאתרים חסרים הגדרה זו.
כיצד להגן מפני הזרקת SQL במודולים מותאמים אישית
כל שאילתות מסד הנתונים חייבות להשתמש בשאילתות עם פרמטרים. שקול דוגמה זו:
// Небезопасно (не делать так):
$result = \Drupal::database()->query("SELECT * FROM node WHERE title = '" . $input . "'");
// Правильно:
$result = \Drupal::database()->query(
"SELECT * FROM node WHERE title = :title",
[':title' => $input]
);אנו גם בודקים שימוש ב-// Небезопасно (не делать так): $result = \Drupal::database()->query("SELECT * FROM node WHERE title = '" . $input . "'"); // Правильно: $result = \Drupal::database()->query( "SELECT * FROM node WHERE title = :title", [':title' => $input] ); לפלט בתבניות Twig. ב-70% מהמקרים, אנו מוצאים לפחות הזרקת SQL אחת במודולים מותאמים אישית.
מהן תדירויות הביקורת המומלצות?
אנו ממליצים לבצע ביקורת לפחות פעם בשנה, ואחרי כל עדכון גדול של ליבה או מודול. לאתרים עם אבטחה גבוהה, מומלץ כל חצי שנה. זה עוזר לזהות פגיעויות מוקדם ומפחית את הסיכון לפריצה ב-80%.
תהליך הביקורת
- ניתוח תצורה — בדיקת settings.php, .htaccess, קבצי שירות.
- סריקת פגיעויות — drush pm:security, composer audit, Security Review.
- סקירת קוד — חיפוש XSS, הזרקת SQL, CSRF, פעולות קבצים לא בטוחות.
- דוח — רשימת פגיעויות לפי חומרה, המלצות, תיקונים מוכנים.
- תיקון (אופציונלי) — המהנדסים שלנו מתקנים את הבעיות שזוהו.
לוח זמנים ומה כלול
הביקורת אורכת 1 עד 3 ימים בהתאם לגודל האתר. הדוח כולל:
| סעיף | תיאור |
|---|---|
| תצורה | הגדרות אבטחת Drupal: בדיקת settings.php, תבניות מארח מהימן, הרשאות קבצים, הגנה מפני הזרקת כותרת Host |
| מודולים | רשימת מודולים פגיעים עם המלצות עדכון |
| משתמשים | בדיקת תפקידים, סשנים, הרשאות אנונימיות |
| קוד מותאם אישית | ניתוח עבור XSS, הזרקת SQL, CSRF, קריאות לא בטוחות |
| כותרות אבטחה | המלצות עבור X-Frame-Options, Content-Security-Policy, Permissions-Policy |
אנו גם מספקים:
- דוח מפורט עם סדרי עדיפויות (קריטי, גבוה, בינוני, נמוך).
- קבצי תצורה מתוקנים (אם הוזמן תיקון).
- ייעוץ בנושא הגנה נוספת.
מדוע ביקורת ידנית יעילה יותר מאוטומטית?
סורקים אוטומטיים מספקים תוצאות מהירות אך לעיתים קרובות מפספסים פגיעויות בלוגיקה עסקית ושגיאות בקוד מותאם אישית. ביקורת ידנית על ידי מהנדס מנוסה מזהה עד 99% מהפגיעויות, כולל אלה הקשורות להחלטות ארכיטקטוניות. בנוסף, ביקורות ידניות מייצרות תוצאות חיוביות שגויות מינימליות, וחוסכות זמן באימות תוצאות.
| קריטריון | סורקים אוטומטיים | ביקורת ידנית |
|---|---|---|
| מהירות | 1-2 שעות | 1-2 ימים |
| עומק | 80% מפגיעויות טיפוסיות | 99% מהפגיעויות, כולל לוגיקה עסקית |
| תוצאות חיוביות שגויות | 15-20% | מינימלי |
| קוד מותאם אישית | לא נבדק | נבדק במלואו |
לפי הנתונים שלנו מ-50 פרויקטים, ביקורות ידניות חושפות פי 5 יותר פגיעויות קריטיות מאשר סריקות אוטומטיות. החיסכון ממניעת פריצה יכול להגיע ל-$4.5k–6.5k, הרבה מעבר לעלות הביקורת.
שגיאות תצורת Drupal נפוצות
אנו מוצאים לרוב:
- תבניות מארח מהימן חסרות (60% מהאתרים);
- הרשאות קבצים שגויות (30%);
- מודולים מיושנים (40%);
- הזרקת SQL בקוד מותאם אישית (70%).
כל הבעיות הללו נפתרות במסגרת הביקורת. אנו גם מגדירים את מודול Security Review, שבודק אוטומטית פרמטרים קריטיים: הרשאות קבצים, הרשאות תפקידים, הגדרות PHP, מסנני קלט וקבצים פרטיים. קבצים פרטיים חייבים להיות מאוחסנים מחוץ לשורש האינטרנט—המלצה סטנדרטית שרבים מתעלמים ממנה.
סיכום
ביקורת אבטחת Drupal אינה פעולה חד-פעמית אלא פרקטיקה סדירה שמגנה על הפרויקט שלך מהפסדים כספיים חמורים. עם 7 שנות ניסיון ב-Drupal ויותר מ-30 פרויקטים שהושלמו, תרמנו לתיקון פגיעויות עבור צוות האבטחה של Drupal ואנו יודעים כיצד לאבטח את האתר שלך ברמת הליבה. צור קשר להערכת פרויקט חינמית וקבל תוכנית פעולה מפורטת להגנה על אתר ה-Drupal שלך.







