אבטחת אתר security headers חשובים

אבטחת אתר היא היבט חשוב שכל מפתח ומנהל אתר צריכים לשים עליו דגש. אחת הדרכים היעילות להגברת אבטחת אתר היא שימוש בכותרות אבטחה (security headers). כותרות אלו מורות לדפדפן כיצד לנהוג בבקשות HTTP ומסייעות בהגנה מפני התקפות נפוצות כמו חטיפת קליקים (clickjacking), סקריפטים חוצי אתרים (XSS), ותקיפות אחרות. במאמר זה, נסביר על הכותרות החשובות ביותר וכיצד להגדירן.

כותרות אבטחה אתר חשובות

Content Security Policy (CSP)

כותרת זו מסייעת למנוע התקפות XSS על ידי קביעת אילו מקורות תוכן מותרים.

דוגמה:

Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com

X-Content-Type-Options

כותרת זו מונעת מהדפדפן לנחש את סוג התוכן המוחזר מהשרת, ובכך מונעת תקיפות מבוססות MIME.

דוגמה:

X-Content-Type-Options: nosniff

Strict-Transport-Security (HSTS)

כותרת זו מכריחה את הדפדפן לטעון את האתר רק באמצעות HTTPS, ובכך מבטיחה חיבור מוצפן ומאובטח.

דוגמה:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

X-XSS-Protection

כותרת זו מפעילה את מנגנון ההגנה של הדפדפן מפני XSS.

דוגמה:

X-XSS-Protection: 1; mode=block

X-Frame-Options

כותרת זו מונעת מהאתר שלכם להיטען בתוך iframe באתרים אחרים, ובכך מונעת התקפות Clickjacking.

Header set X-Frame-Options "DENY"

Referrer-Policy

Referrer-Policy שולטת בכמות המידע שנשלח בכותרת ה-Referer כאשר המשתמש עובר מדף לדף.

Header set Referrer-Policy "no-referrer-when-downgrade"

Feature-Policy (Permissions-Policy)

כותרת זו מאפשרת למנהלי אתרים לקבוע אילו תכונות יכולות לשמש בדפדפנים בעת ביקור באתר. הכותרת מציינת אילו תכונות דפדפן מופעלות או מבוטלות עבור האתר.

Header set Permissions-Policy "geolocation=(self), microphone=()"

דוגמאות קוד להוספת כותרות אבטחה

הגדרת כותרות אבטחה ב-Apache:

<IfModule mod_headers.c>
    Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted.cdn.com"
    Header set X-Content-Type-Options "nosniff"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
    Header set X-XSS-Protection "1; mode=block"
</IfModule>

הגדרת כותרות אבטחה ב-Nginx:

add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted.cdn.com";
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "SAMEORIGIN";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header X-XSS-Protection "1; mode=block";

סיכום

אבטחת אתר היא חלק בלתי נפרד מתהליך פיתוח וניהול אתרים. שימוש בכותרות אבטחה הוא אחד מהכלים החשובים והיעילים להגברת אבטחת האתר והגנה מפני התקפות נפוצות. על ידי הגדרת הכותרות הללו, תוכלו להבטיח שהאתר שלכם יהיה מוגן יותר וכך לספק למשתמשים חוויית גלישה בטוחה.

Scroll to Top