סקירה כללית #
מאמר זה מסביר כיצד להעביר iRule F5 BIG-IP נפוץ המשמש להכנסת כותרת אבטחה של HTTP לתוך RELIANOID באמצעות תכונות חוות HTTP/S מקוריות.
ה-iRule הבא מזריק מספר כותרות אבטחה של תגובת HTTP:
כאשר HTTP_RESPONSE_RELEASE { אם {!([ HTTP::header קיים "X-XSS-Protection"])} { HTTP::header insert "X-XSS-Protection" "1; mode=block" } אם { !([ HTTP::header קיים "Strict-Transport-Security" ])} { HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload" } אם { !([ HTTP::header קיים "content-security-policy" ])} { HTTP::header insert "content-security-policy" "frame-ancestors 'none'" } אם {!([HTTP::header קיים "X-Content-Type-Options" ])} { HTTP::header insert "X-Content-Type-Options" nosniff } }
In RELIANOID, ניתן להגדיר בקרות אבטחה אלו ישירות דרך ממשק המשתמש של האינטרנט מבלי להזדקק לסקריפטים של TCL.
הפעלת HSTS (אבטחת תעבורה קפדנית) #
HSTS מאלץ דפדפנים להשתמש בחיבורי HTTPS בלבד. היתרונות כוללים:
- מניעת התקפות הסרת SSL
- אכיפת תקשורת מוצפנת
- שיפור אבטחת התעבורה בצד הדפדפן
סעיף iRule הבא:
HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
ניתן להעביר ישירות דרך ממשק המשתמש של האינטרנט.
נווט אל: חוות > חוות HTTP/S > שירותים
לאחר מכן:
- בחר את שירות ה-HTTP/S הרצוי
- הפעל את מתג ה-STS
זה מזריק אוטומטית את Strict-Transport-Security כותרת לתוך תגובות HTTPS.
הגדרת כותרת אבטחה של X-XSS-Protection #
מאפשר סינון XSS של דפדפנים מדור קודם. למרות שדפדפנים מודרניים מסתמכים יותר על CSP, כותרת זו עדיין שימושית לתרחישי תאימות.
נווט אל: חוות > חוות HTTP/S > גלובלי > מתקדם > כותרותלאחר מכן: לחץ Create ruleבחר:
סוּג: Response: Add header
כותרת: X-XSS-Protection
ערך: 1; mode=block
הגדרת כותרת אבטחה של מדיניות אבטחת תוכן #
שולט באופן שבו ניתן להטמיע ולטעון תוכן. יתרונות:
- מונע חטיפת קליקים
- מגביל מסגור בלתי מורשה
- משפר את מצב האבטחה של הדפדפן
נווט אל: חוות > חוות HTTP/S > גלובלי > מתקדם > כותרותלאחר מכן: לחץ Create ruleבחר:
סוּג: Response: Add header
כותרת: Content-Security-Policy
ערך: frame-ancestors 'none'
הגדרת כותרת אבטחה של X-Content-Type-Options #
מונע גילוי MIME על ידי דפדפנים. יתרונות:
- מונע פרשנות של תוכן זדוני
- מפחית וקטורים מסוימים של הזרקת סקריפטים
נווט אל: חוות > חוות HTTP/S > גלובלי > מתקדם > כותרותלאחר מכן: לחץ Create ruleבחר:
סוּג: Response: Add header
כותרת: X-Content-Type-Options
ערך: nosniff
בדיקת מערכות #
לאחר החלת התצורה, יש לאמת את כותרות התגובה באמצעות:
תלתל -I https://
תפוקה צפויה:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload X-XSS-Protection: 1; mode=block מדיניות אבטחת תוכן: frame-ancestors 'none' אפשרויות סוג תוכן X: nosniff
פתרון בעיות #
כותרות לא מופיעות #
אמת:
- הכללים מיושמים על החווה הנכונה
- HTTPS מופעל עבור HSTS
- כללי כותרת מוגדרים כך תְגוּבָה כללי
- תצורת החווה יושמה/טעינה מחדש
כותרות כפולות #
אם אפליקציית ה-backend כבר מזריקה כותרות, ייתכן שיופיעו כפילויות. המלצה:
- החלט האם כותרות ינוהלו על ידי אפליקציית ה-Backend או על ידי RELIANOID תצורת החווה
- הימנעו מניהול אותן כותרות בשני המקומות.
HSTS לא עובד #
לְהַבטִיחַ:
- לקוחות מתחברים דרך HTTPS
- תעודות SSL תקפות מותקנות
- דפדפנים לא בודקים דרך HTTP
כותרות HSTS מתעלמות בחיבורים שאינם TLS.
<br> סיכום #
ניתן להעביר את F5 iRules המשמשים להכנסת כותרת אבטחה של HTTP אל RELIANOID שימוש בתכונות חוות HTTP/S מקוריות ללא סקריפטים של TCL.
גישה זו מפשטת את הניהול תוך שמירה על פונקציונליות אבטחה מקבילה.