מדריך · 3 דקות קריאה

איך מוסיפים כותרות אבטחה בכל סביבה

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

עודכן ב־ · HackGrade

הקוד וההגדרות נשארים באנגלית.

ערכת הפתיחה

  • Strict-Transport-Security: תמיד להשתמש ב-HTTPS באתר הזה (קראו את מדריך ה-HSTS לפני שמפעילים).
  • X-Content-Type-Options: nosniff: מונעת מדפדפנים לנחש את סוג הקבצים.
  • X-Frame-Options: SAMEORIGIN: מונעת מאתרים אחרים להטמיע את האתר שלכם במסגרת (clickjacking).
  • Referrer-Policy: strict-origin-when-cross-origin: שולחת פחות מהכתובות שלכם לאתרים אחרים.
  • Permissions-Policy: מכבה יכולות דפדפן שאתם לא משתמשים בהן.

nginx

הוסיפו בתוך בלוק ה-server { }, ואז הריצו nginx -t וטענו מחדש.

nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

שימו לב: אם לבלוק location יש add_header משלו, nginx מתעלם מהכותרות של רמת ה-server באותו location. חזרו על הכותרות שם או שימו אותן בקובץ include משותף.

Apache ‏(.htaccess)

דורש את mod_headers (פעיל אצל רוב חברות האחסון).

.htaccess
<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
  Header always set X-Content-Type-Options "nosniff"
  Header always set X-Frame-Options "SAMEORIGIN"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
</IfModule>

Cloudflare

  1. הפעילו HSTS תחת SSL/TLS → Edge Certificates → HTTP Strict Transport Security.
  2. לשאר הכותרות, צרו Response Header Transform Rule ‏(Rules → Transform Rules → Modify Response Header) שמגדירה כל כותרת כערך קבוע לכל הבקשות הנכנסות.

וורדפרס בלי גישה לשרת

צרו את wp-content/mu-plugins/security-headers.php. תוספי must-use נטענים אוטומטית.

PHP
<?php
// Security headers for pages WordPress serves.
add_action( 'send_headers', function () {
    header( 'X-Content-Type-Options: nosniff' );
    header( 'X-Frame-Options: SAMEORIGIN' );
    header( 'Referrer-Policy: strict-origin-when-cross-origin' );
    header( 'Permissions-Policy: camera=(), microphone=(), geolocation=()' );
} );

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

הצעד הבא: Content-Security-Policy

CSP היא הכותרת החזקה ביותר וזו שהכי סביר שתשבור משהו. פעלו לפי מדריך ה-CSP והתחילו במצב דיווח בלבד.

מקורות

מדריכים קשורים

חינם · מיידי · בלי הרשמה

גלו את הציון שלכם לפני שמישהו אחר יגלה.

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

מתחילים בחינם. תוכניות בתשלום מ־12$ לחודש, או דוח חד־פעמי ב־29$. למחירים