สรุป
Microsoft ทราบถึง PetitPotam ซึ่งอาจถูกใช้เพื่อโจมตีWindowsหรือเซิร์ฟเวอร์อื่นๆ ของ Windowsได้ PetitPotam คือการโจมตีของรีเลย์ NTLM แบบคลาสสิก และการโจมตีดังกล่าวได้รับการบันทึกไว้ก่อนหน้านี้โดย Microsoft พร้อมกับตัวเลือกการบรรเทาปัญหามากมายเพื่อป้องกันลูกค้า ตัวอย่างเช่น: Microsoft Security Advisory 974926.
เมื่อต้องการป้องกันการโจมตีของ NTLM Relay บนเครือข่ายที่เปิดใช้งาน NTLM ผู้ดูแลระบบโดเมนต้องตรวจสอบให้แน่ใจว่าบริการที่อนุญาตการรับรองความถูกต้อง NTLM ใช้การป้องกัน เช่น การป้องกันเพิ่มเติมเพื่อการรับรองความถูกต้อง (EPA) หรือการเซ็นชื่อฟีเจอร์ต่างๆ เช่น การเซ็นชื่อ SMB PetitPotam จะใช้ประโยชน์จากเซิร์ฟเวอร์ที่ Active Directory Certificate Services (AD CS) ไม่ได้ถูกกําหนดค่าด้วยการป้องกันการโจมตีของ NTLM Relay การลดความเสี่ยงด้านล่างแสดงวิธีการปกป้องเซิร์ฟเวอร์ CS ของ AD จากการโจมตีดังกล่าวให้กับลูกค้า
คุณอาจเสี่ยงต่อการโจมตีนี้ถ้าคุณใช้งาน Active Directory Certificate Services (AD CS) กับบริการต่อไปนี้:
-
การลงทะเบียนเว็บผู้ให้บริการออกใบรับรอง
-
บริการเว็บการลงทะเบียนใบรับรอง
การบรรเทาปัญหา
ถ้าสภาพแวดล้อมของคุณอาจได้รับผลกระทบ เราขอแนะนนะให้ลดความเสี่ยงต่อไปนี้:
การบรรเทาปัญหาหลัก
เราขอแนะนนะให้เปิดใช้งาน EPA และปิดใช้งาน HTTP บนเซิร์ฟเวอร์ AD CS เปิดตัวจัดการInternet Information Services (IIS) และเปิดดังต่อไปนี้:
-
เปิดใช้งาน EPA For Certificate Authority Web Enrollment ซึ่งต้อง เป็นตัวเลือกที่มีความปลอดภัยมากกว่าและแนะนนะ:
-
เปิดใช้งาน EPA for Certificate Enrollment Web Serviceซึ่งต้องเป็นตัวเลือกที่ปลอดภัยและแนะ
หลังจากเปิดใช้งาน EPA ใน UI แล้ว ไฟล์ Web.configที่สร้างโดยบทบาท CES ที่<%windir%>\systemdata\CES\<CA Name>_CES_Kerberos\web.configควรได้รับการอัปเดตด้วยการเพิ่ม<extendedProtectionPolicy>ที่ตั้งค่าด้วยค่าของWhenSupportedหรือ ขึ้นอยู่กับตัวเลือกการป้องกันเพิ่มเติมที่เลือกในUI IIS ด้านบนเสมอหมายเหตุ: การตั้งค่าเสมอจะถูกใช้เมื่อตั้งค่า UI เป็นต้องใช้ ซึ่งเป็นตัวเลือกที่แนะนาและปลอดภัยที่สุด
For more information on the options available for extendedProtectionPolicy, see <transport> of <basichttpBinding>. การตั้งค่าที่ใช้บ่อยมีดังนี้:
<binding name="TransportWithHeaderClientAuth"> <security mode="Transport"> <transport clientCredentialType="Windows"> <extendedProtectionPolicy policyEnforcement="Always" /> </transport> <message clientCredentialType="None" establishSecurityContext="false" negotiateServiceCredential="false" /> </security> <readerQuotas maxStringContentLength="131072" /> </binding>
-
เปิดใช้งาน ต้องใช้ SSLซึ่งจะเปิดใช้งานเฉพาะการเชื่อมต่อ HTTPS
สิ่งสำคัญ: หลังจากเสร็จสิ้นขั้นตอนข้างต้น คุณจะต้องเริ่ม IIS ใหม่เพื่อโหลดการเปลี่ยนแปลง เมื่อต้องการเริ่ม IIS ใหม่ ให้เปิดหน้าต่าง พร้อมท์การสั่งด้วยสิทธิ์ผู้ดูแล พิมพ์ข้อความสั่งต่อไปนี้ แล้วกด ENTER:
iisreset /restart
หมายเหตุ:การสั่งนี้จะหยุดบริการ IIS ทั้งหมดที่เรียกใช้ อยู่ จากนั้นรีสตาร์ตบริการเหล่านั้น
การบรรเทาปัญหาเพิ่มเติม
นอกเหนือจากการบรรเทาปัญหาหลักเราขอแนะนวลให้คุณปิดใช้งานการรับรองความถูกต้อง NTLM ที่เป็นไปได้ การบรรเทาปัญหาต่อไปนี้จะแสดงอยู่ในรายการเพื่อให้มีความปลอดภัยมากขึ้นถึงความปลอดภัยที่น้อยลง:
-
ปิดใช้งานการรับรองความถูกต้องของ NTLM บนWindowsของคุณ ซึ่งสามารถทํางานได้โดยการต่อจากเอกสารใน ความปลอดภัยของ เครือข่าย: จํากัด NTLM: การรับรองความถูกต้องของ NTLM ในโดเมนนี้
-
ปิดใช้งาน NTLM บนเซิร์ฟเวอร์ AD CS ใดๆ ในโดเมนของคุณโดยใช้นโยบายกลุ่ม ความปลอดภัยของเครือข่าย: จํากัด NTLM: การรับส่งข้อมูล NTLMขาเข้า เมื่อต้องการกําหนดค่า GPOนี้ ให้เปิดนโยบายกลุ่มแล้วไปที่ การกําหนดค่าคอมพิวเตอร์->Windows การตั้งค่า-> ความปลอดภัยการตั้งค่า->นโยบายภายในเครื่อง ->ตัวเลือกความปลอดภัย และตั้งค่าความปลอดภัยของเครือข่าย: จํากัดNTLM:การรับส่งข้อมูลNTLM ขาเข้าเป็น ปฏิเสธบัญชีทั้งหมด หรือ ปฏิเสธบัญชีโดเมนทั้งหมด ถ้าจําเป็น คุณสามารถเพิ่มข้อยกเว้นตามความจําเป็นโดยใช้การตั้งค่า ความปลอดภัยของเครือข่าย: จํากัด NTLM: เพิ่มข้อยกเว้นของเซิร์ฟเวอร์ในโดเมนนี้
-
ปิดใช้งาน NTLM Internet Information Services (IIS) บนเซิร์ฟเวอร์ AD CS ในโดเมนของคุณที่ใช้บริการ "การลงทะเบียนเว็บผู้ให้บริการออกใบรับรอง" หรือ "บริการเว็บการลงทะเบียนใบรับรอง"
เมื่อต้องการเปิด UI ตัวจัดการ IIS ให้ตั้งค่าการรับรองความถูกWindowsเป็น Negotiate:Kerberos:
สิ่งสำคัญ: หลังจากเสร็จสิ้นขั้นตอนข้างต้น คุณจะต้องเริ่ม IIS ใหม่เพื่อโหลดการเปลี่ยนแปลง เมื่อต้องการเริ่ม IIS ใหม่ ให้เปิดหน้าต่าง พร้อมท์การสั่งด้วยสิทธิ์ผู้ดูแล พิมพ์ข้อความสั่งต่อไปนี้ แล้วกด ENTER:
iisreset /restart
หมายเหตุ:การสั่งนี้จะหยุดบริการ IIS ทั้งหมดที่เรียกใช้ อยู่ จากนั้นรีสตาร์ตบริการเหล่านั้น
For more information, please see Microsoft Security Advisory ADV210003