ในบทความนี้เราจะดูวิธีการกำหนดค่า Proxy แบบรวมศูนย์บนคอมพิวเตอร์ Windows 10 ในโดเมนโดยใช้ Group Policy เบราว์เซอร์ยอดนิยมส่วนใหญ่ (Microsoft Edge, Google Chrome, Internet Explorer, Opera) และแอปพลิเคชันส่วนใหญ่ใช้การตั้งค่า Proxy ที่ตั้งค่าไว้ใน Windows เพื่อเข้าถึงอินเทอร์เน็ตโดยอัตโนมัติ เราจะดูวิธีตั้งค่า WinHTTP Proxy บน Windows ด้วย
วิธีตั้งค่า Proxy บน Windows ผ่าน GPO
เดิมที ใช้ Internet Explorer Maintenance (IEM) policy เพื่อกำหนดค่า Internet Explorer แบบรวมศูนย์ (รวมถึงการตั้งค่า Proxy) โดยใช้ Group Policies ในสภาพแวดล้อม Active Directory นโยบายนี้อยู่ในส่วน User GPO: User configuration → Policies → Windows Settings → Internet Explorer Maintenance แต่ตั้งแต่ Windows Server 2012/Windows 8 นโยบาย IEM ถูกเลิกใช้งานแล้ว ส่วนนี้หายไปจาก Windows 10/Windows Server 2016/2019 เวอร์ชันใหม่ๆ
บน Windows เวอร์ชันล่าสุด ต้องใช้ Group Policy Preferences (GPP) เพื่อกำหนดค่า IE และ Proxy ใน GPO Editor มีตัวเลือกอีกอย่างคือใช้ส่วนขยายพิเศษของ Internet Explorer Administration Kit 11 (IEAK 11) แต่ใช้บ่อยน้อย
- เปิดคอนโซล Domain GPO Editor (Group Policy Management Console –
GPMC.msc) เลือก OU ที่มีผู้ใช้ที่ต้องการนำการตั้งค่า Proxy ไปใช้ และสร้างนโยบายใหม่ Create a GPO in this domain, and Link it here - ไปที่ User Configuration → Preferences → Control Panel Settings → Internet Settings ในเมนูบริบทเลือก New → Internet Explorer 10
<FilterFile lte="0" max="99.0.0.0" min="10.0.0.0" gte="1" type="VERSION" path="%ProgramFilesDir%\Internet Explorer\iexplore.exe" bool="AND" not="0" hidden="1"/>
การตั้งค่า Proxy ใน GPP
ฟอร์ม GPP IE จะปรากฏขึ้น คล้ายคลึงกับการตั้งค่า Internet Options ใน Control Panel ของ Windows ทุกประการ ตัวอย่างเช่น สามารถระบุหน้าแรกได้ (แท็บ General → ฟิลด์ Home page)
ปุ่มฟังก์ชันที่ใช้ได้:
- F5 – เปิดใช้งานการตั้งค่าทั้งหมดในแท็บปัจจุบัน
- F6 – เปิดใช้งานการตั้งค่าที่เลือก
- F7 – ปิดใช้งานการตั้งค่าที่เลือก
- F8 – ปิดใช้งานการตั้งค่าทั้งหมดในแท็บปัจจุบัน
เพื่อระบุการตั้งค่า Proxy ไปที่แท็บ Connections และกดปุ่ม Lan Settings เซิร์ฟเวอร์ Proxy สามารถกำหนดค่าได้ 3 วิธี:
- Automatically detect settings – ตรวจจับการตั้งค่าอัตโนมัติโดยใช้ไฟล์ wpad.dat
- Use automatic configuration script – สคริปต์การกำหนดค่าอัตโนมัติ (proxy.pac)
- Proxy Server – ระบุที่อยู่ IP หรือชื่อ DNS ของเซิร์ฟเวอร์ Proxy โดยตรงในการตั้งค่านโยบาย วิธีนี้ง่ายที่สุดและเราจะใช้วิธีนี้
ติ๊กตัวเลือก Use a proxy server for your LAN และระบุ IP/FQDN ของเซิร์ฟเวอร์ Proxy และพอร์ตการเชื่อมต่อในฟิลด์ Address และ Port ตามลำดับ
เมื่อเปิดใช้งานตัวเลือก Bypass proxy server for local addresses สามารถป้องกันไม่ให้แอปพลิเคชัน (รวมถึงเบราว์เซอร์) ใช้เซิร์ฟเวอร์ Proxy เมื่อเข้าถึงทรัพยากรในเครือข่ายท้องถิ่น (ในรูปแบบ https://localnetwork) หากใช้ที่อยู่ทรัพยากรแบบ https://web1.woshub.loc หรือ https://192.168.1.5 ที่อยู่เหล่านี้จะไม่ถูก Windows จดจำว่าเป็นที่อยู่ท้องถิ่น ที่อยู่เหล่านี้และที่อยู่ของทรัพยากรอื่นๆ ที่ไม่ต้องใช้ Proxy ต้องระบุด้วยตนเอง กดปุ่ม Advanced และเพิ่มที่อยู่เหล่านี้ลงในฟิลด์ Do not use proxy servers for addresses beginning with ในรูปแบบ: 10.1.*;192.168.*;*.woshub.loc;*.local.net
หลังจากบันทีKNโนยบายแล้ว สามารถดูไฟล์ InternetSettings.xml ที่มีการตั้งค่าเบราว์เซอร์ที่ระบุไว้ในโฟลเดอร์นโยบายบน Domain Controller:
\\UKDC1\SYSVOL\woshub.com\Policies\{PolicyGuiID}\User\Preferences\InternetSettings\InternetSettings.xml
GPP อนุญาตให้กำหนดเป้าหมายนโยบายต่อผู้ใช้/คอมพิวเตอร์ได้ละเอียดขึ้น โดยใช้ GPP Item Level Targeting ไปที่แท็บ Common เปิดใช้งานตัวเลือก Item-level targeting → Targeting
ในฟอร์มที่เปิด ให้ระบุเงื่อนไขการนำนโยบายไปใช้ ตัวอย่างเช่น ระบุนโยบายการตั้งค่า Proxy จะถูกนำไปใช้เฉพาะกับผู้ใช้ที่เป็นสมาชิกของกลุ่มความปลอดภัยโดเมน proxy_users สามารถใช้ตรรกะของตัวเองในการกำหนดพารามิเตอร์ Proxy
เหลือเพียงลิงก์นโยบาย Proxy ไปยังคอนเทนเนอร์ AD ที่มีผู้ใช้และอัปเดตการตั้งค่านโยบายบนพวกเขา หลังจากนำนโยบายไปใช้บนคอมพิวเตอร์ของผู้ใช้ การตั้งค่า IE ใหม่ควรถูกใช้งาน สามารถตรวจสอบการตั้งค่า Proxy ปัจจุบันบน Windows 10 ได้ใน Settings → Network and Internet → Proxy ตามที่เห็น คอมพิวเตอร์ตอนนี้ใช้การตั้งค่า Proxy ที่ระบุในนโยบายโดเมน
เพื่อป้องกันไม่ให้ผู้ใช้เปลี่ยนการตั้งค่าเซิร์ฟเวอร์ Proxy เอง สามารถใช้วิธีในบทความนี้
กำหนดค่า Proxy ผ่าน Registry และ GPO
นอกจากนี้ยังสามารถกำหนดค่า IE ผ่าน Registry โดยใช้ GPP policies ตัวอย่างเช่น เพื่อเปิดใช้งาน Proxy Server ต้องกำหนดพารามิเตอร์ Registry ต่อไปนี้ใน registry key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings ใน GPO editor ไปที่ส่วน User Configuration → Preferences → Windows Settings → Registry และสร้างพารามิเตอร์ Registry 3 ตัวภายใต้ registry key ที่ระบุ:
ProxyEnable(REG_DWORD) =00000001ProxyServer(REG_SZ) =192.168.0.11:3128ProxyOverride(REG_SZ) =https://*.woshub.com;192.168.*;10.1.*;*.contoso.com;<local>
สามารถใช้ Item-level targeting ที่นี่ได้เช่นกัน เพื่อกำหนดเป้าหมายการตั้งค่านโยบายสำหรับผู้ใช้/อุปกรณ์เฉพาะ
หากต้องการสร้างนโยบาย Proxy ไม่ใช่ต่อผู้ใช้ แต่มาตรฐานสำหรับคอมพิวเตอร์ทั้งเครื่อง (per-computer) ใช้การตั้งค่า GPP จากส่วน GPO Computer Configuration → Preferences → Windows Settings → Registry ตั้งค่าพารามิเตอร์ Registry เดียวกันภายใต้ registry key HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
เปลี่ยนแปลงการตั้งค่า WinHTTP Proxy ผ่าน GPO
บริการระบบหรือแอปพลิเคชันบางตัว (เช่น บริการอัปเดต Wususerv หรือ PowerShell) ไม่ได้ใช้การตั้งค่า Proxy ของผู้ใช้ตามค่าเริ่มต้น เพื่อให้แอปพลิเคชันเหล่านี้ทำงานถูกต้องและเข้าถึงอินเทอร์เน็ตได้ ต้องกำหนดค่า WinHTTP proxy settings ใน Windows
เพื่อตรวจสอบว่า WinHTTP proxy ถูกกำหนดค่าบนคอมพิวเตอร์แล้วหรือไม่ ให้รันคำสั่ง:
netsh winhttp show proxy
คำตอบ "Direct access (no proxy server)" หมายความว่าไม่ได้ตั้งค่า Proxy
สามารถตั้งค่า Proxy สำหรับ WinHTTP บนคอมพิวเตอร์ด้วยตนเองได้ด้วยคำสั่ง:
netsh winhttp set proxy proxy.woshub.com:3128 "localhost;10.1.*;192.168.*;*.woshub.com"
หรือนำเข้าการตั้งค่า Proxy จากการตั้งค่า Internet Explorer ของผู้ใช้:
netsh winhttp import proxy source=ie
อย่างไรก็ตาม จะไม่สามารถกำหนดค่า WinHTTP ผ่าน GPO ได้ – ไม่มีพารามิเตอร์ที่ตรงกันใน GPO editor และพารามิเตอร์ถูกเก็บในแอตทริบิวต์ Registry แบบไบนารีที่ไม่เหมาะสมสำหรับการแก้ไขโดยตรง
วิธีเดียวในการตั้งค่า WinHTTP proxy settings บน Windows ผ่าน GPO คือ ตั้งค่า WinHTTP proxy บนคอมพิวเตอร์อ้างอิง (reference computer) ส่งออกค่าของพารามิเตอร์ WinHttpSettings จาก registry key HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections และปรับใช้พารามิเตอร์นี้ไปยังคอมพิวเตอร์ในโดเมนผ่าน GPP registry extension