הפעלת TLS 1.2 והקשחת תקשורת בטוחה
מעבר לפרוטוקולי הצפנה מודרניים (TLS 1.2 ו-TLS 1.3) הוא הכרח אבטחתי ורגולטורי. עם זאת, השבתה פזיזה של TLS 1.0 יכולה "לשבור" את הגישה לשרת, לנתק משתמשי RDP ולהפיל תקשורת ל-SQL. במדריך זה נלמד את ה-Best Practice לאנשי סיסטם: ביצוע בדיקות מקדימות, הפעלת התקן החדש (וחיזוק ה-.NET), ורק לבסוף – השבתה בטוחה של הפרוטוקולים הישנים.
שלב 1: בדיקות קדם (Pre-Flight Checks)
לפני שנוגעים ברג'יסטרי, חובה לוודא שמערכת ההפעלה בכלל מסוגלת לתקשר ב-TLS 1.2. במערכות ישנות (Windows 7 / Server 2008 R2 / 2012), ללא עדכון KB3140245 הניסיון שלנו ייכשל. הסקריפט הבא בודק את גרסת המערכת, מחפש עדכונים חסרים, ומבצע בדיקת תקשורת חיה (Ping HTTPS) מול השרתים של גוגל כדי לוודא תאימות.
שלב 2: הפעלת TLS 1.2/1.3 ותיקון ה-.NET
הכלל באבטחת מידע הוא: קודם בונים את הגשר החדש, ורק אז הורסים את הישן. הסקריפט הבא מדליק את הפרוטוקולים המאובטחים ב-Schannel, וחשוב מכך – מכריח את ה-.NET Framework להשתמש בהצפנה חזקה (Strong Crypto). ללא תיקון ה-.NET, תוכנות צד-שלישי ואפליקציות מקומיות יקרסו כי הן ינסו להמשיך להשתמש ב-TLS 1.0 גם כשהוא יהיה כבוי.
כדי לוודא שהאפליקציות שלכם התחילו לדבר ב-TLS 1.2, בצעו ריסטרט עכשיו. ודאו שהכל עובד תקין. רק אם המערכת יציבה, עברו לשלב הבא (כיבוי הישן).
שלב 3: השבתת הפרוטוקולים הישנים (Disable Legacy)
לאחר שווידאנו שהמערכת עובדת היטב על הפרוטוקולים החדשים, הגיע הזמן לחסום את הפרצות. הסקריפט הבא ישבית את ה-SSL 3.0 ואת TLS 1.0 ו-1.1.
שלב 4: בדיקות פוסט-הקשחה ופתרון תקלות
כיביתם את TLS 1.0 ומשהו נשבר? להלן מדריך הדיאגנוסטיקה לתקלות הנפוצות ביותר בעקבות המעבר:
- שגיאת חיבור RDP ("An authentication error has occurred"):
כיביתם את TLS 1.0 בשרת, ופתאום אי אפשר להתחבר אליו מרחוק.
הסיבה: תחנת הקצה ממנה אתם מתחברים, או גרסת ה-Remote Desktop בשרת עצמו, אינם תומכים ב-TLS 1.2.
הפתרון: ודאו שמותקן עדכון RDP גרסה 8.0+ בשרתים ישנים. אם התקלה קורית באופן מיידי, ייתכן שתעודת ה-SSL של שירות ה-RDP הייתה תלויה בפרוטוקול הישן. היכנסו ל-tsconfig.msc(או ל-Registry) וודאו שרמת האבטחה של ה-RDP לא מוגדרת לדרוש Ciphers ספציפיים שהושבתו (כמו 3DES). - שגיאת התחברות ל-SQL Server:
האפליקציה הארגונית הפסיקה להתחבר לשרת ה-DB ומציגה שגיאת Connection.
הפתרון: שרתי SQL Server 2012/2014 דורשים עדכון ספציפי (Service Pack או CU) כדי לתמוך ב-TLS 1.2. בנוסף, חובה לעדכן את כלי הלקוח – ה-SQL Native Client בתחנות הקצה – לגרסה שתומכת ב-TLS 1.2 (לדוגמה גרסה 11.0.7001 ומעלה). - אאוטלוק (Outlook) מבקש סיסמה בלולאה או מתנתק:
הפתרון: זה קורה ב-Office 2013 או 2016 בתחנות ישנות. ודאו שהרצתם את קטע ה-.NET (Strong Crypto) בתחנת הקצה, והתקינו את העדכונים האחרונים ל-Office מ-Windows Update. - תוכנת ERP ישנה קורסת (Legacy Apps):
אם יש לכם תוכנה ישנה מאוד שהקוד שלה נכתב "Hardcoded" לעבוד רק מול TLS 1.0, שום סקריפט .NET לא יעזור. במקרה זה, מנהל הרשת ייאלץ לבצע ניהול סיכונים (Risk Acceptance) ולהחזיר את מפתח ה-Enabled של TLS 1.0 לערך 1 (לפחות ב-Client) באותו שרת ספציפי, עד לשדרוג התוכנה.
בונוס: כלי ה-GUI המוביל (IIS Crypto)
מעדיפים לעבוד עם ממשק חלונאי ולא עם קוד? הכלי IIS Crypto הוא הסטנדרט בתעשייה. פשוט הורידו אותו לשרת, לחצו על כפתור "Best Practices", סמנו וי על Reboot, ולחצו Apply. הוא יגדיר את כל מה שעשינו למעלה (כולל חסימת Ciphers פרטניים חלשים) בלחיצת כפתור אחת.
להורדת IIS Crypto