Web Application Firewall (WAF)¶
מבוא¶
מנגנון Web Application Firewall (WAF) הוא מנגנון אבטחה שתפקידו להגן על יישומי ווב מפני מתקפות שונות. הוא פועל כמסנן בין המשתמשים לאפליקציה, מזהה תנועת רשת זדונית וחוסם ניסיונות תקיפה. WAF משמש כדי למנוע מתקפות כמו:
-
SQL Injection (SQLi)
-
Cross-Site Scripting (XSS)
-
Cross-Site Request Forgery (CSRF)
-
Server-Side Request Forgery (SSRF)
-
Command Injection
-
Insecure File Upload
-
XML External Entity (XXE)
-
Path Traversal
כיצד WAF עובד?¶
WAF יכול לפעול בשלוש דרכים עיקריות:
-
Blacklist (רשימה שחורה) – מזהה ומסנן דפוסים ידועים של מתקפות.
-
Whitelist (רשימה לבנה) – מאפשר רק תעבורה שעומדת בחוקים מוגדרים מראש.
-
מוד חוקים הסתברותי (Behavioral Analysis) – מזהה דפוסי שימוש חשודים ולומד אילו בקשות לגיטימיות.
WAF יכול להיות מוטמע בדרכים הבאות:
-
Software-based WAF – פתרון מבוסס תוכנה שמותקן בשרת.
-
Cloud-based WAF – פתרון מבוסס ענן, כמו Cloudflare WAF.
-
Hardware-based WAF – מכשיר ייעודי שממוקם לפני השרתים.
דוגמאות למניעת מתקפות¶
1. SQL Injection (SQLi)¶
קוד פגיע ב-PHP:¶
$id = $_GET['id'];
$query = "SELECT * FROM users WHERE id = '$id'";
$result = mysqli_query($conn, $query);
📌 תוקף יכול לבצע UNION או OR '1'='1' כדי לקבל מידע רגיש.
✅ WAF חוסם זאת על ידי זיהוי תווים חשודים כמו ' ו-UNION SELECT וחוסם את הבקשה.
2. Cross-Site Scripting (XSS)¶
קוד פגיע:¶
📌 תוקף יכול להזריק <script>alert('Hacked');</script>.
✅ WAF מזהה קלט עם <script> וחוסם אותו.
3. Cross-Site Request Forgery (CSRF)¶
📌 תוקף שולח למשתמש לינק זדוני שמבצע בקשה בשמו.
✅ WAF יכול לזהות ולחסום בקשות ללא CSRF Token.
4. Server-Side Request Forgery (SSRF)¶
📌 מתקפה המאפשרת לתוקף לגרום לשרת לשלוח בקשות פנימיות.
✅ WAF מזהה בקשות לכתובות כמו 169.254.169.254 (AWS metadata) וחוסם אותן.
5. Command Injection¶
קוד פגיע:¶
📌 תוקף יכול להוסיף ; rm -rf /.
✅ WAF מזהה פקודות חשודות כמו rm, wget, nc וחוסם אותן.
6. Insecure File Upload¶
📌 תוקף מעלה קובץ PHP במקום תמונה ומריץ קוד זדוני.
✅ WAF מזהה קבצים עם סיומות מסוכנות (.php, .exe) ובודק תוכן קובץ.
7. XML External Entity (XXE)¶
📌 מתקפה המשתמשת בקובץ XML כדי לקרוא קבצים כמו /etc/passwd.
✅ WAF מזהה <!DOCTYPE עם SYSTEM file:// וחוסם את הבקשה.
8. Path Traversal¶
קוד פגיע:¶
📌 תוקף יכול לספק ../../../etc/passwd.
✅ WAF מזהה ../ ומונע גישה לקבצים רגישים.
סיכום¶
🔴 מתקפות ווב הן נפוצות ומסוכנות, אך ניתן להתמודד איתן בעזרת WAF.
✅ מה WAF עושה?
-
מזהה מתקפות ומסנן אותן בזמן אמת.
-
חוסם בקשות חשודות ומגן על קלט משתמשים.
-
מונע SQLi, XSS, CSRF, SSRF, ועוד.
-
מצמצם פגיעויות אפליקציה ומונע ניצול של קבצים ושירותים רגישים.
💡 שימוש נכון ב-WAF הוא שלב קריטי באבטחת אפליקציות ווב.