Upstream proxy authentication in transparent proxy mode
A downstream proxy FortiGate that needs to be authenticated by the upstream web proxy can use the basic authentication method to send its username and password, in the base64 format, to the upstream web proxy for authentication. If the authentication succeeds, web traffic that is forwarded from the downstream proxy FortiGate to the upstream proxy can be accepted and forwarded to its destinations.
In this example, a school has a FortiGate acting as a downstream proxy that is configured with firewall policies for each user group (students and staff). In each policy, a forwarding server is configured to forward the web traffic to the upstream web proxy.
The username and password that the upstream web proxy uses to authenticate the downstream proxy are configured on the forwarding server, and are sent to the upstream web proxy with the forwarded HTTP requests.
|
Username |
Password |
---|---|---|
student.proxy.local:8080 |
students |
ABC123 |
staff.proxy.local:8081 |
staff |
123456 |
On the downstream FortiGate, configure forwarding servers with the usernames and passwords for authentication on the upstream web proxy, then apply those servers to firewall policies for transparent proxy. For explicit web proxy, the forwarding servers can be applied to proxy policies.
When the transparent proxy is configured, clients can access websites without configuring a web proxy in their browser. The downstream proxy sends the username and password to the upstream proxy with forwarded HTTP requests to be authenticated.
To configure the forwarding server on the downstream FortiGate:
config web-proxy forward-server edit "Student_Upstream_WebProxy" set addr-type fqdn set fqdn "student.proxy.local" set port 8080 set username "student" set password ABC123 next edit "Staff_Upstream_WebProxy" set addr-type fqdn set fqdn "staff.proxy.local" set port 8081 set username "staff" set password 123456 next end
To configure firewall policies for transparent proxy:
config firewall policy edit 1 set srcintf "Vlan_Student" set dstintf "port9" set srcaddr "Student_Subnet" set dstaddr "all" set action accept set schedule "always" set service "ALL" set utm-status enable set inspection-mode proxy set ssl-ssh-profile "deep-inspection" set av-profile "av" set webproxy-forward-server "Student_Upstream_WebProxy" set nat enable next edit 2 set srcintf "Vlan_Staff" set dstintf "port9" set srcaddr "Staff_Subnet" set dstaddr "all" set action accept set schedule "always" set service "ALL" set utm-status enable set inspection-mode proxy set ssl-ssh-profile "deep-inspection" set av-profile "av" set webproxy-forward-server "Staff_Upstream_WebProxy" set nat enable next end