הגדרת Intrusion Detection System (Suricata/Snort)

התקיפות מתחמקות מגילוי כי הכללים מוגדרים באופן פורמלי, ואיש אינו בודק את הנקודות העיוורות. אנו מגדירים IDS מקצה לקצה: מנתחים את התעבורה, מסירים התראות שווא ומקצרים את זמן ניתוח האירוע פי כמה. נדון במשימה — נחזור עם הערכה ותוכנית.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

מדוע IDS לא תופס תקיפות: היכן נשברת ההגדרה

חיישן גילוי חדירות פרוס אינו הגנה. המערכת פועלת, כותבת אירועים, אך לפי תקיפות אמיתיות אין אותות. הסיבה כמעט תמיד נמצאת באחד משלושה מקומות: נקלט לא אותו תעבורה, הכללים חיים על חתימות בסיסיות, ואת האירועים איש אינו מנתח.

השאלה המרכזית בעת הגדרת IDS — נקודות איסוף התעבורה. אם המראה נאספת על צומת עם ניתוב א-סימטרי, החיישן רואה חצי מהסשן ולא יצליח להרכיב זרימה לניתוח. מראה עמוסה מאבדת מנות בשעות שיא — ואזורים עיוורים ברשת חופפים לשעות הפעילות האמיתית. הוסיפו לכך תעבורה מוצפנת: ללא ניתוחה, Suricata או Snort רואים רק מטא-נתונים של חיבורים.

סט כללים בסיסי ללא התאמה לרשת מייצר שתי קיצוניות בבת אחת. תת-רשתות פנימיות אינן מתוארות בקונפיגורציה — כל בקשה החוצה נראית חשודה, גדלות התראות שווא, והתורן מפסיק לתת אמון בהתראות.

במקביל, התעבורה הפנימית אינה מכוסה: תנועה בין סגמנטים שקופה לחיישן, אף שדווקא שם מתפתחת התקיפה לעתים קרובות ביותר.

האזור השלישי — ניתוח האירועים. ההתראות נופלות ללוג מקומי על החיישן עצמו ונשארות שם: גילוי חדירות קיים פורמלית, תגובה אין. נדרשים איסוף מרכזי, נירמול, תיעדוף וקורלציה — בלי זה זרם האירועים אינו הופך לתור תקיפות שאפשר לעבוד איתו.

המחיר של כל שלושת הכשלים זהה: האירוע מתגלה לפי עובדת הנזק, ולא בכניסה. מפרקים כיצד זה נסגר — מתרשים האיסוף ועד לתקנון התגובה.

מה משתנה לאחר ההטמעה: התראות שווא ואזורים עיוורים

מערכת גילוי חדירות נמדדת לא לפי מספר הכללים המופעלים, אלא לפי שלושה מדדים מדידים: שיעור התראות השווא, זמן ניתוח האירוע וכיסוי הסגמנטים. לפני ההגדרה התמונה בדרך כלל כזו: ממופה פורט אחד בפרימטר, תעבורה בין תת-רשתות פנימיות אינה נראית, וסט החתימות נלקח בשלמותו, ללא קישור לטופולוגיה.

שבע-שמונה התראות מתוך עשר נופלות על פעילות לגיטימית, התורן מפסיק לפתוח את התור — והתנועה האמיתית בו הולכת לאיבוד.

האפקט הראשון — שיעור התראות שווא נשלט. כללים רועשים מכובים לפי סטטיסטיקה, ולא לפי העין, לשירותים וסורקים מוכרים נוספים חריגים לפי כתובות ופורטים. ניתוח התראה אחת לאחר מכן נמשך עשרות דקות במקום שעות: בהתראה כבר מסומנים הנכס, תפקיד הצומת והסגמנט שבו האירוע התרחש.

השני — כיסוי. תחת מעקב נכנסים לא רק המתאר החיצוני, אלא גם תת-רשתות פנימיות, כולל אלו שבהן עמדו בעבר רק מתגים. זה סוגר סוג כשל שעבר unnoticed: תנועה אופקית בין סגמנטים ופניות לשירותי ניהול, שבשגרה אינם חוצים גבולות תת-רשת.

אנחנו עובדים עם Suricata — סט הכללים נאסף לפי הטופולוגיה שלכם ונבחן מחדש יחד עם ניתוח ההתראות, ולא פעם אחת בעת ההטמעה. בפלט הלקוח רואה ארבעה מדדים: שיעור התראות השווא, זמן הניתוח הממוצע, שיעור הסגמנטים תחת מעקב ורשימת התרחישים שכעת נרשמים באופן מובטח.

שלושה מצבי עבודה של המערכת: גילוי, מניעה, היברידי

מצב העבודה נגזר ממידת המוכנות של הרשת והצוות לחסימה. גילוי פאסיבי מקבל עותק של התעבורה ואינו מפיל דבר: מחיר התראת שווא — רשומה מיותרת ביומן וניתוח אירוע, ולא סשן שנקטע.

מניעה בנתיב שמה את החיישן ממש בנתיב המנה — הוא באמת מפיל חיבורים, אך אותה שגיאה בכלל קורעת סשן לגיטימי, והחיישן עצמו הופך לנקודת כשל על המסלול.

המצב ההיברידי מפריד משימות לפי אזורים: בפרימטר הכללים חוסמים, בתוך הסגמנטים התעבורה רק נרשמת. פריסה כזו דורשת שני סטים של כללים ונוהל ברור לתיקונם — אחרת תחזוקת הקונפיגורציה עולה יותר מהאפקט שלה.

מצב מיקום החיישן מתי מתאים במה מוגבל
גילוי פאסיבי מיפוי פורט במתג או מפצל-מסתעף שלב ראשון: נדרשת נראות, סקר שירותים, הרשת אינה מוכנה לחסימות את התקיפה אינו עוצר; בעומס ערוץ המיפוי מאבד מנות, חלק מהאירועים אינו מגיע
מניעה בנתיב חיישן בנתיב הקו בפרימטר או לפני סגמנט קריטי הכללים מחודדים על תעבורה חיה, החמצת תקיפה אינה קבילה התראת שווא קורעת סשן לגיטימי; חיישן בנתיב — נקודת כשל, נדרש מעקף גיבוי
היברידי גילוי על סגמנטים פנימיים, חסימה בפרימטר נדרש איזון: תקיפות חיצוניות נחתכות, תעבורה פנימית נצפית ללא התערבות שני סטים של כללים, תיקון נפרד ותיחום אזורי אחריות

מיקום החיישן נבחר לפי המשימה, ולא "לפי המקסימום": בערוץ עמוס המיפוי נותן תמונה חלקית, ומוטב לדעת זאת לפני האירוע מאשר בעת ניתוחו. אנחנו מגדירים את Suricata ולפני הפעלת החסימות מריצים את הכללים במצב התבוננות — מהיומנים נראה מה היה מופעל לשווא ומה באמת תופס פעילות.

שלבי ההטמעה: סקר, תרשים, כללים, בדיקה

הטמעת מערכת גילוי חדירות אינה התקנת חבילה, אלא רצף עבודות שבו כל צעד מסתיים בתוצאה ניתנת לבדיקה. אם מדלגים על הסקר, החיישן יעמוד לא במקום שבו התעבורה באמת עוברת, ויכתוב אלפי אירועים בלי אות מועיל.

  1. סקר הרשת. אוספים טופולוגיה, נקודות מעבר תעבורה, מלאי שירותים ונכסים קריטיים. בקרה — תרשים סגמנטים מאושר ורשימת מה שאנחנו מגנים עליו בראש ובראשונה.

  2. תרשים מיקום. מחליטים היכן עומדים החיישנים: מיפוי פורטים במתגים, נתיב בפרימטר, סגמנטים פנימיים. מחשבים עומס שיא כדי שהמנוע לא יאבד מנות. בקרה — תרשים מאושר עם תפקידי הצמתים.

  3. כתיבת כללים. מפעילים סטי חתימות בסיסיים, מכבים את הלא-רלוונטי לסטאק שלנו, מוסיפים כללים משלנו לשירותים פנימיים ורשימות חריגים. בקרה — הכללים עוברים בדיקת תחביר ואינם נדחים בעת הטעינה.

  4. בדיקת התראות. מריצים תעבורת בדיקה מבוקרת ותרחישי תקיפה מוכרים, בודקים מה הופעל, ומתקנים ספים. בקרה — האירועים הצפויים קיימים, ושיעור השווא הופחת לרמה קבילה.

  5. מסירת אירועים ותקנון. מגדירים ייצוא למערכת איסוף לוגים, סימון לפי קריטיות, תורנות וסדר הסלמה. בקרה — התורן מקבל אירוע מובן, ולא שורה גולמית.

  6. הפעלה ניסיונית. מספר שבועות במצב התבוננות: צוברים סטטיסטיקה, מכיילים ספים, מתעדים אזורים עיוורים.

  7. העלאה לפעולה. מוסרים תיעוד, תקנון עדכון חתימות ואחראים. בקרה — הצוות בעצמו מעדכן כללים ומנתח אירוע, בלי להמתין לנו.

ערכת מסירה: כללי גילוי, תרשימים, תקנונים

הגדרת גילוי חדירות אינה מסתיימת בהפעלת החיישן: ללא תיעוד הלקוח נשאר כבול לקבלן בכל עניין — מהוספת כלל ועד לניתוח התראה. אנחנו מוסרים ערכה שלפיה המהנדסים שלכם עובדים בעצמם: מתקנים את סט הכללים, קוראים התראות, מעדכנים מסדים ומבצעים בדיקות. להלן מה בדיוק נשאר בידיכם.

  • ערכת תיעוד: ייעוד וגבולות מתאר הגילוי, רשימת הסגמנטים הנשלטים, תפקידי המהנדסים ואזורי האחריות בין הצוות שלכם לבינינו.
  • תיאור כללים: לכל כלל מופעל — מה הוא מזהה, על איזה פרוטוקול ופורט הוא עובד, רמת הקריטיות וסיבת ההפעלה; כללים מכובים מסומנים עם נימוק, כדי שלא יחזירו אותם בטעות.
  • תרשים רשת: נקודות איסוף תעבורה, סגמנטים ממופים, כתובות החיישן והממשק הניהולי, קישורים ליומנון ולמאגר האירועים.
  • תקנון תגובה: כיצד לקרוא התראה, אילו התראות להיחשב קריטיות, למי ובאיזה מועד להסלים, מה לתעד ביומן האירועים וכיצד לסגור שווא.
  • סדר עדכון כללים: מהיכן מגיעים סטים חדשים, כיצד עוברת הבדיקה על תעבורה מוקלטת מראש לפני העלאה, כיצד לחזור לסט הקודם אם גדל הרעש.
  • מטריצת התראות שווא: רשימת כללים רועשים מוכרים, החריגים שהוגדרו ותנאים שבהם צריך לבחון מחדש את החריגים הללו.
  • הוראות הפעלה: בדיקת תקינות החיישן, גיבוי קונפיגורציה, שחזור לאחר כשל, בקרת מילוי שטח דיסק לאירועים.

הערכה הופכת את הגדרת IDS לניתנת לשחזור: מהנדס חדש בצוות שלכם מוכנס למתאר לפי מסמכים, ולא לפי התכתבות עם קבלן. שינויים עתידיים — הרחבת סגמנטים, שינוי הרכב הכללים, מעבר לאתר אחר — אתם מתכננים בעצמכם ומגייסים אותנו רק היכן שזה משתלם יותר.

קייס: ניתוח אירוע התקצר משלושה יממות לשעה

לפני העבודות הרשת נראתה כך: בפרימטר עמד חיישן אחד עם סט חתימות בסיסי, והתעבורה בין תת-רשתות השרתים והעבודה לא נותחה כלל. האירועים הצטברו ביומנים מקומיים, חותמות הזמן לא תאמו, וניתוח האירוע החל בייצוא ידני של לוגים מארבעה מקורות. על התשובה "מה בדיוק קרה" נדרשו כשלוש יממות, וחצי מהסגמנטים לא ראינו כלל.

מה שינו

פרסנו Suricata במצב מיפוי תעבורה בשש נקודות: פרימטר, מפגש עם שותפים חיצוניים, סגמנטי שרתים ונקודת היציאה לענן. ספי ההתראות הוגדרו לפי פרופיל העומס — סריקות סורקי פגיעויות, בקשות שידור וסקר מערכות גיבוי הוכנסו לחריגים, אחרת זרם התראות השווא היה מכסה את המועילות.

חותמות הזמן הובאו לאזור זמן אחד, האירועים — לסכימה אחידה עם מזהה סגמנט וסימן: הופעל כלל או אנומליה התנהגותית.

מדדים לפני ואחרי

ניתוח האירוע התקצר משלוש יממות לשעה: האנליטיקאי פותח אירוע אחד ורואה שרשרת בכל הסגמנטים במקום הרכבה ידנית. שיעור התעבורה הנצפית עלה מ-40 ל-95 אחוזים — אזורים עיוורים נותרו רק בערוצים מוצפנים, שם הוספנו ניתוח מטא-נתונים של החיבור.

התראות השווא פחתו פי כשבע, ואירועים מאומתים בחודש הניתוח הראשון נמצאו פי שלושה יותר באותה משמרת תורנות.

שלושה שבועות לאחר ההפעלה המדדים נלקחו שוב והספים כווננו: חלק מהכללים התבררו כרועשים על גיבוי, חלק — כמיותרים על חליפין פנימי. מחזור הגדרה כזה הוא שנותן קיצור בר-קיימא של אזורים עיוורים, ולא אפקט חד-פעמי מהתקנת חיישנים.

מה לעשות אם המערכת כבר פרוסה, אך הגדרת IDS לא הושלמה?

קודם כל מסירים מפת כיסוי: על אילו קווים עומד איסוף התעבורה, האם יש א-סימטריה, לאן הולכת המראה ומה החיישן באמת רואה. לעתים קרובות מתברר שחלק מהסגמנטים אינו מכוסה כלל, ובממשק עמוס אובדות מנות — אז הכללים עובדים, אך לפי תמונה חלקית, וההחמצות מוסברות לא בהיגיון הגילוי.

הלאה — תיקון כללים. בודקים אילו סטים מחוברים, כמה מהם מכובים או מכוסים בכפולים, האם יש כללים מקומיים לספציפיקה שלכם וכיצד מוגדרים הספים, כדי שתעבורה שגרתית לא תהפוך לזרם התראות. בשלב זה בדרך כלל נעלם רוב הרעש, והאנליטיקאי מפסיק לשקוע באירועים אחידים.

בנפרד בודקים את מצב העבודה. המערכת יכולה לעמוד שנים בגילוי, אף שלפי המשימות אמורה לחסום — אז נדרשת הגירת מצב: תחילה מריצים את הכללים בהתבוננות, אוספים סטטיסטיקת התראות שווא, ורק אחר כך מפעילים תגובה על חלק נבחר מהכללים. גם המעבר ההפוך נדרש לעתים: אם החסימה שוברת שירות, הנסיגה נעשית בלי לפרק את המערכת.

מיקום מחדש של חיישנים נדרש היכן שחסרות נקודות איסוף: פרימטר, מפגשים בין סגמנטים, אזור עם שירותים חיצוניים, זרימות בין תת-רשתות פנימיות. במנועים פתוחים כמו Suricata או Snort זה נעשה בהוספת ממשקים ועיבוד מחדש של הקונפיגורציה, בלי להחליף את המערכת עצמה.

מה ניתן לשפר בלי הרכבה מחדש: עדכון והגדרת סטי כללים, ספים, ניתוח אירועים, ייצוא למערכת ניטור, תקנון תגובה להתראות. יהיה צורך לשנות את תרשים המיקום ומצב העבודה, אם בפועל החיישנים עומדים לא במקום שבו עוברת תעבורה משמעותית. כדאי להתחיל בתיקון כללים ובמפת כיסוי — הם מראים אם מדובר בשדרוג מערכת קיימת או בעיבוד חלקי.

פירוק ספקות: עומס, תעבורה מוצפנת, התראות שווא

מהנדסי הלקוח שואלים לפני ההטמעה אותן שאלות: האם ניתוח התעבורה יפיל את שירותי העבודה, מה נראה בתוך ערוצים מוגנים, כיצד לחיות עם זרם ההתראות. להלן — תשובות קצרות לכל אחד.

החיישן יפיל את הפרודקשן?

מעמידים אותו במצב מיפוי, על צומת נפרד: התעבורה מועתקת, ולא עוברת דרך המנתח, לכן כשל של החיישן אינו קורע חיבורים. מספר הזרימות והמאגרים נבחרים לפי פרופיל העומס, ושיעור המנות המוחמצות מיוצא למדדים — נראה היכן החיישן מפסיק להספיק.

מה נראה בתעבורה מוצפנת?

ללא פענוח — מטא-נתונים: כתובות, נפחים, מחזוריות, טביעות לקוח. זה מספיק לכללים התנהגותיים, אך בדיקת תוכן דורשת פענוח במאזן או בפרוקסי — אחרת היא הופכת לפיקציה.

כמה יהיו התראות שווא?

בהתחלה הרבה, עד שהכללים אינם קשורים לפרופיל שלכם. השבועות הראשונים מוקדשים לסימון: מכבים קבוצות לא רלוונטיות, מוסיפים חריגים לפי שירותים מהימנים, מנמיכים קריטיות של חתימות רועשות — התורן מנתח את הזרם בדקות, ולא מדפדף בארכיון.

כיצד מתעדכנים הכללים?

לפי לוח זמנים ובציון גרסת הסט: תחילה הרצה על סטנד על הקלטת התעבורה שלכם, לאחר מכן העלאה לחיישן הבוער. פרץ התראות לאחר העדכון — נסיגה לגרסה הקודמת בפעולה אחת.

נדון במשימה: מה לברר לפני תחילת העבודות

הערכה עניינית של הגדרת IDS מתחילה לא במחירון, אלא בנתונים על הרשת שלכם. ככל שהפרימטר ומחלקות התעבורה מתוארים מדויק יותר, כך פחות הנחות בתוכנית העבודות, לוחות הזמנים ריאליים יותר — וכך נמוך יותר הסיכון שלאחר ההפעלה יהיה צורך לשכתב כללים לזרימה האמיתית. להלן — מה לברר בשיחה הראשונה.

  • תרשים רשת: סגמנטים, מפגשים עם רשתות חיצוניות ונקודות שבהן צריך לראות תעבורה; כיצד מגיע לשם עותק שלה — מיפוי פורט או צומת איסוף נפרד.
  • רשימת שירותים ופרוטוקולים קריטיים שעבורם חשוב הגילוי, ואלו ששם התראת שווא אינה קבילה.
  • מה כבר עומד: חומת אש, מאזן, איסוף יומנים — כדי לא לשכפל פונקציות ולא ליצור קונפליקטים.
  • מצב התגובה הצפוי: התראה בלבד או חסימה אוטומטית; מכך תלוי הסיכון לשירותים וסדר ההפעלה ההדרגתית.
  • נפח התעבורה ורזרבה בביצועי הצמתים — כדי לבחור מצב עיבוד בלי איבוד מנות בשיאים.
  • תקנון תורנות: מי וכיצד מנתח התראות, איזה זמן תגובה נחשב נורמה, לאן הולכות ההתראות.
  • דרישות לכללים: חתימות משלנו לשירותים פנימיים, מחזוריות עדכון הסטים (ב-Suricata ו-Snort הם חיים בנפרד מהמנוע), תקופת שמירת אירועים.
  • מגבלות: נתונים רגישים בתעבורה, דרישות רגולטורים, חלונות לשינויים.

עם נתוני מוצא אלו אנו מתארים את הארכיטקטורה, מפרקים את העבודות לשלבים — מסגמנט פיילוט ועד כיסוי מלא — ומציינים לוחות זמנים. תארו את המשימה בצורה חופשית, את החסר נבהיר בשאלות.