הגדרת אבטחת זמן ריצה עבור קונטיינרים (Falco)

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

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

שאלות נפוצות

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

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

אבטחת זמן ריצה עבור קונטיינרים עם 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

  1. ביקורת אשכול—בדיקת תאימות קרנל (קרנל ≥ 5.8 עבור eBPF מודרני), סקירת מדיניות אבטחה קיימת.
  2. פריסת Falco—התקנת DaemonSet דרך Helm עם בחירת דרייבר אופטימלית (eBPF / eBPF מודרני).
  3. כוונון חוקים—דיכוי תוצאות חיוביות שגויות עבור המחסנית שלכם (שמות תמונות, namespaces, קונטיינרים ראשוניים).
  4. חוקים מותאמים אישית—כתיבת זיהויים ספציפיים לאפליקציות שלכם (לדוגמה, כלים אסורים, פעילות רשת חריגה).
  5. שילוב התראות—חיבור Falcosidekick ל-Slack/PagerDuty/Loki עם הגדרת עדיפויות.
  6. תיעוד והדרכה—מדריך תפעול, רשימת בדיקה לתגובה לאירועים, הדרכת צוות.

למה לבחור בנו

אנחנו עוסקים באבטחת קונטיינרים כבר למעלה מ-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 עבור האשכול שלכם.