שְׁאֵלָה:
מדוע עלי להציע HTTP בנוסף ל- HTTPS?
lofidevops
2017-04-18 18:00:56 UTC
view on stackexchange narkive permalink

אני מגדיר שרת אינטרנט חדש. בנוסף ל- TLS / HTTPS, אני שוקל ליישם אבטחה תחבורתית קפדנית ומנגנוני אכיפת HTTPS אחרים.

נראה כי כל אלה מבוססים על ההנחה שאני משרת http://www.example.com בנוסף ל https://www.example.com . מדוע אני לא משרת HTTPS בלבד? כלומר, האם יש סיבה מבוססת אבטחה לשרת HTTP - למשל, האם מישהו יכול לזייף http://www.example.com אם אני לא מגדיר HSTS?

דפדפנים שאינם עשויים להתקשות הרבה יותר בהבאת תוכן, אם זה עניין.אתרים כמו קרייגסליסט משגשגים למשל ב- mashups.אני לא רואה את הפגיעה בהשארת חלק מדורי http פתוחים, עבור "משתמשים" שאינם אנושיים;לא אכפת להם מפישינג, xss או פרטיות, ואפילו לא צריך להגיש HTML ...
@dandavis - האם זו באמת בעיה?אם קרייגסליסט היה עובר ל- HTTPS בלבד, האם כולם לא היו ממירים את סקריפט האחזור שלהם ל- HTTPS?מרבית ספריות לקוח HTTP כוללות תמיכה ב- HTTPS.
איך אנשים אמורים להפיץ FUD על כך ש- HTTPS אינו מעשי אם אתה מנהל אתר HTTPS בלבד ללא בעיות?תחשוב, בנאדם!ומה עם ההאקרים המסכנים שרוצים לתקוף סבתות שלא שמעו על HTTPS בכל מקום?זה כאילו שאתה מנסה לקדם רשת מאובטחת יותר או משהו כזה.
@Johnny: אינפרה אינפורמציה רבה תומכת ב- https כמו http, זה הכל.זה ישתפר...
@dandavis זה משהו שמתמיה אותי ... כל הדפדפן הראשי צריך להתחיל לנסות https * לפני * http ... זה יפתור לא מעט בעיות אבטחה ...
שֵׁשׁ תשובות:
Anders
2017-04-18 18:58:32 UTC
view on stackexchange narkive permalink

מסיבות שימושיות עליכם להציע הפניה מחדש ל- HTTPS מכל כתובות ה- URL של ה- HTTP. אחרת מבקרים בפעם הראשונה שמזינים example.com/some/page בסרגל ה- URL של הדפדפן יתקבלו על ידי שגיאת חיבור.

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

אז אתה צריך להפעיל שרת HTTP, אבל זה לא צריך להגיב בשום דבר מלבד ההפניות מחדש .

ההערות אינן לדיון מורחב;השיחה הזו הועברה לצ'אט] (http://chat.stackexchange.com/rooms/57580/discussion-on-answer-by-anders-why-should-i-offer-http-in-addition-to-https).
Ronny
2017-04-18 18:44:48 UTC
view on stackexchange narkive permalink

מדוע אני לא משרת סתם 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.

שאלות קשורות

התייחסתי לתבליט הנועז "With HSTS", שם הנוסח מצביע על כך שיש פחות אבטחה אם השרת מגיש הפניה מ- HTTP ל- HTTPS.
@BenVoigt אה בסדר אני מבין.הסרתי את האפשרות "אם אתה משרת HTTP" כדי למנוע אי הבנה.תודה
בנוסף, ייתכן שמשתמשים מסוימים לא יוכלו לגשת לאתרי 'https'.למשל, סין חסמה בעבר את כל תעבורת https לפרויקטים של ויקימדיה.
רק תיקון לבחירת המילה: המשתמש לא מזין "URL", אלא "כתובת אינטרנט".(אין דבר כזה ערכת ברירת מחדל / פרוטוקול).
@OskarSkog שיניתי ל"כתובת אתר ", תודה.
שים לב כי עבור "עם HSTS", HSTS נטען מראש למעשה יגן על מבקרים ראשונים באתר שלך מפני התקפות MITM.
Taul
2017-04-18 23:40:49 UTC
view on stackexchange narkive permalink

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

עם זאת, אתה יכול למתן זאת באמצעות אפשרות HSTS Preload. טעינה מראש של האתר שלך פירושה שאתה רושם את הדומיין שלך אצל ספקי הדפדפנים והם יקשיחו קוד בדפדפנים שלהם כדי לבקר באתר שלך באמצעות HTTPS בלבד. כלומר, אם משתמש ינסה לגשת לאתר שלך באמצעות HTTP, הדפדפן ישנה את הבקשה ל- HTTPS. המשתמש לא צריך קודם לקבל את כותרת HSTS לפני שהוא מאובטח. הם תמיד יתחברו אליך בערוץ מאובטח.

עכשיו זה לא מגן על משתמשים המשתמשים בדפדפנים שלא עדכנו את רשימת אתרי ה- HTTPS שלהם בלבד. גם בעת שימוש בטעינה מוקדמת אני ממליץ לא לכבות את HTTP עבור מעט האנשים המשתמשים בדפדפנים ישנים או לא מעודכנים.

אך היזהר, הטעינה מראש היא קבועה! קשה מאוד לרדת מרשימת הטעינה המוקדמת.

כדי להיכנס לרשימת הטעינה המוקדמת: https://hstspreload.org/

איזו בעיה תיפתר באמצעות ירידה מרשימת הטעינה המוקדמת?כלומר, למה שמישהו ירצה?(אני שואל שאלה טכנית; לא רטורי. הבנתי היא שהם היו רוצים רק אם הם יחליטו * להפסיק * להגיש HTTPS משום מה - נכון?)
@Wildcard זה נכון.מקרה שימוש אחד שיכולתי לחשוב עליו הוא שאם דומיין נרשם על ידי אדם X הם נותנים לו להיעלם או העבירו את הדומיין לאדם Y אחר. עכשיו אדם Y נאלץ להשתמש ב- https למרות שהם לא ירצו לעשות זאת מכל סיבה שהיא, מגבלות טכניות עם יוצר האתר שלהם לגרור ושחרר וכו '.
תודה @Erik,.מנקודת מבט עיצובית לטווח ארוך מאוד, אם כן, אני חושד שטעינה מוקדמת של HSTS היא קבועה על ידי * בחירה מכוונת * - עם מטרת הסיום הסופית של * ביטול מלא של http בפועל, כך שהדפדפנים הפופולריים ידרשו ממך לעבור "הגדרות מתקדמות""תפריטים אפילו כדי לאפשר זאת.לפחות, אנחנו יכולים לחלום.:)
@Wildcard אני מסכים שזו כנראה המטרה.מעניין מה יקרה ברחבי האינטרנט הראשון אם כי IPv6 כברירת מחדל או https בלבד?;) שניהם נדרשים אך הם קרב בעלייה ......
לסקוט הר יש מידע נהדר על כך.אנא קרא את עמוד הבלוג שלו בנושא זה: https://hpkp.scotthelme.co.uk/death-by-copy-paste/ בקיצור, סקוט מביא שלוש סיבות.1) לא מתחשב בהשפעות על כל תת-הדומיינים שאתה מנהל 2) לא שוקל את ההשפעות על כל תת-הדומיינים שאתה מאפשר לצדדים שלישיים לנהל.3) העתק / הדבקת תצורות כותרת כדי לכלול טעינה מקדימה (ואז מישהו רושם את האתר שלך עם או בלי רשותך).
Root
2017-04-18 18:05:02 UTC
view on stackexchange narkive permalink

אינך חייב.

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

יתכן ויש לך מכשיר שאינו תומך ב- HTTPS, סקריפט מותאם אישית וכו '.

אף אחד לא יכול לזייף HTTP מכיוון שרשומת ה- DNS שייך לך ותיעוד A מצביע על כתובת ה- IP הספציפית שלך (בעולם מושלם).

אתה עושה את זה רק כדי לשמור על תאימות, זהו זה.

"אף אחד לא יכול לזייף http" - האם אתה מתכוון ל"אף אחד לא יכול "או" כולם יכולים "?"רשומת ה- DNS שייכת לך והרשומה מצביעה על כתובת ה- IP הספציפית שלך" - לפי הנמקה זו, התקפות איש-באמצע לעולם אינן מתרחשות, ולכן אין צורך ברשויות אישורים ובשרשרת אמונים.
"אף אחד לא יכול לזייף http, כי רשומת ה- DNS שייכת לך" - נכון.אלא אם כן מישהו מזייף את ערך ה- DNS ובמקרה זה ניתן לזייף.
user3496510
2017-04-18 22:12:54 UTC
view on stackexchange narkive permalink

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

גם אם ישנם מכשירים (IoT) שניגשים לנתונים הרגישים של השרת שלך, עליך להכריח אותם להשתמש ב- TLS (התקנים קיימים רבים יכולים לאחסן את האישור שלך וליצור חיבור TLS). זכור שלגירסאות ה- SSL לפני 3.0 יש נקודות תורפה רבות כגון פודל-באג וכו '. לפיכך, השבת את כל הגרסאות הקודמות משרת האינטרנט שלך ואפשר רק> TLS 1.1.

טוב שתיישם את ה- HSTS. אני ממליץ לך לבחון את היתכנות הטמעת HPKP גם באתר שלך.

Russell Hankins
2017-04-22 01:19:21 UTC
view on stackexchange narkive permalink

אני משתמש ב- http בנוסף ל- https לשתי מטרות:

  1. הפוך את הפניית ה- http לאתר https. זה מיועד אם מישהו מקליד את שם האתר שלך לדפדפן.
  2. אני יוצר אתר נפרד עבור http המיועד למישהו שינסה לגשת לאתר מבלי להשתמש בשם dot com. (משתמש אמיתי לא מתכוון לעשות זאת.) אתר אינטרנט זה יציג הודעה פשוטה בקרוב. היא גם תצרף את כתובת ה- IP שלהם לרשימת הכחשות בטבלאות IP כדי לאסור לצמיתות את אותה IP מהשרת. זה מפסיק strike> מאט האקרים המשתמשים ב masscan. (מצאתי masscan על ידי אחסון מחרוזות סוכן המשתמש של כל ה- IP שחסמתי כדי להוכיח למתכנת אחר שזה לא סריקת גוגל, אלא למעשה, האקרים זרים שעושים סריקת IP מחפשים שרתי אינטרנט כדי לנסות לפרוץ).


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...