כותרות אבטחה ב-HTTP: שורת ההגנה שרוב האתרים שוכחים
מאת צוות מדיה דיל · 02.07.2026 · אבטחת מידע · 4 דק׳
HSTS, X-Frame-Options, Referrer-Policy, X-Content-Type-Options, Permissions-Policy, ו-CSP כשורת הגנה משלימה.
לפני שקוד אפליקציה בכלל רץ, הדפדפן כבר מקבל החלטות אבטחה על סמך כותרות HTTP שהשרת שלח יחד עם התגובה - וברוב האתרים הכותרות האלה פשוט לא מוגדרות, מה שמשאיר את ברירות המחדל הפרמיסיביות של הדפדפן פעילות. security headers הן שורת הגנה שלמה שעולה כמעט כלום להטמיע - שינוי בקונפיגורציית שרת או middleware אחד - אבל סוגרת קטגוריות שלמות של מתקפות כמו clickjacking, MIME sniffing ו-downgrade attacks עוד לפני שהן מגיעות לשכבת הלוגיקה של האפליקציה.
HSTS - כשה-HTTPS הראשון חייב להיות באמת הראשון
Strict-Transport-Security אומרת לדפדפן "לעולם אל תתחבר לדומיין הזה דרך HTTP רגיל, גם אם משתמש הקליד את הכתובת בלי https:// במפורש" - ומונעת בכך downgrade attack קלאסי שבו תוקף ב-man-in-the-middle מיירט את הבקשה הראשונה, שקורית לפני שהדפדפן בכלל יודע שהאתר תומך ב-HTTPS. עם דגל includeSubDomains וטעינה מראש ב-HSTS preload list המובנה בדפדפנים, ההגנה חלה עוד לפני שהמשתמש ביקר באתר בכלל בפעם הראשונה.
X-Frame-Options - מניעת Clickjacking
בלי הכותרת הזו, אתר זדוני יכול להטמיע את האתר שלכם בתוך iframe שקוף, למקם כפתור מזויף מעליו, ולגרום למשתמש ללחוץ על מה שנראה כמו כפתור תמים בזמן שבפועל הוא לוחץ על פעולה אמיתית באתר שלכם - העברת כסף, שינוי הרשאות, אישור טרנזקציה. X-Frame-Options: DENY חוסם embedding לחלוטין, ו-SAMEORIGIN מאפשר רק אם ה-frame וה-parent הם אותו דומיין. הכותרת frame-ancestors בתוך CSP נותנת שליטה גרנולרית יותר, אבל X-Frame-Options עדיין נחוץ לתאימות אחורה.
Referrer-Policy - מה בורח מכם דרך כותרת ה-Referer
כשמשתמש עובר מדף אחד לאחר, הדפדפן שולח כברירת מחדל את כתובת ה-URL המלאה של הדף הקודם בכותרת Referer - כולל query parameters שעלולים להכיל טוקן session, מזהה משתמש או פרטים רגישים אחרים, אפילו כשעוברים לדומיין חיצוני לגמרי. Referrer-Policy: strict-origin-when-cross-origin שולחת רק את הדומיין ולא את הנתיב המלא כשעוברים לאתר חיצוני, ומצמצמת דרמטית דליפת מידע לא מכוונת דרך קישורים יוצאים, פרסומות ואנליטיקס.
X-Content-Type-Options - מניעת MIME Sniffing
כברירת מחדל, דפדפנים מנסים "לנחש" את סוג הקובץ בפועל על סמך התוכן שלו ולא רק לפי כותרת Content-Type שהשרת שלח - התנהגות שפותחת פתח למתקפה: קובץ שהועלה כתמונה אך מכיל בפועל JavaScript עלול להתפרש ולהתבצע כסקריפט בהקשר מסוים. X-Content-Type-Options: nosniff מכריחה את הדפדפן לכבד את ה-Content-Type המוצהר בדיוק כפי שהוא, וסוגרת וקטור תקיפה שקשור ישירות לחולשות מסוג XSS שמנצלות בדיוק את חוסר הוודאות הזה.
Permissions-Policy - שליטה על יכולות חדשות בדפדפן
דפדפנים מודרניים חושפים API-ים עוצמתיים - מצלמה, מיקרופון, מיקום גיאוגרפי - וכל script שרץ בדף, כולל script של צד שלישי שנטען דרך תלות, יכול תיאורטית לבקש גישה אליהם. Permissions-Policy מאפשרת להצהיר במפורש אילו יכולות מותרות בדף כלל ואילו לא, ברמת ה-origin, בלי תלות בהתנהגות טובה של כל script שרץ בו. זו הגנת defense-in-depth חשובה בעידן שבו כמעט כל אתר טוען עשרות סקריפטים חיצוניים.
CSP - ההמשך הטבעי אבל נושא רחב בפני עצמו
מעבר לכותרות הבודדות שהוזכרו, Content-Security-Policy היא הכלי המקיף ביותר לשליטה על אילו מקורות מותר לטעון מהם סקריפטים, סגנונות ומשאבים אחרים בדף - ומגיעה עם מספיק אפשרויות תצורה שמצדיקות מדריך נפרד משלה. חשוב להבין ש-CSP לא מחליפה את שאר ה-security headers אלא משלימה אותן; שילוב נכון של כולן יחד הוא מה שנותן את שכבת ההגנה השלמה ברמת הדפדפן.
רוצים לבדוק אילו כותרות אבטחה חסרות אצלכם ולסגור את הפער תוך שעה? נשמח לעזור לכם בוואטסאפ.
תגיות: Security Headers · HSTS · X-Frame-Options · Referrer-Policy · CSP · Clickjacking