מאפייני הבעיה
לאחר שאתה מחיל את עדכון האבטחה MS10-070 לשרתים המשרתים אתרי אינטרנט של Microsoft ASP.NET הפרוסים בחוות אינטרנט, חלק מהשרתים או היישומים בחוות האינטרנט עלולים להיתקל באחת או יותר מהתופעות הבאות:
-
כשל בפענוח נתונים
-
חריגות במטפלים WebResource או ScriptResource
-
כשלים באימות בעת שימוש באימות טפסים
-
חריגות "Invalid Viewstate"
-
חריגות "Unable to validate data" בעת ניסיון לפענח נתונים כגון קובץ Cookie מסוג אימות טפסים
הכשל עלול להתבטא כחריגת יישום בעת גישה ליישום ASP.NET, ובנוסף, מידע הדומה למידע הבא עשוי להירשם ביומן היישום.
הודעה 1:System.Web.HttpException : לא ניתן לאמת נתונים ב- System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)
הודעה 2:Event Type: אזהרה מקור האירוע: ASP.NET 2.0.50727.0 קטגוריית אירוע: אירוע אינטרנט מזהה אירוע: 1309 תאריך: תאריך שעה: שעה משתמש: לא ישים תיאור: קוד אירוע: 3005 הודעת אירוע: אירעה חריגה לא מטופלת. פרטי חריגה: סוג חריגה: HttpException הודעה על חריגה: לא ניתן לאמת נתונים.
סיבה
עדכון האבטחה שאליו מתייחס עלון MS10-070 משנה את התנהגות ברירת המחדל של ההצפנה ב- ASP.NET התנהגות ברירת המחדל החדשה לאחר התקנת עדכון האבטחה היא ביצוע אימות בנוסף לפענוח גם אם התבקש רק פענוח. התנהגות ברירת מחדל זו משנה את המטען המוצפן בשרתים שבהם הוחל עדכון זה. המטען עשוי לכלול מצב תצוגה וקובצי Cookie של אימות טפסים. אם בחוות אינטרנט עדכון האבטחה מוחל רק על חלק מהשרתים, יהיה הבדל בשיטות ההצפנה והפענוח של אותו מטען על פני שרתים שונים בחוות האינטרנט, הבדל זה בהתנהגות גורם לחריגות. התנהגות זו עלולה להתרחש גם אם קובצי Cookie של אימות טפסים שהם עקביים במערכת לפני החלת עדכון האבטחה נצרכים לאחר עדכון האבטחה. בנוסף, שיטות ההצפנה והפענוח יהיו שונות עבור גירסאות שונות של ה- Service Pack עבור Microsoft .NET Framework 2.0. לכן, קיום רמות שונות של Service Pack עבור .NET Framework בסביבת חוות אינטרנט שבה מותקן עדכון האבטחה גורם למטעני הצפנה שונים ולכשל פענוח דומה.
פתרון הבעיה
ודא שהתנאים הבאים מתקיימים בכל השרתים המשרתים את תוכן ASP.NET:
-
כל השרתים המשרתים אתר ASP.NET בחוות האינטרנט חייבים להתקין את עדכון האבטחה. אם עדכון האבטחה אינו מותקן בחלק מהשרתים עליך להחיל עדכון זה לאותם שרתים.
-
כל המחשבים המריצים גירסה מסוימת של .NET Framework 2.0 בחוות האינטרנט נמצאים באותה רמת service pack אם עדכון האבטחה MS10-070 הוחל על כל המערכות. אם קיים הבדל ברמות ה- Service Pack בשרתים, עליך לעדכן את כל השרתים ל- Service Pack האחרון ולהחיל מחדש את כל עדכוני האבטחה. לכן, אם חלק מהשרתים בחוות האינטרנט מריצים את .NET Framework 2.0 SP1, ושרתים אחרים מריצים את .NET Framework 2.0 SP2, יש לשדרג את כל שרתי .NET Framework 2.0 SP1 לגירסת .NET Framework 2.0 SP2 לפני החלת עדכון האבטחה על כל השרתים בחוות האינטרנט.
-
ודא שהיישומים אינם צורכים נתונים מוצפנים, כגון קובצי Cookie של אימות טפסים שנוצרו לפני החלת העדכון. נתונים שהוצפנו קודם לכן יש לרענן לאחר החלת עדכון האבטחה.
למידע נוסף אודות זיהוי גירסאות .NET Framework ולהתקנת עדכוני אבטחה בשרתים עיין בסעיף "הפניות".
מידע נוסף
למידע נוסף אודות מצב תצוגת ASP.NET עיין במאמר הבא:
סקירת מצב תצוגה של ASP.NETלמידע נוסף אודות אימות טפסים ב- ASP.NET עיין במאמר הבא
סקירת אימות טפסים ב-ASP.NETלמידע נוסף אודות כרטיסים וקובצי Cookie של אימות טפסים ב-ASP.NET לחץ על מספר המאמר הבא להצגתו במאגר הידע Microsoft Knowledge Base:
910443 הבנת כרטיסים וקובצי Cookie של אימות טפסים (ייתכו שטקסט זה מוצג באנגלית) למידע נוסף אודות המטפל במשאבי אינטרנט של ASP.NET לחץ על מספר המאמר הבא להצגתו במאגר הידע Microsoft Knowledge Base:
910442 עבודה עם משאבי אינטרנט ב- ASP.NET 2.0 (ייתכו שטקסט זה מוצג באנגלית)