כלי אבטחה בקוד פתוח
נחירה נגד סוריקטה: איזה מנוע שומר על החוט שלך?
Snort ו-Suricata חולקים את ה-DNA של מערכת הזיהוי (תחביר כללים, כללי ET, עיבוד pcap) ונבדלים זה מזה בארכיטקטורה ובפלט. הבחירה היא פחות לגבי מה "טוב יותר" מאשר לגבי צורת הצינור של הצוות שלך: שושלת ה-Talos של Snort והיסטוריית ה-IPS מול תפוקת ריבוי ההליכים של Suricata ושילוב SOC-ראשון של JSON. השוואה זו היא טבלת ההחלטות.
נקודות עיקריות
- ארכיטקטורה מגדירה את ההתאמה: Snort 3 הגיעה לריבוי פתילים באמצעות עיצוב מחדש (Lua config, Hyperscan matching) בעוד ש-Suricata עברה ריבוי-הליכים מלידה (צינורות עובדים AF_PACKET), מה שאומר שחישת תפוקה גבוהה נשארת הנתיב החלק יותר של Suricata, וכל אחד מההיקפים הקטנים עדיין פועל.
- הפלט מחליט על הערימה שלך: ה-EVE JSON של Suricata (זרימות, מטא-נתונים של פרוטוקולים, התראות) נוחת ישירות בצינורות אלסטיים ומאפשרת ניתוח מטא-נתונים גם בין התראות, בעוד שהפורמטים הקלאסיים המאוחדים2/התראות של Snort משרתים שרשרת כלים מבוססת של Snort; עבור SOC-ראשון ב-JSON, מודל הנתונים של Suricata הוא יתרון תפעולי אמיתי.
- הכללים הם ניידים, וזה החסד השקט של השוק: שני המנועים קוראים את ערכי החוקים של ET ואת רוב תחביר החתימה, כך שמנויים לכללים וידע בזיהוי הם השקעה שנושאת על פני כל אחד מהמנועים; חלק מהרחבות Suricata (מילות מפתח של מטא נתונים, הקשרים של xbits) לא חוזרות ל-Snort.
- תנוחות IPS הן אפשריות והן כואבות: עיצובים מוטבעים של כשל פתוח/כישלון סגור, צמדי HA עבור גמישות וצימוד מדיניות לשכבות חומת אש, כך שההמלצה הריאליסטית עבור רוב הנכסים היא פסיבית IDS-first ללא קשר למנוע, קידום ל-inline רק עבור מקטעים בעלי ערך גבוה.
- הבגרות התפעולית שונה לפי הטעם: ל-Snort יש את אילן היוחסין הארוך יותר בתוספת Cisco Talos intel, טוב לתיבות סימון רכש; ל-Suricata יש ניהול OISF, מערכת אקולוגית של תוספים, וסיפור יכולת הפעולה ההדדית של Zeek (צינורות PCAP ל-NSM); שניהם מתקנים באופן פעיל, וגם לא Abandonware.
- הליך ההחלטה משקף את ההשוואות האחרות שלנו: בצע מלאי של הצינור שלך (נקודות מחסנית JSON SOC ב-Suricata; שרשרת הכלים של Snort הוקמה ב-Snort), התאם את מעטפת החומרה שלך (תפוקה וליבות), בחר נתיבי כללים לפי SLA של איום, ושימו לב שהחלפת מנועים מאוחרת יותר היא פרויקט כוונון, שכן ידע משרת את שניהם מחדש.
הערת שטח
צוות שייעצו לנו הפעיל את Snort במשך שמונה שנים לפני שהחליף ל-Suricata עבור צינור ה-SOC החדש שלהם, והכללים והכישורים נישאו ישר על פניו. ההערה שלהם לאחר החתך-אובר: 'זה היה פרויקט כוונון, לא הגירה'. זה מה שהמערכת האקולוגית המשותפת קונה לך.
שאלות נפוצות
האם קל יותר ללמוד?
תחביר כללים משותף, לכן העברת מיומנויות זיהוי; התצורה של Suricata נוטה להיות מתוארת כJSON/YAML נקייה יותר, בעוד שהתיעוד הארגוני של Snort ושילוב Talos נושאים את רוב תיבות הסימון של אישורי הפריסה.
האם עלינו להפעיל את שניהם בבת אחת?
אין מיותר: שני חיישנים שצופים באותו טווח מכפילים את הרעש ומצמצמים את הקריאה בחצי, וחפיפת הזיהוי גבוהה; הפעל מנוע אחד היטב עם כללים מכוונים, השתמש במקום זאת בתיבה השנייה עבור מטא נתונים מסוג NSM/Zeek.
מה משתלב טוב יותר עם ה-SIEM שלנו?
Suricata עבור צינורות מקוריים של JSON (פלט EVE מזין את Elastic/OpenSearch ישירות), Snort כאשר ל-SIEM שלך כבר יש מנתחי Snort/מטפלים מאוחדים2; המנצח הוא מה שנמנע משכבת ניתוח מותאמת אישית.
יש הבדלי חומרה שיש לכבד?
שניהם רוצים ליבות עבור צינור העובדים; Suricata מדרג את הליבות בצורה חלקה יותר ב-pps גבוה בלינוקס (AF_PACKET/AF_XDP), והיקפים קטנים פועלים בשמחה על קופסת סחורה אחת עם כל אחד מהמנועים.
איך Kinetikatech מסייעת לך ב-כלי אבטחה בקוד פתוח
בכנות, רוב הצוותים מגיעים אלינו אחרי שניסו לבד: אנשי המקצוע של ארגז הכלים לבדיקה ממשיכים לטעון: סורקים, סניפרים, קרקרים ופרוקסי אינטרנט הסבירו את האופן שבו הם משמשים בהתקשרויות אמיתיות - פקודות, דגלים, פלטים, והיכן כל אחד יושב במתודולוגיה. השירות בדיקות חדירה ואבטחת שרתי לינוקס שלנו קיים כדי שלא תלמדו כלי אבטחה בקוד פתוח בדרך הקשה, ושלא תגלו את זה בשיחה בשש בבוקר.