IP-Expect The IP-Unexpected
אחד הדברים אשר אנו מחפשים תמיד בפתרון רשתי כלשהו , הוא האימות של כתובת הIP האמיתית שמגיעה ממקור המשתמש הסופי ( לגיטימי או האקר ). עם זאת , ישנה בעיה ידועה כאשר כל מערכת אבטחת מידע יושבת מאחורי Proxy כזה או אחר.
הסיבה לבעיה נעוצה בעובדה ש Proxy ( או Load Balancer ), שובר את הTCP Stream ומייצג כתובות IP אחרות בחלק הפנימי שלו . לפי כך מערכות קלאסיות כמו IPS או דומות , אינן רואות את כתובות הIP האמיתיות אשר הגיעו מהעולם. לא ניתן לזהות את מקור ההתקפה בצורה קורלטיבית ומכך נגזר - שאי אפשר להגן בצורה יעילה כנגד התקפה על פי זיהוי מקור.
כאן בדיוק נכנס עולם ניתוח האפליקציה.
כאשר Proxy או כל TCP Terminator כלשהו ( כגון Load Balancer ) קיים , אחת התכונות שלו היא הוספה או עריכה של Headers - דוגמא טובה תהיה בHTTP Header. התוספת הרלוונטית במקרה של Proxy תהיה בצורת פרמטר X-Forwarded-For , אשר הינו פרמטר המכיל את הIP המקורי אשר קולף על ידי הProxy והוחלף בכתובת שלו עצמו.
על ידי קילוף הפרמטר והחלפת כתובת ה Source IP בכתובת שהוצגה בפרמטר , ניתן למעשה לבנות חוקים לגישה או להבין אירועים על פי כתובת המקור. מה שמשנה לחלוטין את זווית הראיה של מערכות אשר יושבות מאחורי Proxy.
כמובן רצוי לוודא שקיים Trust מסויים בין הProxy לבין אותה מערכת , כדי שהמערכת תדע שהHeader אכן שונה על ידי הProxy ולא על ידי אלמנט צד שלישי ,כגון האקר שרוצה לעקוף IP Filtering בצורה זו.
Labels: design, imperva, technology, waf