SSL – מה זה? מדוע צריך? מי צריך? כיצד עובד? כיצד מתחילים? כיצד להתקין? איך אני יודע שזה עובד?

עדכון – 23.5.2017

לאור הפופולריות הרבה של המאמר הזה מאז נכתב, חשוב להוסיף כי פרוטוקול SSL הולך ותופס את מקומו, לצד רכיבים נוספים, כרכיב משמעותי במוניטין האתר באופן שבו הוא נתפס ומוצג על ידי גוגל. למעשה, מזה כשלוש שנים שגוגל מחשיבה את העובדה שיש לכם SSL באתר – הניתן לזיהוי במבנה הכתובת – https://example.com – כסיגנל התומך בשיפור הדירוג של האתר בתוצאות החיפוש. כך שגם אם אתם לא גובים כסף באתר באמצעות כרטיסי אשראי, ישנה חשיבות בסיסית בהתקנת SSL באתר שלכם.

מה זה SSL?

SSL (Secured Sockets Layer) הוא פרוטוקול של תקשורת מוצפנת בין מחשבים המאפשר תקשורת מאובטחת ביניהם.

מדוע צריך SSL?

פרוטוקול SSL בא לפתור את הבעיה המוגדרת בשאלה הבאה:

כיצד יכולים שני מחשבים לדבר ביניהם מבלי שמחשב שלישי שמאזין יוכל להבין את השיחה.

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

מי צריך SSL?

צריך SSL כל מי שיש לו אתר שמכיל חלקים בהם מתקיימת תקשורת אינטראקטיבית המכילה העברה של מידע רגיש בין מחשבים שחשוב – מכל סיבה שהיא – שתהייה מאובטחת. דוגמאות הן: העברת פרטי כרטיס אשראי ברכישות אונליין, ניהול אזורים אישיים למיניהם כמו למשל שירותי קופ"ח (הזמנת תור, בדיקת תוצאות בדיקה), שירותי בנק (בירור הוצאות והכנסות), שימוש ברשתות חברתיות למיניהן וכיו"ב.

כיצד עובד SSL?

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

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

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

כיצד מתחילים?

ראשית כל, יש לקנות רישיון SSL אצל ספק סרטיפיקטים של SSL (SSL Certificate Provider). קיימים לא מעט כאלו בשוק. כל חברה מציעה סוגים שונים של SSL ותכניות שונות הכוללות רישיונות לפרקי זמן שונים. תוכלו למצוא את רשימת החברות הגדולות וביקורות עליהן כאן. ביקורות נוספות המתמקדות בעלות כספית לעומת תועלת ופונקציונליות ניתן לקרוא כאן. בפרט, ראוי לבדוק האם התכנית כוללת בתוכה wildcard SSL המאפשר את החלת הפרוטוקול על כל ה- subdomains של אתר נתון.

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

א. האם היא מספקת SSL?

ב. האם היא משתפת פעולה עם חברה שמספקת SSL?

כדי להתקין את ה- SSL (ראו בהמשך), כדי לפתור בעיות של SSL לאחר ההתקנה וכדי לחדש את ה- SSL נדרש תיאום בין ספק ה- SSL ובין חברת האחסון שלכם. אי לכך, רצוי שהאחריות על ה- SSL תיפול על נותן שירותים אחד. אחרת, אתם עלולים למצוא את עצמכם – כפי שקורה המון בתחום ה- web – במצב שבו קיימת בעיה כאשר חברת האחסון מאשימה את ספק ה- SSL ומנגד, ספק ה- SSL מאשים את חברת האחסון. חסכו לכם את כאב הראש הזה, השקיעו את המאמץ בחיפוש אחר נותן שירותים טוב – ישיר או עקיף (כמו למשל planwize.com….) – כך שהאחריות לפתרון הבעיה תהיה עליו מאלף ועד תו.

כיצד להתקין SSL?

לאחר שרכשתם את רישיון ה- SSL עליכם להתקין אותו.

ראשית כל, אם ספק ה- SSL שלכם וחברת האחסון הם אותה חברה – בדקו האם הם יכולים להתקין את ה- SSL עבורכם וחסכו את ההתקנה!

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

על מנת להתקין SSL יש צורך בביצוע הפעולות הבאות:

בקשת CSR מחברת האחסון

תחילה בקשו מחברת האחסון שלכם CSR (Certificate Signing Request). ה- CSR מכיל בין היתר נתונים לגבי הסרטיפיקט המוצפנים בחתימה דיגיטלית של המפתח הפרטי וכן מזהה אלגוריתם (המהווה מפתח ציבורי). כדי לקבל מושג איך נראה CSR מצורף להלן CSR הנלקח מויקיפידה :

—–BEGIN CERTIFICATE REQUEST—–

MIIBnTCCAQYCAQAwXTELMAkGA1UEBhMCU0cxETAPBgNVBAoTCE0yQ3J5cHRvMRIw

EAYDVQQDEwlsb2NhbGhvc3QxJzAlBgkqhkiG9w0BCQEWGGFkbWluQHNlcnZlci5l

eGFtcGxlLmRvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAr1nYY1Qrll1r

uB/FqlCRrr5nvupdIN+3wF7q915tvEQoc74bnu6b8IbbGRMhzdzmvQ4SzFfVEAuM

MuTHeybPq5th7YDrTNizKKxOBnqE2KYuX9X22A1Kh49soJJFg6kPb9MUgiZBiMlv

tb7K3CHfgw5WagWnLl8Lb+ccvKZZl+8CAwEAAaAAMA0GCSqGSIb3DQEBBAUAA4GB

AHpoRp5YS55CZpy+wdigQEwjL/wSluvo+WjtpvP0YoBMJu4VMKeZi405R7o8oEwi

PdlrrliKNknFmHKIaCKTLRcU59ScA6ADEIWUzqmUzP5Cs6jrSRo3NKfg1bd09D1K

9rsQkRc9Urv9mRBIsredGnYECNeRaK5R1yzpOowninXC

—–END CERTIFICATE REQUEST—–

העברת ה- CRS לאישור של ספק ה- SSL

העתיקו את הטקסט של ה- CRS והדביקו אותו במקום המתאים בממשק של ספק ה- SSL. המפענח של ספק ה- SSL יבדוק האם הקידוד של ה- CRS תקין. אם כן, הוא ישלח בקשה ליצירת חבילת קבצים הידועה בשם (CTR). בדרך כלל יש לחכות כ- 24 שעות מרגע הזנת ה- CRS ועד קבלת ה- CTR.

קבלת CTR מספק ה- SSL

ברגע שה- CTR מוכן בדרך כלל תקבלו על כך הודעה במייל מספק ה- SSL שלכם שבתוכה תהיינה הוראות כיצד להוריד אותו (לרוב קובץ .zip) למחשב שלכם. עליכם לבחור בהורדת CTR שיהיה מותאם למערכת ההפעלה שפועלת על השרת שלכם. לכן, לפני ההורדה:

א. בררו איזה סוג מערכת הפעלה פועלת על השרת שלכם.

ב. בחרו באופציה הרלוונטית הקשורה לסוג השרת בממשק של ספק ה- SSL הנוגע להורדת ה- CTR.

שליחת ה- CTR לחברת האחסון

שלחו את ה- CTR לחברת האחסון שלכם כך שהיא תתקין את הקבצים על השרת.

וידוא DNS

יש לוודא כמה דברים בהקשר לניתוב שמות השרתים:

1. יש לוודא שה- nameserver של האתר מצביע ל- ip הנכון שעליו מותקן ה- SSL.

2. אם האתר משתמש ב- CDN (Content Delivery Network) יש למחוק את כל נתוני ה- cache שלה.

3. אם האתר משתמש ב- CDN יש לוודא ששימוש ב- SSL אינו מוגבל.

איך אני יודע שה- SSL עובד?

לרוב תקבלו חיווי לכך מחברת האחסון שלכם. בכל מקרה, כדאי לעשות כמה בדיקות ישירות: לאחר שניקיתם את ה- cache של הדפדפן שלכם, גשו לכמה דפים באתר שלכם שבהם נעשה שימוש ב- SSL ובדקו שהדף עולה באופן חלק ושהתחילית בכתובת בדפדפן היא https:// שבאה לציין שמדובר בפרוטוקול מאובטח: HyperText Transfer Protocol Secure.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *