ASP.NET אמון חלקי אינו מבטיח בידוד יישומים

מבוא

ASP.NET מאפשר למנהלי מערכת לארח יישומים במצבי אמון חלקי, כגון אמון בינוני. היא גם מאפשרת קביעת תצורה של רמות אמון חלקיות מותאמות אישית באמצעות קבצי מדיניות מותאמים אישית. לקבלת מידע נוסף אודות השימוש באמון בינוני ב ASP.NET 2.0, עבור אל דף האינטרנט הבא של Microsoft Developer Network (MSDN):

כיצד לבצע: שימוש באמון בינוני ב ASP.NET 2.0 תיארנו בעבר ASP.NET אמון חלקי כמנגנון לאכיפת בידוד יישומים בסביבת אירוח משותפת שבה יישומים מרובים בעלי רמות אמון שונות מתארחים באותו שרת אינטרנט. אנו מעדכנים את ההנחיות שלנו בנושא זה כדי לשקף שהפעלת יישום מסגרת דף ASP.NET באמון חלקי אינה מבטיחה בידוד מוחלט מיישומים אחרים הפועלים באותו תהליך או באותו מחשב. 

קביעת התצורה של יישומי מסגרת דף ASP.NET כך שיפעלו בתהליכים נפרדים בעלי הרשאות נמוכות (באמצעות מאגרי יישומים בודדים) היא ההליך המומלץ כדי לוודא בידוד מיישומי מסגרת דף ASP.NET אחרים באותו שרת אינטרנט. הסעיף הבא מספק פרטים על אופן קביעת התצורה של יישומים לבידוד. אנו מעדכנים את התיעוד הנוסף שלנו כדי לשקף את השינוי במדיניות המתואר במאמר זה. 

מידע נוסף

על מנהלי שרתים להחיל את הקווים המנחים במאמר זה כדי לוודא שהיישומים מבודדים בסביבות אירוח משותפות. הנחיות אלה חלות על אירוח ASP.NET ב- Windows Server 2003 SP2 ובגירסאות מתקדמות יותר. ההנחיות מכסות את Internet Information Services (IIS) 6.0 עד 7.5.

רבות מהמשימות המתוארות כאן יכולות להפוך לאוטומטיות באמצעות כלי שורת הפקודה AppCmd.exe IIS ב- IIS 7 ו- 7.5 ובאמצעות קבצי Script של ניהול IIS ב- IIS 6.0.

כיצד למקם יישומים באתרי IIS נפרדים

בסביבת אירוח משותפת, יש למקם יישומים באתרי IIS נפרדים. התצורה מבודדת טוב יותר בין יישומים כאשר הם מתארחים באתרים נפרדים. בנוסף, מארח ה- CLR של .NET Framework יהיה נפרד. זה מספק בידוד נוסף ברמה זו.

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

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. פתח את מנהל Internet Information Services (IIS).
  2. בחלונית הימנית, הרחב את הצומת עבור השרת הנוכחי.
  3. לחץ באמצעות לחצן העכבר הימני על הצומת 'אתרי אינטרנט ', לחץ על 'חדש' ולאחר מכן לחץ על 'אתר אינטרנט'.
  4. לחץ על הבא.
  5. הזן שם ייחודי עבור אתר האינטרנט החדש ולאחר מכן לחץ על הבא.
  6. קבע את תצורת איגודי האתר עבור סביבת האירוח.
  7. הזן את הנתיב הפיזי של התיקיה שבה מאוחסנים קבצי היישום.
  8. לחץ כדי לבחור את תיבת הסימון הפעל קבצי Script (כגון ASP) ולאחר מכן לחץ על הבא.
  9. לחץ על סיום. האתר החדש מופיע תחת הצומת 'אתרי אינטרנט' .

Internet Information Services 7 (Windows Vista SP2 ו- Windows Server 2008 SP1) ו- Internet Information Services 7.5 (Windows 7 ו- Windows Server 2008 R2)

  1. פתח את מנהל Internet Information Services (IIS).
  2. בחלונית ' חיבורים ', הרחב את הצומת עבור השרת הנוכחי.
  3. בחר את הצומת אתרים ולאחר מכן לחץ על הקישור הוסף אתר אינטרנט בחלונית פעולות .
  4. בתיבת הדו-שיח הוספת אתר אינטרנט , הזן שם ייחודי עבור אתר האינטרנט החדש ולאחר מכן הזן את הנתיב הפיזי של התיקיה שבה מאוחסנים קבצי היישום. כברירת מחדל, נוצר מאגר יישומים חדש בעל שם זהה לזה של האתר, והאתר מוגדר לשימוש במאגר יישומים זה. (זוהי התצורה המומלצת.)
  5. קבע את תצורת איגודי האתר עבור סביבת האירוח.
  6. לחץ כדי לנקות את תיבת הסימון הפעל מיד אתר אינטרנט כדי לוודא שהאתר אינו זמין עד להשלמת הנחיות הבידוד המפורטות כאן.
  7. לחץ על אישור. האתר שתצורתו נקבעה מופיע תחת הצומת 'אתרים ' בחלונית 'חיבורים '.

כיצד למקם אתרים במאגרי יישומים נפרדים

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

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. פתח את מנהל Internet Information Services (IIS).
  2. בחלונית הימנית, הרחב את הצומת עבור השרת הנוכחי.
  3. לחץ באמצעות לחצן העכבר הימני על מאגרי יישומים, לחץ על חדש ולאחר מכן לחץ על מאגר יישומים.
  4. הזן שם ייחודי עבור מאגר היישומים החדש ולאחר מכן לחץ על אישור.
  5. הרחב את צומת אתרי האינטרנט .
  6. לחץ באמצעות לחצן העכבר הימני על אתר היעד ולאחר מכן לחץ על מאפיינים.
  7. לחץ על הכרטיסיה 'מדריך כתובות בית '.
  8. בשדה מאגר יישומים בחלק התחתון של תיבת הדו-שיח, בחר את מאגר היישומים החדש.
  9. לחץ על אישור.

Internet Information Services 7 (Windows Vista SP2 ו- Windows Server 2008 SP1) ו- Internet Information Services 7.5 (Windows 7 ו- Windows Server 2008 R2)

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

  1. פתח את מנהל Internet Information Services (IIS).
  2. בחלונית ' חיבורים ', הרחב את הצומת עבור השרת הנוכחי.
  3. בחר את הצומת 'מאגרי יישומים' .
  4. בחלונית ' פעולות ', לחץ על הקישור 'הוסף מאגר יישומים '.
  5. הזן שם ייחודי עבור מאגר היישומים החדש ולאחר מכן בחר גירסת יעד של .NET Framework ומצב קו צינור.
  6. לחץ על אישור. מאגר היישומים החדש מוצג ברשימה.
  7. בחלונית ' חיבורים ', הרחב את הצומת 'אתרים '.
  8. בחר את האתר שברצונך להעביר למאגר היישומים שיצרת קודם לכן בהליך זה.
  9. בחלונית ' פעולות ', לחץ על הקישור 'הגדרות בסיסיות' .
  10. בתיבת הדו-שיח 'עריכת אתר ', לחץ על 'בחר'.
  11. ברשימה מאגר יישומים , בחר את מאגר היישומים שיצרת קודם לכן.
  12. לחץ על אישור.

בתיבת הדו-שיח 'עריכת אתר ', לחץ על 'אישור'.

כיצד להגדיר מאגרי יישומים לבידוד (זהות תהליך)

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

Internet Information Services 6.0 (Windows Server 2003 SP2)

צור חשבון משתמש מקומי שישמש כזהות של מאגר היישומים

  1. פתח את מנהל Internet Information Services (IIS).
  2. בחלונית הימנית, הרחב את משתמשים מקומיים וקבוצות מקומיות.
  3. לחץ באמצעות לחצן העכבר הימני על הצומת משתמשים ולאחר מכן לחץ על משתמש חדש.
  4. הזן שם ייחודי וסיסמה חזקה עבור חשבון המשתמש החדש.
  5. לחץ כדי לנקות את תיבת הסימון על המשתמש לשנות סיסמה בכניסה הבאה .
  6. לחץ כדי לבחור בתיבת הסימון המשתמש אינו יכול לשנות סיסמה .
  7. לחץ על 'צור' ולאחר מכן לחץ על 'סגור'.
  8. בחלונית הימנית, בחר את הצומת משתמשים . החשבון החדש מופיע ברשימה.

קביעת התצורה של מאגר היישומים לשימוש בחשבון המשתמש המקומי החדש

  1. פתח את מנהל Internet Information Services (IIS).
  2. בחלונית הימנית, הרחב את הצומת עבור השרת הנוכחי.
  3. הרחב את הצומת 'מאגרי יישומים' .
  4. לחץ באמצעות לחצן העכבר הימני על מאגר היישומים המשמש כיעד ולאחר מכן לחץ על 'מאפיינים'.
  5. לחץ על הכרטיסיה 'זהות '.
  6. בחר בלחצן האפשרויות הניתן להגדרה .
  7. הזן את שם המשתמש והסיסמה של החשבון החדש.
  8. לחץ על אישור.
  9. הזן שוב את הסיסמה בתיבת הדו-שיח אישור סיסמה ולאחר מכן לחץ על אישור.

Internet Information Services 7 ו- 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ו- Windows Server 2008 R2)

  1. פתח את מנהל Internet Information Services (IIS).
  2. בחלונית ' חיבורים ', הרחב את הצומת עבור השרת הנוכחי.
  3. בחר את הצומת 'מאגרי יישומים' .
  4. בחר את מאגר היישומים המשמש כיעד.
  5. בחלונית ' פעולות ', לחץ על הקישור 'הגדרות מתקדמות '.
  6. במקטע מודל תהליך , הגדר את המאפיין 'זהות' ל - ApplicationPoolIdentity. הגדרה זו יוצרת זהות ייחודית עבור מאגר יישומים זה באופן אוטומטי. בסעיפים הבאים, באפשרותך להשתמש בזהות ייחודית זו כדי להגדיר רשימות בקרת גישה לפי שיקול דעת (DACL) במיקומי הקבצים שאליהם היישום זקוק לגישה.
  7. לחץ על אישור.

כיצד להגדיר רשימות DACL במיקומי תוכן של יישומים

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

כל הגירסאות של IIS

  1. פתח את תיקיית הבסיס עבור תוכן האתר בשורת הפקודה או בסייר Windows.

  2. השתמש באחת מהשיטות הבאות כדי להסיר ערכים עבור גישה של אנשים שאינם של מנהלי מערכת למיקום זה. (כולל את הקבוצה 'משתמשים').

    • בסייר Windows, לחץ באמצעות לחצן העכבר הימני על התיקייה, בחר מאפיינים, לחץ על הכרטיסיה אבטחה ולאחר מכן שנה את רשימת בקרת הגישה.
    • בשורת הפקודה, השתמש בכלי השירות icacls.exe (או cacls.exe בגירסאות ישנות יותר של מערכת ההפעלה Windows) כדי לשנות את רשימת בקרת הגישה.
  3. הוסף ערך חדש עבור זהות התהליך שבחרת עבור האתר.

  4. ספק לזהות החדשה גישת קריאה וביצוע לתיקיה.

                
אם קיימות תיקיות מסוימות שדורשות הרשאות כתיבה על-ידי האפליקציה (לדוגמה, תיקיית "העלאות"), בצע את הפעולות הבאות:

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. בסייר Windows, לחץ באמצעות לחצן העכבר הימני על התיקייה, בחר מאפיינים, לחץ על הכרטיסיה אבטחה והוסף שנה גישה עבור זהות התהליך.

  2. עבור תיקיות שיכילו תוכן סטטי (תמונות, קבצי טקסט וכן הלאה), בצע את הפעולות הבאות:

    1. פתח את מנהל Internet Information Services (IIS).
    2. בחלונית הימנית, לחץ באמצעות לחצן העכבר הימני על שם התיקיה המתאימה ולאחר מכן לחץ על מאפיינים.
    3. לחץ על הכרטיסיה 'ספריה '.
    4. ברשימה הרשאות ביצוע , בחר ללא.

Internet Information Services 7 ו- 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ו- Windows Server 2008 R2)

  1. בסייר Windows, לחץ באמצעות לחצן העכבר הימני על התיקייה, בחר מאפיינים, לחץ על הכרטיסיה אבטחה והוסף שנה גישה עבור זהות התהליך.

  2. עבור תיקיות שיכילו תוכן סטטי (תמונות, קבצי טקסט וכן הלאה), הוסף ערך קובץ "web.config" עבור המיקום שאינו מאפשר הרשאת Script בהגדרת accessPolicy:

    <system.webServer>
    <handlers accessPolicy="Read,Write" />
    </system.webServer>

אופן התצורה של מיקום זמני של תיקיית ASP.NET Files וכיצד להגדיר רשימות DACL לכל אתר

ASP.NET דורש מיקום בשרת לאחסון נתונים זמניים, כגון קבצים שעברו הידור. זוהי בדרך כלל התיקיה 'ASP.NET Files זמנית'. כברירת מחדל, תיקיה זו נמצאת מתחת לתיקיה שבה מותקן .NET Framework. הקצאת מיקום זמני שונה עבור כל אתר ואבטחת התיקיה בנפרד מסייעים לחיזוק הבידוד בין אתרים המתארחים באותו שרת אינטרנט. לקבלת מידע נוסף אודות התיקיה 'ASP.NET Files זמנית', ראה הבנת ASP.NET הידור דינאמי.

כיצד לקבוע תצורה של מיקום תיקיית ASP.NET Files זמני שונה עבור כל אתר

  1. צור תיקיה חדשה עבור כל אתר לאחסון קבצי ASP.NET זמניים עבור אתר זה. עדיף להשתמש בכונן שאינו מערכת כדי לאחסן את הקבצים הזמניים.
  2. web.config הבסיס או בקובץ applicationHost.config של השרת, כלול הגדרה שתצביע על מיקום התיקיה החדשה עבור אתר מסוים זה באמצעות <רכיב מיקום> , כגון:
    <תצורה>
    <location path="path">
    <system.web>
    <compilation tempDirectory="temp-files-path" />
    </system.web>
    </מיקום>
    <-- וכן הלאה -->
    </configuration>

כיצד להגדיר רשימות DACL מתאימות במיקום התיקיה 'ASP.NET Files זמנית'

  1. השתמש בשורת פקודה או בסייר Windows כדי להסיר הרשאות עבור גישה של אנשים שאינם מנהלי מערכת למיקום זה. (כולל את הקבוצה 'משתמשים').
  2. הוסף ערך חדש עבור זהות התהליך שבחרת עבור אתר זה קודם לכן ולאחר מכן הענק לזהות זו גישת שינוי עבור התיקיה.

כיצד להסיר נתוני תצורה רגישים מקבצי תצורת בסיס

קבצי web.config היישום ממוקמים בתיקיית התוכן של היישום המוגש. למרות ASP.NET לא תשרת את היישום web.config הקובץ, כאשר זה מעשי, עדיף להציב מידע רגיש לאבטחה כגון הגדרות מפתח מחשב ומחרוזות חיבור בקובץ תצורה שנמצא מחוץ למיקום היישום. פעולה זו מוסיפה הגנה מפני חשיפת מידע.

Internet Information Services 6.0 (Windows Server 2003 SP2)

אחסון מידע תצורה רגיש לאבטחה בקובץ web.config הבסיס אינו אפשרות טובה לבידוד נתונים בין אתרים שונים, מאחר שלכל האתרים יש גישת קריאה לקובץ זה. לכן, ב-IIS 6 עליך לאחסן תצורה רגישה בקובץ web.config היישום שלך. הדבר מאפשר לאתרים לבודד תצורה רגישה זה מזה. במקרה זה, האפליקציה שלך תסתמך על הגנות ASP.NET כדי למנוע הגשה של האפליקציה web.config הקובץ וכדי לוודא שמידע רגיש לא נחשף.

Internet Information Services 7 ו- 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ו- Windows Server 2008 R2)

עבור IIS 7 וגירסאות מתקדמות יותר, העבר את התצורה הרגישה שנמצאת בקובץ IIS applicationHost.config לרכיב <מיקום> שמגדיר את התצורה לאתר שעליו היא חלה. לקבלת מידע נוסף, ראה כיצד להשתמש בנעילה בתצורת IIS 7.0. Microsoft מודה לאנשים הבאים על העבודה איתנו במטרה להגן על לקוחות: