บัญชี IUSR และ IWAM คืออะไรใน IIS


23

ฉันกำลังมองหาคำอธิบายที่ดีเกี่ยวกับบัญชี IUSR และ IWAM ที่ IIS ใช้เพื่อช่วยให้ฉันกำหนดค่าสภาพแวดล้อมการโฮสต์ของเราได้ดีขึ้น:

  • ทำไมพวกเขาถึงอยู่ที่นั่น?
  • ความแตกต่างระหว่างพวกเขาคืออะไร
  • ชื่อนี้มีความหมายไหม?
  • มีการเปลี่ยนแปลงแนวปฏิบัติที่ดีที่สุดที่ฉันควรทำหรือไม่?
  • IIS ยังให้ตัวเลือกแก่ฉันในการเรียกใช้กลุ่มแอปพลิเคชันเช่นบริการเครือข่ายบริการท้องถิ่นหรือระบบภายในเครื่อง ฉันควร?
  • เว็บเซิร์ฟเวอร์ของฉันเป็นส่วนหนึ่งของโดเมนสิ่งนี้จะเปลี่ยนแปลงได้อย่างไร

ดูเหมือนจะเป็นเรื่องธรรมดาที่จะสร้างบัญชีเหล่านี้ในเวอร์ชันของคุณเองเมื่อทำการติดตั้งหลายไซต์กับเซิร์ฟเวอร์ที่ตั้งคำถามเพิ่มเติม:

  • ฉันควรสร้างบัญชี IUSR และ IWAM ของตัวเองเมื่อใด
  • ฉันจะสร้างบัญชีเพิ่มเติมเหล่านี้ได้อย่างไรเพื่อให้พวกเขามีสิทธิ์ที่ถูกต้อง

ฉันใช้ทั้ง IIS 6 และ IIS 7 ที่มีการกำหนดค่าเริ่มต้นเป็นส่วนใหญ่

คำตอบ:


33

IUSR และ IWAM ย้อนกลับไปในยุคต้น ๆ ของ IIS เมื่อคุณติดตั้งแยกต่างหาก (ไม่ใช่คอมโพเนนต์ระบบปฏิบัติการ) ตามค่าเริ่มต้นหากเว็บไซต์อนุญาตให้มีการตรวจสอบสิทธิ์แบบไม่ระบุชื่อบัญชี IUSR จะถูกใช้ในส่วนที่เกี่ยวกับการอนุญาตบนระบบปฏิบัติการ สิ่งนี้สามารถเปลี่ยนแปลงได้จากค่าเริ่มต้น มีคำแนะนำด้านความปลอดภัยบางอย่างเพื่อเปลี่ยนชื่อบัญชีอย่างน้อยดังนั้นจึงไม่ใช่บัญชี "รู้จัก" เหมือนกับว่ามีคำแนะนำให้เปลี่ยนชื่อบัญชีผู้ดูแลระบบบนเซิร์ฟเวอร์ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับIUSR และการตรวจสอบที่ MSDN

IWAM ได้รับการออกแบบสำหรับแอปพลิเคชันที่ไม่ได้ใช้งานกระบวนการใด ๆ และจะใช้เฉพาะใน IIS 6.0 เมื่อคุณอยู่ในโหมดแยก IIS 5.0 คุณมักจะเห็นมันด้วยวัตถุ COM / DCOM

ด้วยความเคารพต่อกลุ่มแอพพลิเคชั่นค่าเริ่มต้นคือการทำงานเป็นบริการเครือข่าย คุณไม่ควรเรียกใช้เป็น Local System เนื่องจากบัญชีนั้นมีสิทธิ์มากกว่าของผู้ดูแลระบบ ดังนั้นโดยทั่วไปจะนำคุณไปยังบริการเครือข่ายบริการท้องถิ่นหรือบัญชีท้องถิ่น / โดเมนนอกเหนือจากสองบัญชีนั้น

เป็นสิ่งที่ต้องทำมันขึ้นอยู่กับ ข้อดีอย่างหนึ่งของการปล่อยให้เป็นบริการเครือข่ายนี่เป็นบัญชีสิทธิ์พิเศษบนเซิร์ฟเวอร์ อย่างไรก็ตามเมื่อเข้าถึงทรัพยากรในเครือข่ายจะปรากฏเป็น Domain \ ComputerName $ ซึ่งหมายความว่าคุณสามารถกำหนดสิทธิ์ที่อนุญาตให้บัญชีบริการเครือข่ายเข้าถึงทรัพยากรเช่น SQL Server ที่ทำงานในกล่องอื่น นอกจากนี้เนื่องจากมันปรากฏเป็นบัญชีคอมพิวเตอร์หากคุณเปิดใช้งานการตรวจสอบสิทธิ์ Kerberos SPN จะมีอยู่แล้วหากคุณเข้าถึงเว็บไซต์ด้วยชื่อเซิร์ฟเวอร์

กรณีที่คุณจะต้องพิจารณาการเปลี่ยนกลุ่มแอปพลิเคชันเป็นบัญชีโดเมน Windows โดยเฉพาะหากคุณต้องการให้บัญชีเฉพาะเข้าถึงทรัพยากรเครือข่ายเช่นบัญชีบริการที่เข้าถึง SQL Server สำหรับแอปพลิเคชันที่ทำงานบนเว็บ มีตัวเลือกอื่น ๆ ภายใน ASP.NET สำหรับการทำเช่นนี้โดยไม่เปลี่ยนรหัสประจำตัวกลุ่มแอปพลิเคชันดังนั้นจึงไม่จำเป็นอีกต่อไป อีกเหตุผลหนึ่งที่คุณควรพิจารณาใช้บัญชีผู้ใช้โดเมนคือคุณกำลังทำการตรวจสอบสิทธิ์ Kerberos และคุณมีเว็บเซิร์ฟเวอร์หลายแห่งที่ให้บริการเว็บแอปพลิเคชัน ตัวอย่างที่ดีคือถ้าคุณมีเว็บเซิร์ฟเวอร์สองแห่งขึ้นไปที่ให้บริการ SQL Server Reporting Services ส่วนหน้าอาจเป็น URL ทั่วไปเช่น reports.mydomain.com หรือ Reporting.mydomain.com ในกรณีนั้น SPN สามารถใช้ได้กับหนึ่งบัญชีภายใน AD เท่านั้น หากคุณมีแอพที่ทำงานภายใต้บริการเครือข่ายในแต่ละเซิร์ฟเวอร์นั่นจะไม่ทำงานเพราะเมื่อพวกเขาออกจากเซิร์ฟเวอร์พวกเขาจะปรากฏเป็น Domain \ ComputerName $ ซึ่งหมายความว่าคุณมีบัญชีมากเท่ากับที่คุณมีเซิร์ฟเวอร์ที่ให้บริการ แอป วิธีแก้ปัญหาคือการสร้างบัญชีโดเมนตั้งค่ารหัสประจำตัวของแอพในเซิร์ฟเวอร์ทั้งหมดให้เป็นบัญชีผู้ใช้โดเมนเดียวกันและสร้างหนึ่ง SPN ซึ่งอนุญาตให้ใช้การตรวจสอบสิทธิ์ของ Kerberos ในกรณีของแอพอย่าง SSRS ซึ่งคุณอาจต้องการส่งผ่านข้อมูลรับรองผู้ใช้ไปยังเซิร์ฟเวอร์ฐานข้อมูลแบ็คเอนด์การพิสูจน์ตัวตน Kerberos นั้นเป็นสิ่งที่ต้องทำเพราะคุณจะต้องกำหนดค่าการมอบหมาย Kerberos มีบัญชีมากเท่ากับที่คุณมีเซิร์ฟเวอร์ที่ให้บริการแอพ วิธีแก้ปัญหาคือการสร้างบัญชีโดเมนตั้งค่ารหัสประจำตัวของแอพในเซิร์ฟเวอร์ทั้งหมดให้เป็นบัญชีผู้ใช้โดเมนเดียวกันและสร้างหนึ่ง SPN ซึ่งอนุญาตให้ใช้การตรวจสอบสิทธิ์ของ Kerberos ในกรณีของแอพอย่าง SSRS ซึ่งคุณอาจต้องการส่งผ่านข้อมูลรับรองผู้ใช้ไปยังเซิร์ฟเวอร์ฐานข้อมูลแบ็คเอนด์การพิสูจน์ตัวตน Kerberos นั้นเป็นสิ่งที่ต้องทำเพราะคุณจะต้องกำหนดค่าการมอบหมาย Kerberos มีบัญชีมากเท่ากับที่คุณมีเซิร์ฟเวอร์ที่ให้บริการแอพ วิธีแก้ปัญหาคือการสร้างบัญชีโดเมนตั้งค่ารหัสประจำตัวของแอพในเซิร์ฟเวอร์ทั้งหมดให้เป็นบัญชีผู้ใช้โดเมนเดียวกันและสร้างหนึ่ง SPN ซึ่งอนุญาตให้ใช้การตรวจสอบสิทธิ์ของ Kerberos ในกรณีของแอพอย่าง SSRS ซึ่งคุณอาจต้องการส่งผ่านข้อมูลรับรองผู้ใช้ไปยังเซิร์ฟเวอร์ฐานข้อมูลแบ็คเอนด์การพิสูจน์ตัวตน Kerberos นั้นเป็นสิ่งที่ต้องทำเพราะคุณจะต้องกำหนดค่าการมอบหมาย Kerberos

ฉันรู้ว่าเป็นสิ่งที่ต้องทำมากมาย แต่คำตอบสั้น ๆ คือยกเว้น Local System ขึ้นอยู่กับ


น่าสังเกตว่าคำแนะนำในการเปลี่ยนชื่อบัญชีเหล่านี้ไม่ได้มาจาก Microsoft บัญชีระบบมี SID แบบคงที่และจัดทำเป็นเอกสารอย่างดีและสามารถแฮกได้อย่างง่ายดายโดยไม่คำนึงถึงชื่อที่แสดง
โทมัส

9

IUSR = ผู้ใช้อินเทอร์เน็ตคือผู้ใช้ที่ไม่ระบุตัวตนและไม่ได้รับการรับรองความถูกต้องไปยังเว็บไซต์ของคุณ

IWAM = Internet Web Application Manager นั่นคือแอปพลิเคชัน ASP และ. NET ทั้งหมดของคุณจะทำงานภายใต้บัญชีนี้

โดยทั่วไป IUSR และ IWAM ควรเข้าถึงสิ่งที่ต้องการได้อย่างแม่นยำเท่านั้น พวกเขาไม่ควรได้รับอนุญาตให้เข้าถึงสิ่งอื่นใดในกรณีที่บัญชีเหล่านี้ถูกบุกรุก

นั่นคือทั้งหมดที่ฉันสามารถช่วยได้จากรายการคำถามของคุณคนอื่น ๆ ที่มีประสบการณ์มากขึ้นในการดูแลระบบ IIS อาจช่วยคุณได้ต่อไป!


7

ฉันมักจะใช้คู่มือนี้ -

http://learn.iis.net/page.aspx/140/understanding-the-built-in-user-and-group-accounts-in-iis-70/

คุณสามารถค้นหาสิ่งต่างๆได้มากมายบน iis.net

เพื่อให้ง่าย - IUSR เป็นเพียงบัญชีผู้ใช้ทั่วไปที่มีสิทธิ์เหนือ c: \ inetpub \ wwwroot

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.