Understand Web Authentication On Wireless LAN Controllers (WLC) - Cisco
Understand Web Authentication On Wireless LAN Controllers (WLC) - Cisco
Contents
Introduction
Prerequisites
Requirements
Components Used
Web Authentication Inner Processes
Web Authentication Position as a Security Feature
How WebAuth Works
How to Make an Internal (Local) WebAuth Work with an Internal Page
How to Configure a Custom Local WebAuth with Custom Page
Override Global Configuration Technique
Redirection Issue
How to Make an External (Local) Web Authentication Work with an External Page
Web Passthrough
Conditional Web Redirect
Splash Page Web Redirect
WebAuth on MAC Filter Failure
Central Web Authentication
External User Authentication (RADIUS)
How to set a Wired Guest WLAN
Certificates for the Login Page
Upload a Certificate for the Controller Web Authentication
Certificate Authority and Other Certificates on the Controller
How to Cause the Certificate to Match the URL
Troubleshoot Certificate Issues
How to Check
What to Check
Other Situations to Troubleshoot
HTTP Proxy Server and How it Works
Web Authentication on HTTP Instead of HTTPS
Related Information
Introduction
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 1/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
This document describes the processes for Web Authentication on Wireless LAN Controllers (WLC).
Prerequisites
Requirements
Cisco recommends that you have basic knowledge of WLC configuration.
Components Used
The information in this document is based on all WLC hardware models.
The information in this document was created from the devices in a specific lab environment. All of the
devices used in this document started with a cleared (default) configuration. If your network is live,
ensure that you understand the potential impact of any command.
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 2/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
To watch another port instead of port 80, use config network web-auth-port <port number> to create a
redirect on this port also.
An example is the Access Control Server (ACS) web interface, which is on port 2002 or other similar
applications.
Note about HTTPS Redirection: By default, the WLC did not redirect HTTPS traffic. This means that if
you type an HTTPS address into your browser, nothing happens. You must type an HTTP address in
order to get redirected to the login page which was served in HTTPS.
In Version 8.0 and later, you can enable redirection of HTTPS traffic with the CLI
command config network web-auth https-redirect enable.
This uses a lot of resources for the WLC in cases where many HTTPS requests are sent. It is not
advisable to use this feature before WLC version 8.7 where the scalability of this feature was
enhanced. Also note that a certificate warning is unavoidable in this case. If the client requests any
URL (such as https://www.cisco.com), the WLC still presents its own certificate issued for the virtual
interface IP address. This never matches the URL/IP address requested by client and the certificate is
not trusted unless the client forces the exception in their browser.
Custom webauth can be configured with redirectUrl from the Security tab. This forces a redirect to a
specific web page which you enter.
When the user is authenticated, it overrides the original URL which the client requested and displays the
page for which the redirect was assigned.
The custom feature allows you to use a custom HTML page instead of the default login page. Upload your
html and image files bundle to the controller.
In the upload page, look for webauth bundle in a tar format. PicoZip creates tars that work compatibly with
the WLC.
For an example of a WebAuth bundle, refer to the Download Software page for Wireless Controller WebAuth
Bundles. Select the appropriate release for your WLC.
It is recommended to customize a bundle that exists; do not create a new bundle.
There are some limitations with custom webauth that vary with versions and bugs.
the .tar file size (no more than 5MB)
the number of files in the .tar
the filename length of the files (no more than 30 characters)
If the package does not work, attempt a simple custom package. Individually add files and complexity to
reach the package that the user tried to use. This helps to identify the problem.
To configure a custom page, refer to Creating a Customized Web Authentication Login Page, a section within
the Cisco Wireless LAN Controller Configuration Guide, Release 7.6.
Redirection Issue
There is a variable within the HTML bundle that allows the redirection. Do not put your forced redirection URL
there.
For redirection issues in custom WebAuth, Cisco recommends to check the bundle.
If you enter a redirect URL with += in the WLC GUI, this could overwrite or add to the URL defined inside the
bundle.
For example, in the WLC GUI, the redirectURL field is set to www.cisco.com; however, in the bundle it
shows: redirectURL+= '(website URL)'. The += redirects users to an invalid URL.
How to Make an External (Local) Web Authentication Work with an External Page
Utilization of an external WebAuth server is just an external repository for the login page. The user
credentials are still authenticated by the WLC. The external web server allows only a special or different login
page.
Steps performed for an external WebAuth:
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 4/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
1. The client (end user) opens a web browser and enters a URL.
2. If the client is not authenticated and external web authentication is used, the WLC redirects the user to
the external web server URL. The WLC sends an HTTP redirect to the client with the imitated IP address
and points to the external server IP address. The external web authentication login URL is appended with
parameters such as the AP_Mac_Address, the client_url (client URL address), and the
action_URL needed to contact the switch web server.
3. The external web server URL sends the user to a login page. The user can use a pre-authentication
access control list (ACL) to access the server.
4. The login page sends the user credentials request back to the action_URL, such as
http://192.0.2.1/login.html, of the WLC web server. This is provided as an input parameter to the redirect
URL, where 192.0.2.1 is the virtual interface address on the switch.
5. The WLC web server submits the username and password for authentication.
6. The WLC initiates the RADIUS server request or uses the local database on the WLC, and then
authenticates the user.
7. If authentication is successful, the WLC web server either forwards the user to the configured redirect
URL or to the URL the client entered.
8. If authentication fails, then the WLC web server redirects the user back to the user login URL.
Note : We use 192.0.2.1 as an example of virtual ip in this document. The 192.0.2.x range is advised
for use for virtual ip as it is non-routable. Older documentation possibly refers to "1.1.1.x" or is still
what is configured in your WLC as this used to be the default setting. However, note that this ip now a
valid routable ip address and therefore the 192.0.2.x subnet is advised instead.
If the access points (APs) are in FlexConnect mode, a preauth ACL is irrelevant. Flex ACLs can be used to
allow access to the web server for clients that have not been authenticated.
Refer to the External Web Authentication with Wireless LAN Controllers Configuration Example.
Web Passthrough
Web Passthrough is a variation of the internal web authentication. It displays a page with a warning or an
alert statement, but does not prompt for credentials.
The user then clicks ok. Enable email input and the user can enter their email address which becomes their
username.
When the user is connected, check your active clients list and verify that user is listed with the email address
they entered as the username.
For more information, refer to the Wireless LAN Controller 5760/3850 Web Passthrough Configuration
Example.
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 5/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
Conditions can include the password when it reaches the expiration date or when the user needs to pay a bill
for continued use/access.
If the RADIUS server returns the Cisco AV-pair url-redirect, then the user is redirected to the specified URL
when they open a browser.
If the server also returns the Cisco AV-pair url-redirect-acl, then the specified ACL is installed as a pre-
authentication ACL for this client.
The client is not considered fully authorized at this point and can only pass traffic allowed by the pre-
authentication ACL. After the client completes a particular operation at the specified URL (for example, a
password change or bill payment), then the client must re-authenticate.
When the RADIUS server does not return a url-redirect, the client is considered fully authorized and allowed
to pass traffic.
Note: The conditional web redirect feature is available only for WLANs that are configured for 802.1x
or WPA+WPA2 Layer 2 security.
After configuration of the RADIUS server, configure the conditional web redirect on the controller with the
controller GUI or CLI. Refer to these step-by-step guides: Configuring Web Redirect (GUI) and Configuring
Web Redirect (CLI).
Note: The splash page redirect feature is available only for WLANs that are configured for 802.1x or
WPA+WPA2 Layer 2 security.
After configuration of the the RADIUS server, configure the splash page web redirect on the controller with
the controller GUI or CLI.
Note: This is not supported with web passthrough.For more information, follow the activity on
enhancement request Cisco bug ID CSCtw73512
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 6/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
Central Web Authentication takes place when you have RADIUS Network Admission Control (NAC) enabled
in the advanced settings of the WLAN and MAC filters enabled.
The WLC sends a RADIUS authentication (usually for the MAC filter) to ISE, which replies with the
redirect-url attribute value (AV) pair.
The user is then put in POSTURE_REQD state until ISE gives the authorization with a Change of Authorization
(CoA) request. The same scenario happens in Posture or Central WebAuth.
Central WebAuth is not compatible with WPA-Enterprise/802.1x because the guest portal cannot return
session keys for encryption like it does with Extensible Authentication Protocol (EAP).
This third point answers the question of those who do not configure RADIUS for that WLAN, but notice that it
still checks against the RADIUS when the user is not found on the controller.
This is because network user is checked against your RADIUS servers in the global list.
WLC can authenticate users to RADIUS server with Password Authentication Protocol (PAP), Challenge
Handshake Authentication Protocol (CHAP) or EAP-MD5 (Message Digest5).
This is a global parameter and is configurable from GUI or CLI:
From GUI: navigate to Controller > Web RADIUS Authentication
From CLI: enter config custom-web RADIUSauth <pap|chap|md5chap>
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 7/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
On WLC1, create a dynamic interface VLAN50. In the interface configuration page, check the Guest LAN
box. Then, fields such as IP address and gateway disappear. The WLC needs to recognize that traffic is
routed from VLAN 50. These clients are wired guests.
On a controller, an interface is used when associated to a WLAN. Next, create a WLAN on your main office
controllers. Navigate to WLANs and click New. In WLAN Type, choose Guest LAN.
In Profile Name and WLAN SSID, enter a name that identifies this WLAN. These names can be different,
but cannot contain spaces. The term WLAN is used, but this network profile is not related to wireless
network profile.
The General tab offers two drop-down lists: Ingress and Egress. Ingress is the VLAN from which users
come (VLAN 50); Egress is the VLAN to which you send them.
For Egress, it is different. If you have only one controller, create another dynamic interface, a standard one
this time (not a guest LAN), and send wired users to this interface. In this case, send them to the DMZ
controller. Therefore, for the Egress interface, choose the Management Interface.
The Security mode for this Guest LAN "WLAN" is WebAuth, which is acceptable. Click Ok in order to
validate.
From the WLAN list, click Mobility Anchor at the end of the Guest LAN line, and choose your DMZ
controller. It is assumed here that both controllers recognize each other. If they do not, go to
Controller > Mobility Management > Mobility group, and add DMZWLC on WLC1. Then add WLC1 on
DMZ. Both controllers are not to be in the same mobility group. Otherwise, basic security rules are broken.
The main office controller is ready. Now prepare your DMZ controller. Open a web browser session to your
DMZ controller and navigate to WLANs. Create a new WLAN. In WLAN Type, choose Guest LAN.
In Profile Name and WLAN SSID, enter a name that identifies this WLAN. Use the same values as entered
on the main office controller.
The Ingress interface here is None. It does not matter because the traffic is received through the Ethernet
over IP (EoIP) tunnel. There is no need to specify any Ingress interface.
The Egress interface is where the clients are to be sent. For example, the DMZ VLAN is VLAN 9. Create a
standard dynamic interface for VLAN 9 on your DMZWLC, then choose VLAN 9 as the Egress interface.
Configure the end of the Mobility Anchor tunnel. From the WLAN list, choose
Mobility Anchor for Guest LAN. Send the traffic to the local controller, DMZWLC. Both ends are now
ready.
You can also fine-tune the WLAN settings on both ends. The settings must be identical on both ends. For
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 8/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
example, if you click in the WLAN Advanced tab, Allow AAA override on WLC1, check the same box on
DMZWLC. If there are any differences in the WLAN on either side, the tunnel breaks. DMZWLC refuses the
traffic; you can see when you run debug mobility.
Keep in mind that all values are actually obtained from DMZWLC: IP addresses, VLAN values, and so on.
Configure the WLC1 side identically, so that it relays the request to the WLCDMZ.
2. If you got your certificate from a smaller company/CA, all computers do not trust them. Provide the
company/CA certificate to the client as well, and one of the root CAs then issues that certificate.
Eventually, you have a chain such as "Certificate has been issued by CA x > CA x certificate has been
issued by CA y > CA y certificate has been issued by this trusted root CA". The end goal is to reach a CA
that the client does trust.
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 9/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
The WebAuth URL is set to 192.0.2.1 in order to authenticate yourself and the certificate is issued (this is the
CN field of the WLC certificate).
To change the WebAuth URL to 'myWLC.com', for example, go into the virtual interface configuration
(the 192.0.2.1 interface) and there you can enter a virtual DNS hostname, such as myWLC.com.
This replaces the 192.0.2.1 in your URL bar. This name must also be resolvable. The sniffer trace shows how
it all works, but when WLC sends the login page, WLC shows the myWLC.com address, and the client
resolves this name with their DNS.
This name must resolve as 192.0.2.1. This means that if you also use a name for the management of the
WLC, use a different name for WebAuth.
If you use myWLC.com mapped to the WLC management IP address, you must use a different name for the
WebAuth, such as myWLCwebauth.com.
How to Check
Download OpenSSL (for Windows, search for OpenSSL Win32) and install it. Without any configuration, you
can go in the bin directory and try openssl s_client –connect (your web auth URL):443,
if this URL is the URL where your WebAuth page is linked on your DNS, refer to "What to Check" in the next
section of this document.
If your certificates use a private CA, place the Root CA certificate in a directory on a local machine and use
the openssl option -CApath. If you have an Intermediate CA, put it into the same directory as well.
To obtain general information about the certificate and to check it, use:
openssl x509 -in certificate.der -inform DER -outform PEM -out certificate.pem
What to Check
You can see what certificates are sent to the client when it connects. Read the device certificate — the CN
must be the URL where the web page is reachable.
Read the “issued by” line of the device certificate. This must match the CN of the second certificate. This
second certificate, “issued by”, must match the CN of the next certificate, and so on. Otherwise, it does not
make a real chain.
In the OpenSSL output shown here, notice that openssl cannot verify the device certificate because its
“issued by” does not match the name of the CA certificate provided.
SSL Output
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 10/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
unable to verify the first certificate verify return:1 --- Certificate chain
0 s:/O=<company>.ac.uk/OU=
Arizona/L=Scottsdale/O=.com/OU=http://certificates.gocompany.com/repository/CN=
BEGIN CERTIFICATE-----
MIIE/zCCA+egAwIBAgIDRc2iMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
output cut*
YMaj/NACviEU9J3iot4sfreCQSKkBmjH0kf/Dg1l0kmdSbc=
END CERTIFICATE-----
issuer=/C=US/ST=Arizona/L=Scottsdale/O=.com/OU=http://certificates.
7969287 --- No client certificate CA names sent --- SSL handshake has read
2476 bytes and written 322 bytes --- New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 1024 bit Compression: NONE Expansion: NONE SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID: A32DB00A7AB7CD1CEF683980F3696C2BBA31A1453324F711F50EF4B86A4A7F03
Session-ID-ctx:Master-Key: C95E1BDAC7B1A964ED7324955C985CAF186B92EA34CD69E10
5F95D969D557E19
939C6A77C72350AB099B3736D168AB22
Key-Arg : None
---
Another possible issue is that the certificate cannot be uploaded to the controller. In this situation there is no
question of validity, CA, and so on.
To verify this, check the Trivial File Transfer Protocol (TFTP) connectivity and try to transfer a configuration
file. If you enter the debug transfer all enable command, notice that the problem is the installation of the
certificate.
This could be due to the wrong key used with the certificate. It could also be that the certificate is in a wrong
format or is corrupted.
Cisco recommends that you compare the certificate content to a known, valid certificate. This allows you to
see if a LocalkeyID attribute shows all 0s (already happened). If so, then the certificate must be reconverted.
There are two commands with OpenSSL that allow you to return from .pem to .p12, and then reissue a .pem
with the key of your choice.
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 11/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
If you received a .pem that contains a certificate followed by a key, copy/paste the key part:
----BEGIN KEY ---- until ------- END KEY ------ from the .pem into "key.pem".
1. openssl pkcs12 -export -in certificate.pem -inkey key.pem -out newcert.p12 ? You are prompted
with a key; enter check123.
2.
openssl pkcs12 -in newcert.p12 -out workingnewcert.pem -passin pass:check123 -passout pass:che
This results in an operational .pem with the password check123.
This is not related to WebAuth. Check the client configuration, the security settings on the WLAN, if it is
enabled, and whether radios are active and operative, and so on.
In a guest anchor situation, this is most often because the foreign and anchor was not configured exactly
the same way. Otherwise, check the DHCP configuration, connectivity, and so on.
Confirm whether or not other WLANs can use the same DHCP server without a problem. This still is not
related to WebAuth.
This is the most common symptom, but is more precise. There are two possible scenarios.
a. The user is not redirected (user enters a URL and never reaches the WebAuth page). For this
situation, check:
that a valid DNS server has been assigned to the client via DHCP (ipconfig /all),
that the DNS is reachable from the client (nslookup (website URL),
that the user went on an HTTP URL on port 80 (for example, to reach an ACS with
http://localhost:2002 does not redirect you since you sent on port 2002 instead of 80).
b. The user is redirected to 192.0.2.1 correctly, but the page itself does not display.
This situation is most likely either a WLC problem (bug) or a client-side problem. It could be that the
client has some firewall or software or policy block. It also could be that they have configured a proxy in
their web browser.
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 12/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
Recommendation: Take a sniffer trace on the client PC. There is no need for special wireless software,
only Wireshark, which runs on the wireless adapter and shows you if the WLC replies and tries to
redirect. You have two possibilities: either there is no response from WLC, or something is wrong with
the SSL handshake for the WebAuth page. For SSL handshake issue, you can check whether the user
browser allows for SSLv3 (some only allow SSLv2), and if it is too aggressive on certificate verification.
It is a common step to manually enter http://192.0.2.1 in order to check if the web page appears
without DNS. Actually, you can type http://10.0.0.0 and get the same effect. The WLC redirects any IP
address you enter. Therefore, if you enter http://192.0.2.1, it does not make you work around the web
redirection. If you enter https://192.0.2.1(secure), this does not work because WLC does not redirect
the HTTPS traffic (by default, this is actually possible in Version 8.0 and later). The best way to load the
page directly without a redirect is to enter https://192.0.2.1/login.html.
See the section of this document that discusses authentication. Check credentials locally on the RADIUS.
Users can successfully authenticate through WebAuth, but they do not have internet access
afterwards.
You can remove WebAuth from the security of the WLAN, and then you have an open WLAN. You can then
try to access the web, the DNS and so on. If you experience issues there as well, remove WebAuth
settings altogether and check your interfaces configuration.
For more information, refer to: Troubleshooting Web Authentication on a Wireless LAN Controller (WLC).
At this stage, if the PC is not configured for it, it asks for the 192.0.2.1 WebAuth page to the proxy so it does
not work. The PC must make an exception for 192.0.2.1; then it sends an HTTP request to 192.0.2.1 and
proceeds with WebAuth.
When authenticated, all communications go through proxy again. An exception configuration is usually in the
browser close to the configuration of the proxy server. You then see the message: "Do not use proxy for
those IP addresses".
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 13/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
With WLC Release 7.0 and later, the feature webauth proxy redirect can be enabled in the global WLC
configuration options.
When enabled, the WLC checks if the clients are configured to manually use a proxy. In that case, they
redirect the client to a page that shows them how to modify their proxy settings to make everything work.
The WebAuth proxy redirect can be configured to work on a variety of ports and is compatible with Central
Web Authentication.
For an example on WebAuth proxy redirection, refer to Web Authentication Proxy on a Wireless LAN
Controller Configuration Example.
Related Information
Wireless LAN Controller Web Authentication Configuration Example
Download Software for Wireless Controller WebAuth Bundles
Creating a Customized Web Authentication Login Page
External Web Authentication with Wireless LAN Controllers Configuration Example
Wireless LAN Controller 5760/3850 Web Passthrough Configuration Example
Configuring Web Redirect (GUI)
Configuring Web Redirect (CLI)
Troubleshooting Web Authentication on a Wireless LAN Controller (WLC)
Web Authentication Proxy on a Wireless LAN Controller Configuration Example
Requests for Comments (RFCs)
Technical Support & Documentation - Cisco Systems
Revision History
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 14/15
08/09/2022, 03:06 Understand Web Authentication on Wireless LAN Controllers (WLC) - Cisco
Quick Links -
About Cisco
Contact Us
Careers
Help
Privacy Statement
Cookies
Trademarks
Sitemap
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/115951-web-auth-wlc-guide-00.html 15/15