Forum Discussion
F5 as Transparent HTTP Proxy + NTLM Auth
Good day F5 Gurus!
I've got a setup using the F5 as a transparent HTTP forward proxy. The client requirements include obtaining logon creds without prompting the user for authentication. I was able to get this working using APM (https://devcentral.f5.com/articles/configuring-apm-client-side-ntlm-authentication) but this works only with Intranet sites -- users are prompted for creds when accessing Internet sites. I'd like to transparently obtain user creds using the F5 as a transparent forward proxy when said users go to the Internet.
Thank you!
8 Replies
- Michael_Koyfman
Cirrocumulus
What is your end goal? Just to authenticate users via NTLM before they go out to the Internet? Do you have URL filtering requirements as well?
- AceDawg1
Nimbostratus
Hi Michael,
The end goal is to simply auth users via NTLM before they go out to the Internet. There's a Palo Alto performing URL filtering, virus scanning, etc. If not, I would have looked at implementing SWG.
- Michael_Koyfman
Cirrocumulus
In that case, you should setup your policy as Captive Portal per this description:
Essentially, your actual policy could almost remain the same, but you need to enable Captive Portal on your Access policy. Also, it may be a bit misleading, but also leave session identification as IP address instead of NTLM credentials, as for transparent portal, that is the only option that can work.
What is your end goal? Just to authenticate users via NTLM before they go out to the Internet? Do you have URL filtering requirements as well?
- AceDawg1
Nimbostratus
Hi Michael,
The end goal is to simply auth users via NTLM before they go out to the Internet. There's a Palo Alto performing URL filtering, virus scanning, etc. If not, I would have looked at implementing SWG.
In that case, you should setup your policy as Captive Portal per this description:
Essentially, your actual policy could almost remain the same, but you need to enable Captive Portal on your Access policy. Also, it may be a bit misleading, but also leave session identification as IP address instead of NTLM credentials, as for transparent portal, that is the only option that can work.
- Kevin_Stewart
Employee
That's not really how proxy authentication works. Consider the two general types of outbound proxy modes:
-
Explicit - where the client knows about the proxy, and the browser can perform authentication directly to the proxy
-
Transparent - where the client does not know about the proxy
You're running a transparent proxy configuration, in which case the client doesn't know there's a proxy, but is still getting a 401 authorization request for all resource. That explains why internal resources are silently fulfilled via NTLM and external resources are not. The local domain wouldn't be able to NTLM auth to Google. If the proxy was explicit, the browser would handle that in a separate 407-based auth mechanism.
To do authentication with a transparent proxy, you have to redirect the client to some authentication service. Most proxy vendors call this a "virtual URL" or "URL redirect", but F5 calls it a captive portal. On first request, the client will attempt to traverse the proxy, but either won't have a cookie, or the proxy won't have the client's IP mapped to a valid authenticated session, so the proxy will redirect the client to another site. That site will be set up to perform some type of authentication, which could be 401-based (NTLM, Kerberos, Basic), could be SAML, PKI, 2FA, whatever. Once successfully authenticated, the proxy either stores and maps the client's IP to an authentication session, or sends the client back through the proxy with the pieces needed to create a cookie for the requested site.
You can also optionally use the IFMAP "DC agent" option with transparent proxy. It relies on the domain controller to tell you who logged in with a given IP address, so it's less authentication and more identification (and not always reliable).
-
- Kevin_Stewart
Employee
Sideband wouldn't normally make its way to the client (or server). A sideband connection is between the F5 (client) and some remote server (possible also an F5).
Here's just one description of the captive portal feature: https://support.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-secure-web-gateway-implementations-12-1-0/7.html?sr=59060023
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
