הגדרת WAF: ModSecurity, Cloudflare ו-AWS WAF

חומות אש רשת סטנדרטיות מפספסות התקפות ברמת היישום, כך ש-SQL injections ו-XSS מגיעות לקוד ללא הפרעה. אנו מגדירים WAF (ModSecurity, Cloudflare, AWS WAF) וחוסמים וקטורים אלה לפני שהבקשה מגיעה ליישום. הצוות שלנו מספק פתרון מלא—מבחירת כללים ועד תמיכה מתמשכת—ומבטיח הגנה אמינה ללא פספוס מועדים.

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

שאלות נפוצות

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

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

WAF חוסם התקפות בשכבת היישום ש-firewall רשת פשוט לא מסוגל לראות. הזרקת SQL בפרמטר של בקשה, XSS ב-Header של User-Agent, Path Traversal ב-URL — כל אלה עוברים דרך Security Groups ופוגעים ישירות ביישום. WAF פועל ברמת HTTP, מנתח את גוף הבקשה, ומקבל החלטה לפני שהבקשה מגיעה לקוד. כל יום, מיליוני בקשות עוברות דרך ה-WAF שלנו, ורק מעטות גורמות ל-False Positives.

WAF — מחסום הכרחי

מפתחים לעיתים קרובות מסתמכים רק על WAF ודוחים תיקוני קוד. אבל WAF אינו פתרון קסם — הוא חוסם וקטורים ידועים אך לא פרצות לוגיות. הניסיון שלנו מראה ש-WAF מוגדר כראוי מספק כיסוי של 90% מ-OWASP Top 10 עם חריגים מנוהלים היטב. במשך 5+ שנים, פרסנו WAF על 30+ פרויקטים — מ-SaaS בעומס גבוה ועד פתרונות Legacy. המהנדסים שלנו מחזיקים בהסמכות AWS ו-Cloudflare, מה שמאשר את המומחיות שלהם. בזכות WAF, זמן התגובה הממוצע לאירועים ירד ב-40%. אנו מבטיחים 99.9% זמינות WAF ומפחיתים False Positives ל-2-5% לאחר כוונון.

השוואת פתרונות WAF

קריטריון ModSecurity + OWASP CRS AWS WAF Cloudflare WAF
מיקום שרת / Reverse Proxy ALB, CloudFront, API Gateway רמת CDN
ניהול קבצי תצורה Terraform / CloudFormation Dashboard / Terraform
כללים מובנים OWASP CRS (כיסוי 90%) AWS Managed Rules (ניתנים לעדכון) Cloudflare Managed Rules
כללים מותאמים SecRule (שפת ModSecurity) WebACL (JSON/Terraform) Expression Language
False Positives גבוה (דורשים חריגים מותאמים) בינוני נמוך (עדכונים אוטומטיים)
עלות חינם (רק משאבי שרת) תשלום לפי WebACL + כללים תמחור לפי תוכנית (Free/Pro/Business)

בחירת ה-WAF תלויה בארכיטקטורה שלך: ModSecurity לפתרונות שנבנים עצמאית, AWS WAF אם התשתית שלך כבר ב-AWS, Cloudflare אם אתה משתמש ב-CDN שלהם. AWS WAF קל פי 2-3 להגדרה מאשר ModSecurity, בעוד ש-Cloudflare WAF מפחית False Positives ב-50% בהשוואה ל-ModSecurity מחוץ לקופסה.

למה לפרוס WAF עם ניטור קודם?

הטעות האופיינית היא להפעיל WAF במצב חסימה מיד. בפרויקט אחד עם PHP Legacy, לאחר הפעלת AWS WAF במצב Count, קיבלנו 340 פגיעות CRS על בקשות POST רגילות של טפסים. כוונון החריגים לקח 3 ימים. אם היינו חוסמים מיד, היישום היה קורס. מצב ניטור מאפשר לאסוף סטטיסטיקות ולהימנע מהשבתת תכונות חשובות. לאחר שבוע של תצפית וחריגים מותאמים, מספר ה-False Positives יורד ל-2-5%. ההמלצות של OWASP CRS מדגישות את החשיבות של פריסה בשלבים.

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

מודול ModSecurity עם OWASP CRS על Nginx

ModSecurity הוא WAF בקוד פתוח שעובד כמודול עבור Nginx או Apache. OWASP Core Rule Set (CRS) הוא בסיס כללים המכסה מעל 90% מההתקפות הידועות.

התקנה ותצורה:

# Ubuntu/Debian apt install libmodsecurity3 libmodsecurity-dev
git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git
# Перекомпилируйте Nginx с модулем или используйте пакет из nginx.org
load_module modules/ngx_http_modsecurity_module.so;
http {
    modsecurity on;
    modsecurity_rules_file /etc/nginx/modsec/main.conf;
}
# /etc/nginx/modsec/main.conf
Include /etc/nginx/modsec/modsecurity.conf
Include /usr/share/modsecurity-crs/crs-setup.conf
Include /usr/share/modsecurity-crs/rules/*.conf

מצבים: # Ubuntu/Debian apt install libmodsecurity3 libmodsecurity-dev git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git # Перекомпилируйте Nginx с модулем или используйте пакет из nginx.org (רושם, לא חוסם) ו-load_module modules/ngx_http_modsecurity_module.so; http { modsecurity on; modsecurity_rules_file /etc/nginx/modsec/main.conf; } (חוסם). אנו תמיד מתחילים עם DetectionOnly, מכווננים חריגים, ואז עוברים.

כוונון חריגים של WAF

OWASP CRS במצב אגרסיבי מייצר הרבה False Positives על יישומים אמיתיים. לדוגמה, טופס עם עורך טקסט עשיר מייצר בקשות ש-CRS מחשיב כ-XSS:

# /etc/nginx/modsec/exclusions.conf
SecRule REQUEST_URI "@beginsWith /admin/editor" \
    "id:1001,phase:1,pass,nolog,ctl:ruleRemoveById=941100"
SecRuleUpdateTargetById 942100 "!ARGS:content"

חריגים מדויקים שומרים על הגנה עבור נקודות קצה אחרות. אנו מפרסמים דוחות חודשיים על פגיעות, מה שמגביר שקיפות. בעיבוד 1M בקשות ביום, אנו שומרים על 99.9% זמינות.

AWS WAF

AWS WAF קל יותר לתפעול — אין צורך בשרת, מנוהל דרך API/Terraform, משולב ב-CloudFront, ALB, API Gateway. בהשוואה ל-ModSecurity, הגדרת כללים מנוהלים מהירה פי 2-3.

resource "aws_wafv2_web_acl" "main" {
  name = "production-waf"
  scope = "REGIONAL"

  default_action {
    allow {}
  }

  rule {
    name = "AWSManagedRulesCommonRuleSet"
    priority = 10

    override_action {
      none {}
    }

    statement {
      managed_rule_group_statement {
        name = "AWSManagedRulesCommonRuleSet"
        vendor_name = "AWS"

        rule_action_override {
          name = "SizeRestrictions_BODY"
          action_to_use {
            count {}
          }
        }
      }
    }

    visibility_config {
      cloudwatch_metrics_enabled = true
      metric_name = "AWSManagedRulesCommonRuleSet"
      sampled_requests_enabled = true
    }
  }

  rule {
    name = "RateLimitRule"
    priority = 1

    action {
      block {}
    }

    statement {
      rate_based_statement {
        limit = 2000
        aggregate_key_type = "IP"
      }
    }

    visibility_config {
      cloudwatch_metrics_enabled = true
      cloudwatch_metrics_enabled = true
      metric_name = "RateLimit"
      sampled_requests_enabled = true
    }
  }

  visibility_config {
    cloudwatch_metrics_enabled = true
    metric_name = "ProductionWAF"
    sampled_requests_enabled = true
  }
}

אנו משתמשים ב-תיעוד AWS WAF. אנו מגדירים מדדי CloudWatch לניטור 99.9% זמינות.

Cloudflare WAF

Cloudflare WAF פועל לפני שהתעבורה מגיעה לתשתית שלך. כללים מנוהלים מתעדכנים אוטומטית נגד איומים עדכניים. הפריסה מהירה פי 3 מאשר ModSecurity.

resource "cloudflare_ruleset" "zone_waf" {
  zone_id = var.zone_id
  name = "Custom WAF Rules"
  kind = "zone"
  phase = "http_request_firewall_custom"
  rules {
    action = "block"
    expression = "(http.request.uri.path contains \"wp-admin\" and not ip.src in {10.0.0.0/8})"
    description = "Block wp-admin from outside"
    enabled = true
  }
  rules {
    action = "challenge"
    expression = "(cf.threat_score gt 20)"
    description = "Challenge high threat score"
    enabled = true
  }
}

מה כלול בהקמת WAF סוהר?

  1. ביקורת יישום ותעבורה: ניתוח לוגים, זיהוי אזורים פגיעים.
  2. בחירת WAF (ModSecurity / AWS / Cloudflare) בהתאם לתשתית שלך.
  3. פריסה במצב ניטור: איסוף פגיעות, ניתוח False Positives.
  4. הגדרת חריגים לבקשות לגיטימיות.
  5. מעבר למצב חסימה עם כללים מותאמים (Rate Limiting, Geo-Blocking).
  6. תיעוד: רשימת כללים, חריגים, הוראות לצוות.
  7. הכשרת מפתחים לעבודה עם לוגי WAF.

לוח זמנים ועלות

אפשרות לוח זמנים מחיר התחלתי
Cloudflare WAF — הגדרת כללים מנוהלים בסיסית יום אחד $500
AWS WAF עבור ALB עם כללים מותאמים 1–2 ימים $1,000
ModSecurity על Nginx עם OWASP CRS 2–3 ימים $800
כל אפשרות עם כוונון חריגים לתעבורה אמיתית +1–2 ימים +$500

התמחור נקבע באופן אישי לאחר ביקורת יישום ותעבורה. חיסכון אופייני באירועי אבטחה הוא 30%.

איך אנו מבטיחים תוצאות?

מהנדסים מוסמכים עם מעל 5 שנות ניסיון ב-WAF, פרוסים על 30+ פרויקטים. אנו פועלים לפי שיטות עבודה מומלצות רשמיות: המלצות OWASP CRS, AWS Well-Architected Framework. בכל שלב אנו מספקים ארטיפקטים: דוחות ניטור, שינויי תצורה, Runbooks לאירועים. אנו מבטיחים הפחתת False Positives ל-2-5% לאחר כוונון.

רוצה להגן על הפרויקט שלך? קבל ייעוץ — ננתח את הארכיטקטורה שלך ונציע את הפתרון האופטימלי. הזמן ביקורת WAF ונראה לך איך לקצץ את תקציב האבטחה שלך ב-30%.