ข้ามไปยังเนื้อหาหลัก

คู่มือการกำหนดค่าการยกเว้นพร็อกซี Glasswall (PAC)

ภาพรวม

ระหว่างการทดสอบภายในของการใช้งาน ICAP proxy ของเราบน macOS และ Windows เราพบข้อจำกัดสำคัญเกี่ยวกับวิธีจัดการการยกเว้นพร็อกซีในระดับเบราว์เซอร์และระดับระบบ:

  • ข้อจำกัดจำนวนอักขระ: ทั้งสองแพลตฟอร์มกำหนดจำนวนอักขระสูงสุดสำหรับรายการยกเว้นภายในเครื่อง (ช่อง "bypass proxy for")
  • ผลกระทบ: เมื่อเกินขีดจำกัดนี้ บางระบบจะย้อนกลับไปเป็นการข้ามพร็อกซีทั้งหมดโดยไม่มีการแจ้งเตือน ทำให้เกิดช่องโหว่ร้ายแรงในการบังคับใช้ policy

เพื่อหลีกเลี่ยงปัญหานี้ เราแนะนำให้จัดการการยกเว้นพร็อกซีจากส่วนกลางโดยใช้ไฟล์ PAC (proxy auto-config)แทนการพึ่งพาการกำหนดค่ารายอุปกรณ์


ไฟล์ PAC คืออะไร?

ไฟล์ proxy auto-config (PAC) คือสคริปต์การกำหนดค่าที่ใช้ JavaScript ซึ่งกำหนดพฤติกรรมของพร็อกซีแบบไดนามิกตาม URL ของคำขอ โดเมน IP หรือพารามิเตอร์อื่น ๆ

ประโยชน์

ประโยชน์คำอธิบาย
✅ การควบคุมแบบรวมศูนย์ไคลเอนต์ทั้งหมดอ้างอิงไฟล์ PAC เดียวที่โฮสต์ไว้ส่วนกลาง อัปเดตเพียงครั้งเดียว และไคลเอนต์ทั้งหมดจะได้รับการเปลี่ยนแปลง
🚫 ไม่มีการจำกัดจำนวนอักขระไฟล์ PAC สามารถมีรายการยกเว้นได้หลายร้อยรายการและมีตรรกะที่มากกว่าสิ่งที่ทำได้ในช่อง GUI อย่างมาก
🔄 การกำหนดเส้นทางแบบไดนามิกกำหนดตรรกะแบบมีเงื่อนไข (เช่น "ใช้พร็อกซีสำหรับทุกอย่างยกเว้นโดเมนเหล่านี้")
🔐 ความสมบูรณ์ของ policyช่วยให้มั่นใจว่าไคลเอนต์ทั้งหมดใช้ตรรกะการยกเว้นเดียวกันโดยไม่เสี่ยงต่อการข้ามพร็อกซี

ขั้นตอนการนำไปใช้

1. สร้างไฟล์ PAC

ใช้ตัวอย่างต่อไปนี้เป็นพื้นฐาน:

function FindProxyForURL(url, host) {
// Domains to bypass proxy
if (dnsDomainIs(host, "internal.glasswall.com") ||
shExpMatch(host, "*.corpnet.glasswall.local") ||
isInNet(host, "10.0.0.0", "255.0.0.0")) {
return "DIRECT";
}

// Everything else goes through ICAP proxy
return "PROXY proxy.glasswall.com:3128";
}

ปรับแต่งรูปแบบโดเมนและ IP ของ subnet ตามต้องการ


2. โฮสต์ไฟล์ PAC

วางไว้ในตำแหน่งที่เข้าถึงได้ผ่านเครือข่าย:

  • เว็บเซิร์ฟเวอร์ภายใน (เช่นhttps://intranet.glasswall.com/proxy.pac)
  • Network share (พาธ SMB ที่เข้ากันได้กับ macOS หรือ DFS)

ตรวจสอบให้แน่ใจว่าเป็นดังนี้:

  • ปลอดภัย (แนะนำให้ใช้ HTTPS)
  • อ่านได้โดย endpoint ทั้งหมด
  • มีการควบคุมเวอร์ชัน

3. กำหนดค่าให้ไคลเอนต์ใช้ PAC

Windows

  • Use Group Policy (GPO) or Intune:
    • ตั้งค่าAutomatic proxy configurationเป็น URL PAC ที่โฮสต์ไว้
    • ปิดใช้งาน exclusions แบบ manual เพื่อป้องกันการใช้ขีดจำกัดจำนวนอักขระในทางที่ผิด

macOS

  • Use your Apple MDM provider
    • เปิดใช้งาน proxy auto-config ผ่าน.mobileconfig:
<key>ProxyAutoConfigURLString</key>
<string>https://intranet.glasswall.com/proxy.pac</string>

4. ทดสอบการกำหนดค่า

  • Open a browser and verify proxy behavior:
    • เข้าถึงไซต์ภายนอก (ควรกำหนดเส้นทางผ่าน ICAP).
    • เข้าถึงโดเมน/IPs ที่ยกเว้นไว้ (ควรเชื่อมต่อโดยตรง).

หมายเหตุจากการทดสอบภายใน

  • กรณีพิเศษที่ส่วนขยายเบราว์เซอร์หรือแอปของบุคคลที่สามใช้ กฎ proxy เพิ่มเติม อาจแทนที่ PAC file ได้
  • ข้อยกเว้นที่กำหนดตายตัวในเบราว์เซอร์ (เช่น localhost,127.0.0.1) จะยังคงถูกใช้งานอยู่

🔧 การแก้ไขปัญหา

อาการสาเหตุที่เป็นไปได้วิธีแก้ไข
ทราฟฟิกทั้งหมดข้าม proxyถึงขีดจำกัดจำนวนอักขระในรายการยกเว้นใช้ PAC file
PAC file ไม่ถูกใช้งานตามที่กำหนดURL ไม่สามารถเข้าถึงได้หรือกำหนดค่าไม่ถูกต้องยืนยันว่า URL สามารถเข้าถึงได้จากเครื่องไคลเอนต์
แอปไม่สนใจ PACแอปไม่ได้ใช้การตั้งค่า system proxyกำหนดค่าแอปแยกต่างหากหรือบังคับใช้ผ่านกฎไฟร์วอลล์

สรุป

การเปลี่ยนไปใช้ไฟล์ PAC เพื่อจัดการข้อยกเว้นของพร็อกซี:

  • แก้ข้อจำกัดของแพลตฟอร์ม
  • รวมศูนย์การอัปเดต policy
  • ลดความเสี่ยงจากการกำหนดค่าผิดพลาด
  • ทำให้มั่นใจว่าการควบคุมความปลอดภัยยังคงทำงานครบถ้วน

หากต้องการความช่วยเหลือในการปรับใช้สิ่งนี้ในวงกว้าง โปรดติดต่อทีมโครงสร้างพื้นฐานด้าน IT หรือทีมวิศวกรรมความปลอดภัย