תפקידן של כותרות אבטחה
כותרות אבטחה של HTTP מספקות מנגנון סטנדרטי עבור יישומי אינטרנט להורות לדפדפנים לאכוף מדיניות אבטחה ספציפית במהלך הפעלה [S1] [S2]. כותרות אלו פועלות כשכבה קריטית של הגנה מעמיקה, מפחיתה סיכונים שאולי לא יטופלו במלואם על ידי היגיון היישום בלבד.
מדיניות אבטחת תוכן (CSP)
מדיניות אבטחת תוכן (CSP) היא שכבת אבטחה המסייעת באיתור והפחתת סוגים מסוימים של התקפות, כולל סקריפטים חוצי אתרים (XSS) והתקפות הזרקת נתונים [S1]. על ידי הגדרת מדיניות המציינת אילו משאבים דינמיים מורשים לטעון, CSP מונע מהדפדפן לבצע סקריפטים זדוניים שהוזרקו על ידי תוקף [S1]. זה למעשה מגביל את הביצוע של קוד לא מורשה גם אם קיימת פגיעות הזרקה באפליקציה.
HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS) הוא מנגנון המאפשר לאתר להודיע לדפדפנים שיש לגשת אליו רק באמצעות HTTPS, ולא HTTP [S2]. זה מגן מפני התקפות שדרוג לאחור של פרוטוקול וחטיפת עוגיות על ידי הבטחה שכל התקשורת בין הלקוח לשרת מוצפנת [S2]. ברגע שדפדפן יקבל את הכותרת הזו, הוא ימיר אוטומטית את כל הניסיונות הבאים לגשת לאתר דרך HTTP לבקשות HTTPS.
השלכות אבטחה של כותרות חסרות
יישומים שלא מצליחים ליישם את הכותרות הללו נמצאות בסיכון גבוה משמעותית להתפשרות מצד הלקוח. היעדר מדיניות אבטחת תוכן מאפשר ביצוע של סקריפטים לא מורשים, מה שעלול להוביל לחטיפת הפעלה, הוצאת נתונים לא מורשית או השחתה של [S1]. באופן דומה, היעדר כותרת HSTS משאיר את המשתמשים רגישים להתקפות man-in-the-middle (MITM), במיוחד בשלב החיבור הראשוני, שבו תוקף יכול ליירט תעבורה ולהפנות את המשתמש לגרסה זדונית או לא מוצפנת של האתר [S2].
כיצד FixVibe בודק את זה
FixVibe כבר כולל זאת כבדיקת סריקה פסיבית. headers.security-headers בודק מטא-נתונים ציבוריים של תגובת HTTP עבור נוכחות וחוזק של Content-Security-Policy, Strict-Transport-Security, X-Frame-Options או ZXCVFIXVIBETOKEN4KENZXCV, ZXCVZIXVICV, headers.security-headers, Referrer-Policy, ו-Permissions-Policy. הוא מדווח על ערכים חסרים או חלשים ללא בדיקות ניצול, והנחיית התיקון שלו נותנת דוגמאות כותרת מוכנות לפריסה עבור הגדרות נפוצות של אפליקציות ו-CDN.
הדרכה לתיקון
כדי לשפר את עמדת האבטחה, יש להגדיר שרתי אינטרנט להחזיר כותרות אלו בכל מסלולי הייצור. יש להתאים CSP לדרישות המשאב הספציפיות של היישום, תוך שימוש בהנחיות כמו script-src ו-object-src כדי להגביל את סביבות ביצוע הסקריפט [S1]. לצורך אבטחת תחבורה, יש להפעיל את הכותרת Strict-Transport-Security עם הנחיית max-age מתאימה כדי להבטיח הגנה מתמשכת לאורך הפעלות משתמש [S2].
