Hướng dẫn cấu hình loại trừ proxy Glasswall (PAC)
Tổng quan
Trong quá trình kiểm thử nội bộ việc triển khai ICAP proxy của chúng tôi trên macOS và Windows, chúng tôi đã xác định được một hạn chế chính trong cách xử lý các ngoại lệ proxy ở cấp trình duyệt và cấp hệ thống:
- Giới hạn ký tự: Cả hai nền tảng đều áp dụng số lượng ký tự tối đa cho danh sách loại trừ cục bộ (trường "bypass proxy for").
- Tác động: Khi vượt quá giới hạn này, một số hệ thống sẽ âm thầm chuyển sang bỏ qua proxy hoàn toàn, tạo ra những khoảng trống nghiêm trọng trong việc thực thi policy.
Để tránh vấn đề này, chúng tôi khuyến nghị quản lý tập trung các ngoại lệ proxy bằng tệp PAC (proxy auto-config) thay vì dựa vào cấu hình trên từng thiết bị.
Phương pháp được khuyến nghị: sử dụng tệp PAC
Tệp PAC là gì?
Tệp proxy auto-config (PAC) là một tập lệnh cấu hình dựa trên JavaScript, dùng để xác định động hành vi proxy dựa trên URL yêu cầu, miền, IP hoặc các tham số khác.
Lợi ích
| Lợi ích | Mô tả |
|---|---|
| ✅ Kiểm soát tập trung | Tất cả ứng dụng khách tham chiếu đến một tệp PAC được lưu trữ tập trung. Chỉ cần cập nhật một lần và tất cả ứng dụng khách sẽ nhận được thay đổi. |
| 🚫 Không giới hạn ký tự | Tệp PAC có thể chứa hàng trăm mục loại trừ và logic vượt xa những gì có thể thực hiện trong một trường GUI. |
| 🔄 Định tuyến động | Xác định logic có điều kiện (ví dụ: "sử dụng proxy cho mọi thứ ngoại trừ các miền này"). |
| 🔐 Tính toàn vẹn của policy | Đảm bảo tất cả ứng dụng khách áp dụng cùng một logic loại trừ mà không có nguy cơ bỏ qua proxy. |
Các bước triển khai
1. Tạo tệp PAC
Sử dụng ví dụ sau làm cơ sở:
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";
}
Tùy chỉnh các mẫu miền và IP mạng con khi cần.
2. Lưu trữ tệp PAC
Đặt tệp này ở một vị trí có thể truy cập qua mạng:
- Máy chủ web nội bộ (ví dụ:
https://intranet.glasswall.com/proxy.pac) - Chia sẻ mạng (đường dẫn SMB tương thích macOS hoặc DFS)
Đảm bảo tệp này:
- An toàn (ưu tiên HTTPS)
- Có thể đọc bởi tất cả endpoint
- Được kiểm soát phiên bản
3. Cấu hình client sử dụng PAC
Windows
- Use Group Policy (GPO) or Intune:
- Đặt
Automatic proxy configurationthành URL PAC đã lưu trữ. - Tắt các mục loại trừ thủ công để ngăn việc lạm dụng giới hạn ký tự.
- Đặt
macOS
- Use your Apple MDM provider
- Bật cấu hình proxy tự động qua
.mobileconfig:
- Bật cấu hình proxy tự động qua
<key>ProxyAutoConfigURLString</key>
<string>https://intranet.glasswall.com/proxy.pac</string>
4. Kiểm tra cấu hình
- Open a browser and verify proxy behavior:
- Truy cập các trang web bên ngoài (sẽ được định tuyến qua ICAP).
- Truy cập các miền/IP bị loại trừ (sẽ đi trực tiếp).
Ghi chú từ quá trình kiểm thử nội bộ
- Các trường hợp đặc biệt mà tiện ích mở rộng trình duyệt hoặc ứng dụng bên thứ ba áp dụng quy tắc proxy bổ sung có thể ghi đè PAC file.
- Các ngoại lệ được mã hóa cứng trong trình duyệt (ví dụ:
localhost,127.0.0.1) vẫn được tôn trọng.
🔧 Khắc phục sự cố
| Triệu chứng | Nguyên nhân có thể | Cách khắc phục |
|---|---|---|
| Toàn bộ lưu lượng bỏ qua proxy | Đã đạt giới hạn ký tự trong danh sách loại trừ | Sử dụng PAC file |
| PAC file không được áp dụng | URL không thể truy cập hoặc được cấu hình sai | Xác nhận URL có thể truy cập từ máy khách |
| Ứng dụng bỏ qua PAC | Ứng dụng không sử dụng cài đặt proxy hệ thống | Cấu hình ứng dụng riêng hoặc áp dụng thông qua các quy tắc tường lửa |
Tóm tắt
Việc chuyển sang tệp PAC để quản lý các ngoại lệ proxy:
- Giải quyết các giới hạn của nền tảng
- Tập trung hóa các bản cập nhật policy
- Giảm rủi ro cấu hình sai
- Đảm bảo các biện pháp kiểm soát bảo mật vẫn được duy trì nguyên vẹn
Để được hỗ trợ triển khai việc này trên quy mô lớn, hãy liên hệ với nhóm hạ tầng CNTT hoặc kỹ thuật bảo mật.