Forum Discussion
William_Them_99
Nimbostratus
Apr 03, 2006Certificate Authentication Problem
In our environment, if you visit a virtual server hosting an application, the BIGIP will prompt for a client certificate and then authenticate that certificate against an LDAP database.
If this authentication fails, our main iRule will route you to a separate virtual server which also prompts you for a client certificate. An application on this virtual server will handle registering the user with the new certificate.
The problem is this:
If a user makes it to the second virtual server that handles the registration, displaying a registration form, and then manually types the URL for the original virtual server in the browser's address bar, the original virtual server then seemingly no longer attempts to authenticate the certificate and lets the user through to the application.
Is there some sort of cache that we need to delete, or is there a way to force re-authentication?
I have a support ticket open for this as well.
- William_Them_99
Nimbostratus
We worked with F5 support on this and were pointed back to DevCentral as it is thought to be an iRule issue. This was the relevant response... - William_Them_99
Nimbostratus
Still trying to work this issue.... - William_Them_99
Nimbostratus
Any insights thus far? - Colin_Walker_12Historic F5 AccountIt sounds almost as though the initial authentication check is inserting some form of data (cert?) that it sees the second time the user hits that address, and therefore isn't prompting them to re-auth.
- William_Them_99
Nimbostratus
Colin, Thanks.when CLIENT_ACCEPTED { set tmm_auth_ssl_cc_ldap_sid [AUTH::start pam default_ssl_cc_ldap] } when CLIENTSSL_CLIENTCERT { set cur [SSL::sessionid] set ask [session lookup ssl $cur] if { $ask eq "" } { session add ssl $cur [SSL::cert 0] 3601 log local0. "added session id $cur" } AUTH::cert_credential $tmm_auth_ssl_cc_ldap_sid [SSL::cert 0] AUTH::authenticate $tmm_auth_ssl_cc_ldap_sid SSL::handshake hold } when AUTH_SUCCESS { if {$tmm_auth_ssl_cc_ldap_sid eq [AUTH::last_event_session_id]} { session add uie "cert_auth_failed" "false" SSL::handshake resume } } when AUTH_WANTCREDENTIAL { if {$tmm_auth_ssl_cc_ldap_sid eq [AUTH::last_event_session_id]} { reject } } when AUTH_ERROR { if {$tmm_auth_ssl_cc_ldap_sid eq [AUTH::last_event_session_id]} { reject } }
when AUTH_FAILURE { if {$tmm_auth_ssl_cc_ldap_sid eq [AUTH::last_event_session_id]} { set auth_code 1 log local0. "auth_failure - reject, auth_code is $auth_code" } SSL::handshake resume session add uie "cert_auth_failed" "true" }
- William_Them_99
Nimbostratus
session delete ssl $id SSL::session invalidate HTTP::redirect "https://$login_vs/registration/auto_reg.aspx?location_request=[session lookup uie "location_request"]"
Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects