Skip to content

Commit d568beb

Browse files
authored
Update f5-big-ip-forms-advanced.md
1 parent f261476 commit d568beb

File tree

1 file changed

+98
-66
lines changed

1 file changed

+98
-66
lines changed

articles/active-directory/manage-apps/f5-big-ip-forms-advanced.md

Lines changed: 98 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -317,130 +317,162 @@ You can add a LogonID_Mapping configuration. Then, the BIG-IP active sessions li
317317

318318
### Configure a back-end pool
319319

320-
For the BIG-IP to know where to forward client traffic, you need to create a BIG-IP node object that represents the back-end server that hosts your application. Then, place that node in a BIG-IP server pool.
320+
To enable BIG-IP to forward client traffic correctly, create a BIG-IP node object that represents the back-end server that hosts your application. Then, place that node in a BIG-IP server pool.
321321

322-
1. Select **Local Traffic** > **Pools** > **Pool List** > **Create** and provide a name for a server pool object. For example, enter **MyApps_VMs**.
322+
1. Select **Local Traffic** > **Pools**.
323+
2. Select **Pool List**.
324+
3. Select **Create**.
325+
4. Enter a **Name** for a server pool object. For example, MyApps_VMs.
323326

324-
![Screenshot shows pool list](./media/f5-big-ip-forms-advanced/pool-list.png)
327+
![Screenshot of the Name field under New Pool.](./media/f5-big-ip-forms-advanced/pool-list.png)
325328

326-
1. Add a pool member object with the following resource details:
329+
5. For **Node Name**, enter a server display name. This server hosts the back-end web application.
330+
6. For **Address**, enter the application server host IP address.
331+
7. For **Service Port** enter the HTTP/S port the application is listening on.
327332

328-
| Property | Description |
329-
|:-----|:-------|
330-
| Node Name: | Optional display name for the server that hosts the back-end web application |
331-
| Address: | IP address of the server that hosts the application |
332-
| Service Port: | HTTP/S port that the application is listening on |
333-
| | |
333+
![Screenshot of the Node Name, Address, Service Port fields and the Add option.](./media/f5-big-ip-forms-advanced/pool-member.png)
334334

335-
![Screenshot showing the pool member properties.](./media/f5-big-ip-forms-advanced/pool-member.png)
336-
337-
>[!NOTE]
338-
>Health monitors require [additional configuration](https://support.f5.com/csp/article/K13397) that this article doesn't cover.
335+
>[!NOTE]
336+
>Health monitors require configuration this article doesn't cover. Go to support.f5.com for [K13397: Overview of HTTP health monitor request formatting for the BIG-IP DNS system](https://support.f5.com/csp/article/K13397).
339337
340338
### Configure a virtual server
341339

342-
A *virtual server* is a BIG-IP data-plane object that's represented by a virtual IP address that listens for client requests to the application. Any received traffic is processed and evaluated against the APM access profile that's associated with the virtual server. The traffic is then directed according to the policy results and settings.
340+
A virtual server is a BIG-IP data-plane object represented by a virtual IP address. The server listens for client requests to the application. Any received traffic is processed and evaluated against the APM access profile associated with the virtual server. The traffic is directed according to policy.
343341

344342
To configure a virtual server:
345343

346-
1. Select **Local Traffic** > **Virtual Servers****Virtual Server List****Create**.
347-
348-
3. Provide the virtual server with a Name value and an IPv4/IPv6 address that isn't already allocated to an existing BIG-IP object or device on the connected network. The IP address will be dedicated to receiving client traffic for the published back-end application. Then set Service Port to 443.
344+
1. Select **Local Traffic** > **Virtual Servers**.
345+
2. Select **Virtual Server List**.
346+
3. Select **Create**.
347+
4. Enter a **Name**.
348+
5. For **Destination Address/Mask**, select **Host** and enter an IPv4 or IPv6 address. The address receives client traffic for the published back-end application.
349+
6. For **Service Port**, select **Port**, enter **443**, and select **HTTPS**.
349350

350-
![Screenshot showing the virtual server properties.](./media/f5-big-ip-forms-advanced/virtual-server.png)
351+
![Screenshot of the Name, Destination Address, and Service Port fields and options.](./media/f5-big-ip-forms-advanced/virtual-server.png)
351352

352-
3. Set **HTTP Profile (Client)** to **http**.
353+
7. For **HTTP Profile (Client)**, select **http**.
354+
8. For **SSL Profile (Client)**, select the profile you created, or leave the default for testing. This option enables a virtual server for Transport Layer Security (TLS) to publish services over HTTPS.
353355

354-
1. Enable a virtual server for Transport Layer Security to allow services to be published over HTTPS. For **SSL Profile (Client)**, select the profile that you created as part of the prerequisites. (Or leave the default if you're testing.)
356+
![Screenshot of HTTP Profile Client and SSL Profile Client options.](./media/f5-big-ip-forms-advanced/ssl-profile.png)
355357

356-
![Screenshot showing an SSL profile.](./media/f5-big-ip-forms-advanced/ssl-profile.png)
358+
9. For **Source Address Translation**, select **Auto Map**.
357359

358-
1. Change the **Source Address Translation** to **Auto Map**.
360+
![Screenshot of the Auto Map selection for Source Address Translation.](./media/f5-big-ip-forms-advanced/auto-map.png)
359361

360-
![Screenshot showing that 'Auto Map' is selected.](./media/f5-big-ip-forms-advanced/auto-map.png)
362+
10. Under **Access Policy**, in the **Access Profile** box, enter the name you created. This action binds the Azure AD SAML preauthentication profile and FBA SSO policy to the virtual server.
361363

362-
1. Under **Access Policy**, in the **Access Profile** box, enter the name you created earlier. This action binds the Azure AD SAML pre-authentication profile and FBA SSO policy to the virtual server.
364+
![Screenshot of the Access Profile entry under Access Policy.](./media/f5-big-ip-forms-advanced/access-policy.png)
363365

364-
![Screenshot showing the 'Access Policy' pane.](./media/f5-big-ip-forms-advanced/access-policy.png)
366+
11. Under **Resources**, for **Default Pool**, select the back-end pool objects you created.
367+
12. Select **Finished**.
365368

366-
1. Set **Default Pool** to use the back-end pool objects that you created in the previous section. Then select **Finished**.
369+
![Screenshot of the Default Pool option under Resources.](./media/f5-big-ip-forms-advanced/default-pool.png)
367370

368-
![Screenshot showing the 'Default Pool' setting on the 'Resources' pane.](./media/f5-big-ip-forms-advanced/default-pool.png)
371+
### Configure session management settings
369372

370-
### Configure Session management settings
373+
BIG-IP session management settings define conditions for sessions termination and continuation. Create policy in this area.
371374

372-
BIG-IP's session management settings define the conditions under which user sessions are terminated or allowed to continue, limits for users and IP addresses, and error pages. You can create your own policy here. Go to Access Policy > Access Profiles > Access Profile and select your application from the list.
375+
1. Go to **Access Policy**.
376+
2. Select **Access Profiles**.
377+
3. Select **Access Profile**.
378+
4. From the list, select your application.
373379

374-
If you've defined a Single Logout URI value in Azure AD, it will ensure that an IdP-initiated sign-out from the MyApps portal also ends the session between the client and the BIG-IP APM. The imported application's federation metadata XML file provides the APM with the Azure AD SAML logout endpoint for SP-initiated sign-outs. But for this to be truly effective, the APM needs to know exactly when a user signs out.
380+
If you defined a single logout URI value in Azure AD, IdP-initiated sign-out from MyApps ends the client and the BIG-IP APM session. The imported application federation metadata XML file provides the APM with the Azure AD SAML endpoint for SP-initiated sign-outs. Ensure the APM responds correctly to a user sign out.
375381

376-
Consider a scenario where a BIG-IP web portal is not used. The user has no way of instructing the APM to sign out. Even if the user signs out of the application itself, BIG-IP is technically oblivious to this, so the application session could easily be reinstated through SSO. For this reason, SP-initiated sign-out needs careful consideration to ensure that sessions are securely terminated when they're no longer required.
382+
If there's no BIG-IP web portal, users can't instruct the APM to sign out. If the user signs out of the application, BIG-IP is oblivious. The application session can be reinstated through SSO. For SP-initiated sign-out, ensure sessions terminate securely.
377383

378-
One way to achieve this is by adding an SLO function to your application's sign-out button. This function can redirect your client to the Azure AD SAML sign-out endpoint. You can find this SAML sign-out endpoint at App Registrations > Endpoints.
384+
You can add an SLO function to your application **sign out** button. This function redirects the client to the Azure AD SAML sign out endpoint. To locate SAML sign-out endpoint, go to **App Registrations > Endpoints**.
379385

380-
If you can't change the app, consider having BIG-IP listen for the app's sign-out call. When it detects the request, it should trigger SLO.
386+
If you can't change the app, have the BIG-IP listen for the app sign-out call and trigger SLO.
387+
388+
Learn more:
381389

382-
For more information about using BIG-IP iRules to achieve this, see the following F5 articles:
383390
* [K42052145: Configuring automatic session termination (logout) based on a URI-referenced file name](https://support.f5.com/csp/article/K42052145)
384391
* [K12056: Overview of the Logout URI Include option](https://support.f5.com/csp/article/K12056)
385392

393+
## Published application
386394

387-
## Summary
388-
389-
Your application should now be published and accessible via secure hybrid access, either directly via the app's URL or through the Microsoft application portals.
395+
Your application is published and accessible with SHA with the app URL or Microsoft portals.
390396

391-
The application should also be visible as a target resource in Azure AD CA. For more information, see [Building a Conditional Access policy](../conditional-access/concept-conditional-access-policies.md).
397+
The application appears as a target resource in Conditional Access. Learn more: [Building a Conditional Access policy](../conditional-access/concept-conditional-access-policies.md)
392398

393-
For increased security, organizations that use this pattern could also consider blocking all direct access to the application, which then forces a strict path through the BIG-IP.
399+
For increased security, block direct access to the application, enforcing a path through the BIG-IP.
394400

395-
## Next steps
401+
## Test
396402

397-
From a browser, connect to the application's external URL or select the application's icon in the MyApps portal. After you authenticate to Azure AD, you’re redirected to the BIG-IP endpoint for the application and prompted for a password. Notice that the APM pre-fills the username with the UPN from Azure AD. The username that's pre-populated by the APM is read only to ensure session consistency between Azure AD and the back-end application. You can hide this field from view with an additional configuration, if necessary.
403+
1. With a browser, connect to the application external URL, or in My Apps, select the application icon.
404+
2. Authenticate to Azure AD.
405+
3. You’re redirected to the BIG-IP endpoint for the application.
406+
4. The password prompt appears.
407+
5. The APM fills the username with the UPN from Azure AD. The username is read-only for session consistency. Hide this field, if needed.
398408

399-
![Screenshot showing secured SSO.](./media/f5-big-ip-forms-advanced/secured-sso.png)
409+
![Screenshot of the sign in page.](./media/f5-big-ip-forms-advanced/secured-sso.png)
400410

401-
After the information is submitted, users should be automatically signed in to the application.
411+
6. The information is submitted
412+
7. You are signed in to the application.
402413

403-
![Screenshot showing a welcome message.](./media/f5-big-ip-forms-advanced/welcome-message.png)
414+
![Screenshot of Welcome page.](./media/f5-big-ip-forms-advanced/welcome-message.png)
404415

405416
## Troubleshoot
406417

407-
Failure to access the secure hybrid access-protected application can result from any of several factors, including a misconfiguration. When you troubleshoot this issue, be aware of the following:
418+
When troubleshooting, consider the following information
408419

409-
- FBA SSO is performed by the BIG-IP as it parses the logon form at the specified URI and looks for the username and password element tags that are defined in your configuration.
420+
* BIG-IP performs FBA SSO as it parses the sign in form at the URI
421+
* BIG-IP seeks the username and password element tags from your configuration
422+
* Ensure element tags are consistent, or SSO fails
423+
* Complex forms generated dynamically might require dev tool analysis to understand the sign in form
424+
* Client-initiated is better for sign in pages with multiple forms
425+
* You can specify form name and customize the JavaScript form handler logic
426+
* Both FBA SSO methods optimize user experience and security by hiding form interactions:
427+
* You can validate if the credentials are injected
428+
* In client-initiated mode, disable form auto-submission in your SSO profile
429+
* Use dev tools to disable the two style properties that prevent the sign in page from appearing
410430

411-
- Element tags need to be consistent, or SSO will fail. More complex forms that are generated dynamically might require you to analyze them closer by using dev tools to understand the makeup of the logon form.
431+
![Screenshot of the Properties page.](./media/f5-big-ip-forms-advanced/properties.png)
412432

413-
- A client-initiated approach might be better suited for logon pages that contain multiple forms, because it lets you specify a form name and even customize the JavaScript form handler logic.
433+
### Increase log verbosity
414434

415-
- Both FBA SSO methods optimize the user experience and security by hiding all form interactions. In some cases, though, it might be useful to validate whether the credentials are actually being injected. You can do this in client-initiated mode by disabling the form auto submit setting in your SSO profile and then using dev tools to disable the two style properties that prevent the logon page from being displayed.
435+
BIG-IP logs contain information to isolating authentication and SSO issues. Increase the log verbosity level:
416436

417-
![Screenshot showing the properties page.](./media/f5-big-ip-forms-advanced/properties.png)
437+
1. Go to **Access Policy** > **Overview**.
438+
2. Select **Event Logs**.
439+
3. Select **Settings**.
440+
4. Select the row of your published application
441+
5. Select **Edit**.
442+
6. Select **Access System Logs**.
443+
7. In the SSO list, select **Debug**.
444+
8. Select **OK**.
445+
9. Reproduce the issue.
446+
10. Review the logs.
418447

419-
BIG-IP logs are a great source of information for isolating all sorts of authentication and SSO issues. When you troubleshoot an issue, you should increase the log verbosity level by doing the following:
448+
Revert the settings otherwise there's excessive data.
420449

421-
1. Go to **Access Policy** > **Overview** > **Event Logs** > **Settings**.
450+
### BIG-IP error message
422451

423-
1. Select the row for your published application, and then select **Edit** > **Access System Logs**.
452+
If a BIG-IP error appears after Azure AD preauthentication, the issue might relate to Azure AD and BIG-IP SSO.
424453

425-
1. In the SSO list, select **Debug**, and then select **OK**. Reproduce your issue before you look at the logs, but remember to switch this setting back when you're finished.
454+
1. Go to **Access** > **Overview**.
455+
2. Select **Access reports**.
456+
3. Run the report for the last hour
457+
4. Review the logs for clues.
426458

427-
If you see a BIG-IP branded error immediately after successful Azure AD pre-authentication, it's possible that the issue relates to SSO from Azure AD to the BIG-IP.
459+
Use the **View session variables** link for your session to determine if the APM receives expected Azure AD claims.
428460

429-
Go to **Access** > **Overview** > **Access reports**, and then run the report for the last hour to see whether the logs provide any clues. The **View session variables** link for your session will also help you understand whether the APM is receiving the expected claims from Azure AD.
461+
### No BIG-IP error message
430462

431-
If you don't see a BIG-IP error page, the issue is probably more related to the back-end request or SSO from the BIG-IP to the
432-
application. If this is the case, select **Access Policy** > **Overview** > **Active Sessions**, and then select the link for your active session.
463+
If no BIG-IP error message appears, the issue might relate to the back-end request, or BIG-IP-to-application SSO.
433464

434-
The **View Variables** link in this location might also help determine the root cause, particularly if the APM fails to obtain the right user identifier and password.
465+
1. Select **Access Policy** > **Overview**.
466+
2. Select **Active Sessions**.
467+
3. Select the active session link.
435468

436-
For more information, see the F5 BIG-IP [Session Variables reference](https://techdocs.f5.com/en-us/bigip-15-0-0/big-ip-access-policy-manager-visual-policy-editor/session-variables.html).
469+
Use the **View Variables** link in this location to help determine root cause, particularly if the APM fails to obtain correct user identifier and password.
437470

438-
## Additional resources
471+
To learn more, go to techdocs.f5.com for [Manual Chapter: Session Variables](https://techdocs.f5.com/en-us/bigip-15-0-0/big-ip-access-policy-manager-visual-policy-editor/session-variables.html).
439472

440-
* [Active Directory Authentication](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/2.html) (F5 article about BIG-IP advanced configuration)
441-
442-
* [Forget passwords, go passwordless](https://www.microsoft.com/security/business/identity/passwordless)
473+
## Resources
443474

475+
* Go to techdocs.f5.com for [Manual Chapter: Active Directory Authentication](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/2.html)
476+
* [Passwordless authentication](https://www.microsoft.com/security/business/identity/passwordless)
444477
* [What is Conditional Access?](../conditional-access/overview.md)
445-
446478
* [Zero Trust framework to enable remote work](https://www.microsoft.com/security/blog/2020/04/02/announcing-microsoft-zero-trust-assessment-tool/)

0 commit comments

Comments
 (0)