ค้นหาเว็บไซต์

กำหนดค่าการป้องกันเพิ่มเติมใน Exchange Server


สภาพแวดล้อมจำนวนมากยังไม่ได้เปิดใช้งานการป้องกันแบบขยายใน Exchange Server แม้ว่าจะเป็นไปได้สำหรับพวกเขาที่จะเปิดใช้งาน Extended Protection แต่พวกเขาก็ไม่ทราบหรือแจ้งอย่างถูกต้องว่าควรเปิดใช้งานด้วยเหตุผลด้านความปลอดภัย ในบทความนี้ คุณจะได้เรียนรู้วิธีกำหนดค่า Extended Protection ใน Exchange Server

การคุ้มครองเพิ่มเติมคืออะไร?

Windows Extended Protection ปรับปรุงการรับรองความถูกต้องที่มีอยู่ใน Windows Server และบรรเทาการส่งต่อการรับรองความถูกต้องหรือการโจมตี "คนตรงกลาง" (MitM) การบรรเทาผลกระทบนี้ทำได้โดยใช้ข้อมูลความปลอดภัยที่นำไปใช้ผ่านข้อมูลการผูกช่องสัญญาณที่ระบุผ่าน Channel Binding Token (CBT) ซึ่งใช้สำหรับการเชื่อมต่อ SSL เป็นหลัก

แม้ว่า Extended Protection สามารถเปิดใช้งานได้ด้วยตนเองในแต่ละไดเร็กทอรีเสมือน แต่ Microsoft ได้จัดเตรียมสคริปต์ ExchangeExtensedProtectionManagement.ps1 PowerShell เพื่อช่วยดำเนินการนี้ให้สำเร็จในจำนวนมาก

มีข้อจำกัดบางประการที่ต้องทราบก่อนเปิดใช้งาน Extended Protection บน Exchange Server ดังนั้น คุณต้องตรวจสอบเอกสารของ Microsoft (ซึ่งได้รับการปรับปรุงให้เป็นปัจจุบัน) และตรวจสอบว่าคุณมีสิทธิ์หรือไม่

Windows Extended Protection ได้รับการสนับสนุนบน Exchange Server เวอร์ชันด้านล่าง:

  • แลกเปลี่ยนเซิร์ฟเวอร์ 2013

  • แลกเปลี่ยนเซิร์ฟเวอร์ 2016

  • แลกเปลี่ยนเซิร์ฟเวอร์ 2019

หมายเหตุ: คุณต้องมี Exchange Server Security Update (SU) รุ่นเดือนสิงหาคม 2022 หรือติดตั้งใหม่กว่าบน Exchange Server

ข้อสำคัญ: อย่าลืมอัปเดตเซิร์ฟเวอร์ Exchange ให้ทันสมัยอยู่เสมอด้วยการอัปเดต Exchange Cumulative Update และการอัปเดตความปลอดภัยของ Exchange ล่าสุด สมัครรับจดหมายข่าว และอย่าพลาดการอัปเดต Exchange Server

ตรวจสอบสถานะการคุ้มครองเพิ่มเติม

เราขอแนะนำสองวิธีในการตรวจสอบสถานะ Extended Protection บน Exchange Server

วิธีที่ 1. สคริปต์ Exchange Health Checker

เรียกใช้สคริปต์ Exchange Health Checker และสร้างรายงานการตรวจสอบความสมบูรณ์ของเซิร์ฟเวอร์ Exchange สิ่งนี้จะบอกคุณว่า Extended Protection ถูกเปิดใช้งานบน Exchange Server หรือไม่

[PS] C:\scripts>Get-ExchangeServer | ?{$_.AdminDisplayVersion -Match "^Version 15"} | %{.\HealthChecker.ps1 -Server $_.Name}; .\HealthChecker.ps1 -BuildHtmlServersReport; .\ExchangeAllServersReport.html

Extended Protection ไม่ได้เปิดใช้งานบน Exchange Server และแสดงช่องโหว่ด้านความปลอดภัย:

  • CVE-2022-24516

  • CVE-2022-21979

  • CVE-2022-21980

  • CVE-2022-24477

  • CVE-2022-30134

วิธีที่ 2 สคริปต์ PowerShell การจัดการการป้องกันเพิ่มเติมของ Exchange

ดาวน์โหลดสคริปต์ ExchangeExtensedProtectionManagement.ps1 PowerShell และบันทึกไว้ในโฟลเดอร์ C:\scripts

เรียกใช้ Exchange Management Shell ในฐานะผู้ดูแลระบบและเรียกใช้สคริปต์ รวมถึงพารามิเตอร์ -ShowExtensedProtection

คอลัมน์ ค่า และ ค่าที่สนับสนุน ควรเป็นค่าเดียวกัน

ในตัวอย่างของเรา คอลัมน์ ค่า แสดง ไม่มี สำหรับไดเรกทอรีเสมือนทั้งหมด ซึ่งหมายความว่า Extended Protection ไม่ได้เปิดใช้งานบน Exchange Server

[PS] C:\>C:\scripts\.\ExchangeExtendedProtectionManagement.ps1 -ShowExtendedProtection

Version 23.05.04.2151
Results for Server: EX01-2019

Default Web Site            Value SupportedValue ConfigSupported RequireSSL     ClientCertificate IPFilterEnabled
----------------            ----- -------------- --------------- ----------     ----------------- ---------------
API                         None  Require                  False True (128-bit) Ignore                      False
Autodiscover                None  None                      True True (128-bit) Ignore                      False
ECP                         None  Require                  False True (128-bit) Ignore                      False
EWS                         None  Allow                     True True (128-bit) Ignore                      False
Microsoft-Server-ActiveSync None  Allow                     True True (128-bit) Ignore                      False
OAB                         None  Require                  False True (128-bit) Ignore                      False
Powershell                  None  Require                  False False          Accept                      False
OWA                         None  Require                  False True (128-bit) Ignore                      False
RPC                         None  Require                  False False          Ignore                      False
MAPI                        None  Require                  False True (128-bit) Ignore                      False




Exchange Back End           Value SupportedValue ConfigSupported RequireSSL     ClientCertificate IPFilterEnabled
-----------------           ----- -------------- --------------- ----------     ----------------- ---------------
API                         None  Require                  False True (128-bit) Ignore                      False
Autodiscover                None  None                      True True (128-bit) Ignore                      False
ECP                         None  Require                  False True (128-bit) Ignore                      False
EWS                         None  Require                  False True (128-bit) Ignore                      False
Microsoft-Server-ActiveSync None  Require                  False True (128-bit) Ignore                      False
OAB                         None  Require                  False True (128-bit) Ignore                      False
Powershell                  None  Require                  False True (128-bit) Accept                      False
OWA                         None  Require                  False True (128-bit) Ignore                      False
RPC                         None  Require                  False False          Ignore                      False
PushNotifications           None  Require                  False True (128-bit) Ignore                      False
RPCWithCert                 None  Require                  False False          Ignore                      False
MAPI/emsmdb                 None  Require                  False True           Ignore                      False
MAPI/nspi                   None  Require                  False True           Ignore                      False

ในขั้นตอนถัดไป เราจะเปิดใช้งาน Extended Protection บน Exchange Server

วิธีเปิดใช้งาน Exchange Server Extended Protection

ทำตามขั้นตอนด้านล่างเพื่อเปิดใช้งานการป้องกันแบบขยายบน Exchange Server

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

1. อัปเดตเป็น Exchange Server CU/SU ล่าสุด

2. กำหนดการตั้งค่า Exchange Server TLS

3. ปิดใช้งานการถ่ายโอนข้อมูล SSL สำหรับ Outlook ทุกที่

การถ่ายโอนข้อมูล SSL สำหรับ Outlook Anywhere จะถูกเปิดใช้งานตามค่าเริ่มต้น และต้องปิดใช้งานสำหรับ Extended Protection

[PS] C:>Set-OutlookAnywhere "EX01-2019\RPC (Default Web Site)" -SSLOffloading $false

4. ดาวน์โหลดสคริปต์ ExchangeExtensedProtectionManagement.ps1 PowerShell และบันทึกไว้ในโฟลเดอร์ C:\scripts

5. ตรวจสอบให้แน่ใจว่าเพิ่มผู้ดูแลระบบลงในกลุ่ม การจัดการองค์กร

หมายเหตุ: ผู้ใช้จะต้องอยู่ใน การจัดการองค์กร และต้องเรียกใช้สคริปต์นี้จากพร้อมท์คำสั่ง Exchange Management Shell (EMS) ที่ยกระดับ หลังจากเพิ่มผู้ใช้ในกลุ่ม การจัดการองค์กร ให้ลงชื่อออกและลงชื่อเข้าใช้อีกครั้งเพื่อให้การเปลี่ยนแปลงมีผล

6. เปลี่ยนไดเรกทอรีเส้นทางเป็น โฟลเดอร์สคริปต์ และเรียกใช้สคริปต์ PowerShell เพื่อเปิดใช้งาน Extended Protection บน Exchange Server

[PS] C:\>cd C:\scripts
[PS] C:\scripts>.\ExchangeExtendedProtectionManagement.ps1

7. ผลลัพธ์จะแสดงข้อมูลเกี่ยวกับการเปิดใช้งาน Extended Protection กด Y และ Enter

Version 23.05.04.2151

Enabling Extended Protection
Extended Protection is recommended to be enabled for security reasons. Known Issues: Following scenarios will not work
when Extended Protection is enabled.
    - SSL offloading or SSL termination via Layer 7 load balancing.
    - Exchange Hybrid Features if using Modern Hybrid.
    - Access to Public folders on Exchange 2013 Servers.
You can find more information on: https://aka.ms/ExchangeEPDoc. Do you want to proceed?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

8. สคริปต์จะประมวลผลงานข้อกำหนดเบื้องต้น สร้างการสำรองข้อมูลสำหรับ applicationHost.config และกำหนดค่า Extended Protection

The following servers have the TLS Configuration below
EX01-2019

RegistryName        Location                                                                              Value
------------        --------                                                                              -----
SchUseStrongCrypto  SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                           1
SystemTlsVersions   SOFTWARE\Microsoft\.NETFramework\v2.0.50727                                           1
SchUseStrongCrypto  SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                           1
SystemTlsVersions   SOFTWARE\Microsoft\.NETFramework\v4.0.30319                                           1
SchUseStrongCrypto  SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727                               1
SystemTlsVersions   SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727                               1
SchUseStrongCrypto  SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319                               1
SystemTlsVersions   SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319                               1
DisabledByDefault   SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client  1
Enabled             SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client  0
DisabledByDefault   SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server  1
Enabled             SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server  0
DisabledByDefault   SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client  1
Enabled             SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client  0
DisabledByDefault   SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server  1
Enabled             SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server  0
DisabledByDefault   SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client  0
Enabled             SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client  1
DisabledByDefault   SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server  0
Enabled             SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server  1

TLS prerequisites check successfully passed!

All servers that we are trying to currently configure for Extended Protection have RPC (Default Web Site) set to false for SSLOffloading.
EX01-2019: Backing up applicationHost.config.
EX01-2019: Successful backup to C:\Windows\System32\inetSrv\config\applicationHost.cep.20230505220519.bak
EX01-2019: Successfully updated applicationHost.config.

Successfully enabled Extended Protection: EX01-2019
Do you have feedback regarding the script? Please email ExToolsFeedback@microsoft.com.

เปิดใช้งานการป้องกันแบบขยายเรียบร้อยแล้ว

ตรวจสอบสถานะเปิดใช้งานการป้องกันแบบขยาย

ตรวจสอบให้แน่ใจว่าทุกอย่างได้รับการตั้งค่าอย่างถูกต้องและสร้างรายงานการตรวจสอบประสิทธิภาพการทำงานของเซิร์ฟเวอร์ Exchange ใหม่

ไม่มีช่องโหว่ด้านความปลอดภัยสำหรับ Extended Protection อีกต่อไป โดยจะแสดง Extensed Protection Enabled (VDir ใดๆ) ด้วยค่า True

อีกวิธีหนึ่งคือตรวจสอบด้วยสคริปต์ PowerShell นี่คือลักษณะที่ปรากฏ

คอลัมน์ ค่า และ ค่าที่สนับสนุน แสดงค่าเดียวกัน ซึ่งหมายความว่า Extended Protection ถูกเปิดใช้งานบน Exchange Server

[PS] C:\>C:\scripts\.\ExchangeExtendedProtectionManagement.ps1 -ShowExtendedProtection

Version 23.05.04.2151
Results for Server: EX01-2019

Default Web Site            Value   SupportedValue ConfigSupported RequireSSL     ClientCertificate IPFilterEnabled
----------------            -----   -------------- --------------- ----------     ----------------- ---------------
API                         Require Require                   True True (128-bit) Ignore                      False
Autodiscover                None    None                      True True (128-bit) Ignore                      False
ECP                         Require Require                   True True (128-bit) Ignore                      False
EWS                         Allow   Allow                     True True (128-bit) Ignore                      False
Microsoft-Server-ActiveSync Allow   Allow                     True True (128-bit) Ignore                      False
OAB                         Require Require                   True True (128-bit) Ignore                      False
Powershell                  Require Require                   True False          Accept                      False
OWA                         Require Require                   True True (128-bit) Ignore                      False
RPC                         Require Require                   True True (128-bit) Ignore                      False
MAPI                        Require Require                   True True (128-bit) Ignore                      False




Exchange Back End           Value   SupportedValue ConfigSupported RequireSSL     ClientCertificate IPFilterEnabled
-----------------           -----   -------------- --------------- ----------     ----------------- ---------------
API                         Require Require                   True True (128-bit) Ignore                      False
Autodiscover                None    None                      True True (128-bit) Ignore                      False
ECP                         Require Require                   True True (128-bit) Ignore                      False
EWS                         Require Require                   True True (128-bit) Ignore                      False
Microsoft-Server-ActiveSync Require Require                   True True (128-bit) Ignore                      False
OAB                         Require Require                   True True (128-bit) Ignore                      False
Powershell                  Require Require                   True True (128-bit) Accept                      False
OWA                         Require Require                   True True (128-bit) Ignore                      False
RPC                         Require Require                   True True (128-bit) Ignore                      False
PushNotifications           Require Require                   True True (128-bit) Ignore                      False
RPCWithCert                 Require Require                   True True (128-bit) Ignore                      False
MAPI/emsmdb                 Require Require                   True True (128-bit) Ignore                      False
MAPI/nspi                   Require Require                   True True (128-bit) Ignore                      False

Extended Protection ได้รับการกำหนดค่าบน Exchange Server เรียบร้อยแล้ว

การป้องกันแบบขยายการแลกเปลี่ยนแบบย้อนกลับ

ไวยากรณ์นี้จะย้อนกลับการกำหนดค่าการป้องกันแบบขยายสำหรับเซิร์ฟเวอร์ Exchange ทั้งหมดที่ออนไลน์อยู่ซึ่งมีการกำหนดค่าการป้องกันแบบขยายไว้ก่อนหน้านี้

[PS] C:\scripts>.\ExchangeExtendedProtectionManagement.ps1 -RollbackType "RestoreIISAppConfig"

ไวยากรณ์นี้จะย้อนกลับการลดการป้องกันแบบขยายของการจำกัด IP สำหรับไดเรกทอรีเสมือน EWS Backend ของ Exchange Server ทั้งหมดที่ออนไลน์อยู่ซึ่งมีการกำหนดค่าการป้องกันแบบขยายไว้ก่อนหน้านี้

[PS] C:\scripts>.\ExchangeExtendedProtectionManagement.ps1 -RollbackType "RestrictTypeEWSBackend"

แค่นั้นแหละ!

อ่านเพิ่มเติม: เปิดใช้งานการลงนามเพย์โหลดการทำให้เป็นอนุกรมของ PowerShell ใน Exchange Server »

บทสรุป

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

คุณสนุกกับบทความนี้หรือไม่? คุณอาจต้องการจำกัดการเข้าถึง/จากพอร์ต 25 บน Exchange Server อย่าลืมติดตามเราและแบ่งปันบทความนี้

บทความที่เกี่ยวข้อง