אבטחת זמן ריצה עבור קונטיינרים עם Falco
סריקת תמונות בזמן בנייה היא הכרחית אך לא מספיקה. אם תוקף משיג גישת shell בתוך pod דרך פרצת אפליקציה, סריקה סטטית לא תעצור אותו. Falco פועל בזמן ריצה: הוא עוקב אחר קריאות מערכת ברמת הקרנל ומתריע כשמשהו משתבש—לדוגמה, כאשר תהליך nginx פתאום קורא ל-execve("/bin/bash"). לפי דוח IBM Cost of a Data Breach, העלות הממוצעת של פרצת נתונים בענן היא 4.24 מיליון דולר—ואבטחת זמן ריצה היא קריטית למניעת תקריות כאלה. השבתה של אפליקציות קריטיות יכולה לעלות 5,000 דולר לשעה.
דמיינו שאתם משתמשים בתמונת helm repo add falcosecurity https://falcosecurity.github.io/charts helm repo update helm install falco falcosecurity/falco \ --namespace falco --create-namespace \ --set driver.kind=ebpf \ --set falcosidekick.enabled=true \ --set falcosidekick.config.slack.webhookurl="https://hooks.slack.com/services/..." \ --set falcosidekick.config.slack.minimumpriority=warning , ותוקף מנצל פרצת RCE ב-Express כדי להפעיל reverse shell. שום סורק סטטי לא יזהיר אתכם—רק ניטור זמן ריצה יכול. אנו מגדירים את Falco מקצה לקצה תוך 1-3 ימים, כולל כוונון חוקים עבור המחסנית שלכם. לקוחות מדווחים על ירידה של 40% בזמן התגובה הממוצע (MTTR), מה שמוביל לחיסכון משמעותי בעלויות.
כיצד Falco מזהה חריגות ברמת הקרנל
Falco מיירט אירועים באמצעות מודול קרנל או eBPF probe. באשכולות Kubernetes, eBPF היא האפשרות המועדפת כי היא לא דורשת טעינת מודול קרנל (לעיתים קרובות אסור בצמתים מנוהלים כמו GKE, EKS). עם Falco 0.35+, קיים מצב eBPF מודרני שעובד ללא מהדר probe נפרד.
פריסה באמצעות Helm:
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm repo update
helm install falco falcosecurity/falco \
--namespace falco --create-namespace \
--set driver.kind=ebpf \
--set falcosidekick.enabled=true \
--set falcosidekick.config.slack.webhookurl="https://hooks.slack.com/services/..." \
--set falcosidekick.config.slack.minimumpriority=warningה-DaemonSet של Falco רץ על כל צומת—חשוב כי eBPF probes קשורים לקרנל ספציפי.
למה eBPF עדיף על פני מודול קרנל
| מאפיין | מודול קרנל | eBPF legacy | eBPF מודרני (≥5.8) |
|---|---|---|---|
| דורש טעינת קרנל | כן | לא | לא |
| עובד על Kubernetes מנוהל | לעיתים קרובות אסור | מותר | מותר |
| תאימות בין קרנלים | נמוכה | בינונית | גבוהה (CO-RE) |
| ביצועים | גבוהים | בינוניים | גבוהים |
eBPF מודרני מהיר פי 2 מ-eBPF legacy לפי בדיקות ביצועים. הצוות שלנו משתמש בו ב-90% מהפרויקטים.
בעיות אופייניות ש-Falco פותר
-
ביצוע shell בקונטיינרים בייצור—וקטור התקיפה הנפוץ ביותר לאחר ניצול פרצות. Falco מזהה קריאות
execveעם bash/sh באופן מיידי. -
שינויים בקבצי תצורה—כתיבה ל-
/etc,/var/run/secrets, וספריות רגישות אחרות. כללWrite below etcמופעל אך דורש כוונון עבור קונטיינרים ראשוניים לגיטימיים. - חילוץ נתונים מהרשת—הרצת curl/wget/nc בתוך קונטיינר כדי לשלוח נתונים החוצה. הכלל המותאם אישית למטה תופס פעולות כאלה.
כלל מותאם אישית לזיהוי curl/wget בתוך קונטיינרים בייצור:
# /etc/falco/rules.d/custom-rules.yaml
- rule: Unexpected outbound HTTP from container
desc: Detects curl/wget execution inside containers
condition: >
spawned_process and container and proc.name in (curl, wget, nc, ncat) and not proc.pname in (package-manager, apt-get, yum)
output: >
Outbound HTTP tool in container (user=%user.name command=%proc.cmdline container=%container.name image=%container.image.repository)
priority: WARNING
tags: [container, network, mitre_exfiltration]חוקים מוחלים ללא הפעלה מחדש של Falco—אפשר לבדוק חוקים פעילים עם # /etc/falco/rules.d/custom-rules.yaml - rule: Unexpected outbound HTTP from container desc: Detects curl/wget execution inside containers condition: > spawned_process and container and proc.name in (curl, wget, nc, ncat) and not proc.pname in (package-manager, apt-get, yum) output: > Outbound HTTP tool in container (user=%user.name command=%proc.cmdline container=%container.name image=%container.image.repository) priority: WARNING tags: [container, network, mitre_exfiltration] .
Falcosidekick—ניתוב התראות
Falco עצמו כותב אירועים ל-stdout/syslog. עבור הגדרת ייצור, צריך את Falcosidekick: הוא מקבל אירועים ומנתב אותם ל-Slack, Telegram, PagerDuty, Elasticsearch, Loki, Kafka, או webhooks. הגדרה דרך falco --list:
---
falcosidekick:
enabled: true
config:
slack:
webhookurl: "https://hooks.slack.com/services/..."
minimumpriority: "warning"
elasticsearch:
hostport: "http://elasticsearch:9200"
index: "falco-events"
minimumpriority: "notice"
loki:
hostport: "http://loki:3100"
| ערוץ | פרוטוקול | מקרי שימוש אופייניים |
|---|---|---|
| Slack | Webhook | התראות מיידיות לצוות התורן |
| Elasticsearch | HTTP | אחסון אירועים לניתוח ב-Kibana |
| PagerDuty | API | הסלמה של תקריות קריטיות |
בפועל, כדאי לשכפל אירועים קריטיים גם ל-Slack וגם ל-Elasticsearch/Loki—לתגובה מהירה ולבניית לוחות מחוונים ב-Grafana המציגים תדירות תקריות.
מה כוללת ההתקנה שלנו של Falco
- ביקורת אשכול—בדיקת תאימות קרנל (קרנל ≥ 5.8 עבור eBPF מודרני), סקירת מדיניות אבטחה קיימת.
- פריסת Falco—התקנת DaemonSet דרך Helm עם בחירת דרייבר אופטימלית (eBPF / eBPF מודרני).
- כוונון חוקים—דיכוי תוצאות חיוביות שגויות עבור המחסנית שלכם (שמות תמונות, namespaces, קונטיינרים ראשוניים).
- חוקים מותאמים אישית—כתיבת זיהויים ספציפיים לאפליקציות שלכם (לדוגמה, כלים אסורים, פעילות רשת חריגה).
- שילוב התראות—חיבור Falcosidekick ל-Slack/PagerDuty/Loki עם הגדרת עדיפויות.
- תיעוד והדרכה—מדריך תפעול, רשימת בדיקה לתגובה לאירועים, הדרכת צוות.
למה לבחור בנו
אנחנו עוסקים באבטחת קונטיינרים כבר למעלה מ-10 שנים, עם למעלה מ-50 פריסות ייצור של Falco. המהנדסים שלנו מחזיקים בהסמכות CKS ו-CKAD. אנו מציעים אחריות על ההתקנה: התאמות חוקים בחינם במהלך החודש הראשון לאחר הפריסה. צרו קשר לייעוץ והערכת פרויקט.
הפחתת תוצאות חיוביות שגויות
שיעור גבוה של תוצאות חיוביות שגויות הוא הסיבה העיקרית לנטישת Falco בייצור. חוקי ברירת מחדל יכולים להגיע עד 90% תוצאות חיוביות שגויות: לדוגמה, values.yaml מופעל על קונטיינרים ראשוניים, ו-falcosidekick: enabled: true config: slack: webhookurl: "https://hooks.slack.com/services/..." minimumpriority: "warning" elasticsearch: hostport: "http://elasticsearch:9200" index: "falco-events" minimumpriority: "notice" loki: hostport: "http://loki:3100" על sidecars. הפתרון הוא חריגים מותאמים אישית. אנו בונים חוקים תוך התחשבות בתמונות וב-namespaces שלכם, ושומרים רק על אירועים מסוכנים באמת. לאחר כוונון, שיעור התוצאות החיוביות השגויות יורד ל-5-10%.
רשימת בדיקה לדוגמה לכוונון חוקים
- [ ] בדיקת תאימות קרנל (
Write below etc)—eBPF מודרני דורש 5.8+ - [ ] בחירת דרייבר: eBPF מודרני לקרנלים חדשים, אחרת eBPF legacy
- [ ] הגדרת Falcosidekick עם עדיפות מינימלית
spawned_process - [ ] הוספת חריגים לקונטיינרים ראשוניים ו-sidecars לפי
warning - [ ] בדיקת חוק מותאם אישית בסביבת staging על ידי יצירת אירוע בדיקה
סיכום
אבטחת זמן ריצה היא שכבה חובה עבור אשכולות ייצור. Falco עם eBPF מספק נראות ברמת הקרנל ללא תקורה. הזמינו התקנת Falco turnkey ושמרו על הקונטיינרים שלכם מוגנים. קבלו ייעוץ להגדרת Falco עבור האשכול שלכם.







