מדוע אני לא משרת סתם https בלבד?
הסיבות העיקריות הן התנהגות ברירת המחדל של דפדפנים ו תאימות לאחור .
התנהגות ברירת מחדל
כאשר משתמש קצה (כלומר, ללא ידע בפרוטוקולים או אבטחה) מקליד את כתובת האתר בדפדפן שלו, הדפדפן משתמש כברירת מחדל ב- HTTP. ראה שאלה זו למידע נוסף על מדוע דפדפנים בוחרים בהתנהגות זו.
לפיכך, סביר להניח שמשתמשים לא יוכלו לגשת לאתר שלך.
תאימות לאחור
יתכן שמשתמשים עם מערכות ישנות ודפדפנים ישנים אינם תומכים ב- HTTPS או יותר סביר, שאין להם בסיס נתונים עדכני של אישורי שורש , או אינם תומכים בפרוטוקולים מסוימים.
במקרה זה, הם לא יוכלו לגשת לאתר או שתהיה להם אזהרת אבטחה. עליך להגדיר אם האבטחה של משתמשי הקצה שלך חשובה מספיק בכדי לאלץ HTTPS.
אתרים רבים עדיין מקשיבים ל- HTTP אך מפנים אוטומטית ל- HTTPS ומתעלמים ממשתמשים עם באמת דפדפנים.
מישהו יכול לזייף http://www.example.com אם אני לא מגדיר HSTS?
אם תוקף רוצה לזייף את http://www.example.com
, עליו להשתלט על הדומיין או להשתלט על כתובת ה- IP בצורה כלשהי.
אני מניח שהתכוונת: האם תוקף יכול לבצע התקפה של איש באמצע?
במקרה כזה כן, אבל אפילו עם HSTS או בלי:
-
ללא HSTS : תוקף יכול בקלות להיות באמצע השרת שלך ולמשתמש, ולהיות פעיל (כלומר, לשנות את התוכן) או פסיבי (כלומר, האזנת סתר)
-
עם HSTS : בפעם הראשונה שמשתמש מנסה לבקר באתר באמצעות HTTP, תוקף יכול להכריח את המשתמש להשתמש ב- HTTP. עם זאת, לתוקף יש חלון זמן מוגבל מתי יוכל לבצע את ההתקפה שלו.
מה עליכם לעשות?
כמו אתרים רבים, עליך לאפשר חיבורי HTTP ולגרום לך לשרת להפנות מחדש את המשתמש לגירסת HTTPS. בדרך זו אתה עוקף את התנהגות ברירת המחדל של הדפדפנים ומבטיח שהמשתמשים שלך משתמשים בגרסת HTTPS.
מערכות ישנות ללא פרוטוקולים מתאימים או אישורי שורש לא יוכלו לגשת לאתר (או לפחות תהיה להם אזהרה ), אך תלוי בבסיס המשתמשים שלך זה לא אמור להיות בעיה.
מסקנה
זה יגרום יותר נזק מתועלת להשבית HTTP. זה לא באמת מספק יותר אבטחה.
כל אבטחה שנוספה כדי להגן על משאב אינה מועילה אם היא מונעת מרוב המשתמשים בה גישה אליו. אם משתמשי הקצה שלך לא יכולים לגשת לאתר שלך מכיוון שהדפדפן שלהם כברירת מחדל ל- HTTP ואתה לא מקשיב לחיבורי HTTP, מה היתרון?
פשוט בצע את ההפניה מחדש של HTTP 301 לגרסת HTTPS.
שאלות קשורות