Appendix C - Creating a SSO and MFA OpenID Connect Integration with Okta
- 1 Overview
- 2 Configure a new Integration for Snare Central in the Okta portal
- 3 Create a New OpenID Connect Integration (Application)
- 4 Configure the Integration (Configure the Sign-In redirect URL)
- 5 Retrieving the Okta Client Credentials
- 6 Configuring CORS settings for your OpenID Connect integration with Okta
- 7 Create an API token
- 8 Configure the default authorization server
- 9 Test the Integration
- 10 Create Okta Groups
- 11 Configure app-level MFA
- 12 Add a new IAM Service Provider in the Configuration Wizard
- 13 Retrieving the groups from Okta
- 14 Granting access rights to Okta groups
- 15 Login with Okta credentials
Overview
As of version 8.6.0, Snare Central can be configured to allow login using Okta account.
This guide will help you setup and configure Snare Central to perform SSO and MFA authentication via Okta.
As a general description, the process to configure Okta support for Snare Central involves the following steps:
Configure a new Integration for Snare Central in the Okta portal. This requires administrative rights within the Okta portal.
Configure the Sign-In redirect URL in the providers portal. This URL is provided in the Sign-In redirect URL field in this section of the Configuration Wizard.
Configure the groups that will have access to Snare Central in the Okta portal. The name of the groups must start with the Default Group Prefix show in this section of the Configuration Wizard (Snare_Central.).
Once the new integration has been created, get the required credentials. In the case of Okta these credentials include Domain, Client ID, Client Secret and API Token.
Using the credentials from Okta: Domain, Client ID, Client Secret, and API Token, add a new IAM Service Provider in the Configuration Wizard by clicking the Add button.
Retrieve the groups from Okta by clicking the Retrieve Groups button.
Once the groups have been obtained from Okta, the Snare Central Administrator needs to grant them permissions in the Manage Access Control tool.
Logout from Snare Central and a new LOGIN WITH OKTA button will be available in the login page for users defined in the Okta portal.
A detailed description on each of the above steps follows.
NOTE: Throughout this document we use xx.xx.xx.xx to represent the IP address of your Snare Central server however the FQDN (Full Qualified Domain Name) of the server can be used instead.
Configure a new Integration for Snare Central in the Okta portal
Okta allows you to enable Single Sign On (SSO) and Multi Factor Authentication (MFA) using OpenID Connect authentication for your applications. This guide explains how to create a new OpenID Connect integration with Okta.
Before you begin, you need a verified Okta account and a registered application. If you don't have these, please follow the appropriate steps in the Okta documentation.
Snare will use an Okta flow called Redirect authentication: A user sign-in flow that grants authentication control to Okta by redirecting to an Okta hosted sign-in page.
This flow uses open protocols like OAuth 2.0 and SAML.
So, the first thing that is needed is to configure your Okta environment.
NOTE: The following steps require that the verified Okta account to have one of: Super Admin, App Admin or Org Admin permission.
Create a New OpenID Connect Integration (Application)
Log in to your Okta account and navigate to the Okta dashboard; the dashboard displays all the applications in your organization.
To create a new OpenID Connect integration, navigate to the Applications menu and click on Create App Integration.
From the Create a New Application Integration dialog, select OIDC - OpenID Connect, and Web Application and click on the Next button.
Configure the Integration (Configure the Sign-In redirect URL)
After creating the new OpenID Connect integration, you need to configure it. The following are the parameters that you need to fill out:
App Integration Name: Snare Central
Grant Type: Client Credentials and Authorization Code
Sign-in redirect URIs: https://xx.xx.xx.xx/login.php/api/v1/sign-in-callback (Note: This should be fetched from Snare Central on Identity And Access Management Setup section)
Assignments – Controlled access: Everyone
Once you fill out all the required parameters, click on the Save button to save the integration
Once the OIDC application for Snare Central is created, make sure to check and update (if not yet set) the following application settings as well:
Client authentication: Client secret
Login initiated by: Either Okta or App
Initiate login URI: http://localhost:8080
Retrieving the Okta Client Credentials
After saving the integration, select your new integration and navigate to the General tab.
Here, you can find your Client ID and Client Secret. Copy these credentials and save them to a secure location.
Click on Require PKCE as additional verification.
Configuring CORS settings for your OpenID Connect integration with Okta
To configure CORS settings for your Okta integration, navigate to the Security -> API page in the Okta Admin dashboard and click on the Trusted Origins tab.
From there, you can add your application's URLs to the whitelist.
Add https://xx.xxx.xx.xx in the Origin URL and select Cross-Origin Resource Sharing and Redirect checkboxes and click Save.
NOTE: Make sure to enable CORS settings only for the required domains to prevent unauthorized access to your Okta account.
Create an API token
NOTE: API tokens have the same permissions as the user who creates them, and if the user permissions change, the API token permissions also change.
See the section above on Privilege level, regarding the use of a service account when creating an API token, to specifically control the privilege level associated with the token.
To create an API token, follow these steps:
In the Okta Admin dashboard, select Security > API from the menu and then select the Tokens tab.
Click Create Token.
Name your token and click Create Token.
Note: Make sure to record the token value after its creation, as this is the only opportunity to see it and record it.
NOTE: API tokens are valid for 30 days and automatically renew every time they are used with an API request. When a token has been inactive for more than 30 days, it is revoked and cannot be used again.
NOTE: The only time you can view and copy the token is during the creation process. After the token is created, it is stored as a hash for your protection. Treat API tokens like passwords. You might want to capture a screen shot of it for future reference but be sure to store it in a secure place.
Configure the default authorization server
Add default policy and default policy rule on the default authorization server.
On Okta Admin dashboard, go to Security → API then click the default authorization server.
Click the Access Policies tab, then click Add Policy to add DefaultPolicy .
After creating DefaultPolicy, click the Add rule to add DefaultPolicyRule as well.
Add scope for Okta API access on the default authorization server.
On the default authorization server, click the Scopes tab.
Then click Add Scope and input the following on the dialog box then click Create.
Name: okta.myAccount.email.read
The rest of the fields are optional
Test the Integration
To test the integration, navigate to the Assignments tab and assign users or groups to your OpenID Connect application.
Once you assign users, they can log in to your application using their Okta credentials.
Congratulations, you have successfully created a new OpenID Connect integration with Okta.
Create Okta Groups
In the Okta Admin dashboard, go to Directory → Groups.
Add the groups that will have access to Snare Central. The name of each group MUST start with the group prefix defined in the IAM section of the Configuration Wizard in the Snare Central server (default is Snare_central.).
Assign user(s) per each created group(s).
NOTE: The name of each group MUST start with the group prefix defined in the IAM section of the Configuration Wizard in the Snare Central server (default is Snare_central.)
Configure app-level MFA
On Okta Admin dashboard, go to Applications then click the OIDC application created for Snare Central.
Click the Sign On tab, then go to User authentication section and click the View policy details.
You can create a rule or modify an existing one to configure MFA on the app. Click Add Rule to create a rule or click the edit rule pencil icon in the Actions column for the rule you want to modify. The App Sign On Rule dialog box appears.
Enter a name in the Rule Name field.
Optional. In the PEOPLE section, select the users and groups to whom this rule applies.
Users assigned this app: Select this option to assign this rule automatically to all users who are assigned to this app from the app's Assignments tab.
The following groups and users:
Groups: Enter the names of groups to whom you want to apply this rule.
Users: Enter the names of individual users to whom you want to apply this rule.
Exclude the following users and groups from this rule: Select this option to add groups and users that you want to exclude from this rule. The following options appear:
Excluded Groups: Enter the names of groups that you want to exclude from this rule.
Excluded Users: Enter the names of individuals that you want to exclude from this rule.
Optional. In the LOCATION section, select an option to require MFA to access to the app based on the user's network zone.
Anywhere: Require MFA to access the app from users who sign in from any network zone.
In Zone: Require MFA to access the app from users who sign in from network zones that you specify.
Not in Zone: Require MFA to access the app from users who sign in from outside of the network zones that you specify.
Network Zones:
All Zones: Select this option to apply the In Zone or Not in Zone option to users who sign in from all network zones.
Click in the field and enter the names of network zones to apply to the In Zone or Not in Zone option.
Optional. In the CLIENT section, select the platforms to which you want to apply this rule.
In the ACCESS section, select whether sign-on to the application is allowed or denied from the drop down. Select an action:
Prompt for re-authentication: Require users to re-authenticate when they try to access the app.
Prompt for factor: Require that users authenticate with a specific factor when they try to access the app.
Multi-factor Settings: If you haven't configured your factor types yet, you can click this link and configure them. Don't click this link if you've already configured your factor types.
Click Save.
https://help.okta.com/en-us/content/topics/security/policies/about-app-signon-policies.htm
https://help.okta.com/en-us/content/topics/security/policies/configure-app-signon-policies.htm
Add a new IAM Service Provider in the Configuration Wizard
Login as Administrator in the Snare Central server and go to the Administrative Tools → Configuration Wizard → Identity and Access Management Setup and click on the Add button.
Fill the form with the required values from Okta.
IAM Domain: This is your Okta Organization URL (https://dev-xxxxxxxxxx.okta.com).
Note: To find your Okta URL (also called an Okta domain).
Sign in to your Okta organization with your administrator account.
Look for the Okta domain in the global header located in the upper-right corner of the dashboard.
Client ID: see “Retrieve Your Client Credentials" section for more details.
Client Secret: see “Retrieve Your Client Credentials" section for more details.
API Token: see “Create an API token” section for more details.
Enable the Okta provider by selecting the Okta service provider and clicking the Enable button.
NOTE: In case of errors, see the “Troubleshooting Guide” section of this user guide.
Retrieving the groups from Okta
Note: Make sure that groups with the proper group prefix in their names are created and members are assigned on the Okta side.
Go to Snare Central server, then go to the Administrative Tools → Configuration Wizard → Identity and Access Management Setup section.
Select Okta service provider and click the Retrieve Groups button.
NOTE: In case of errors, see the “Troubleshooting Guide” section of this user guide.
Granting access rights to Okta groups
Go to the Manage Access Control tool under the Administrative Tools menu and assign access to Snare pages and Reports as needed for the group retrieved from Okta.
Login with Okta credentials
Snare Central uses Oktas Redirect Authentication Model.
A user sign-in flow that grants authentication control to Okta by redirecting the user browser to the Okta hosted sign-in page.
This flow uses open protocols like OAuth 2.0 and SAML.
The user is redirected to Okta for credential verification.
The user is then provided authenticated access to Snare Central.
When a user signs in, they're redirected to Okta using a protocol OpenID Connect.
After the user signs in (based on policies configured in Okta), Okta redirects the user back to the Snare Central where group verification is carried out and if correct, the user will be granted access with its group authorization level.
NOTE: In case of errors, see the “Troubleshooting Guide” section of this user guide.
Troubleshooting Guide
This guide will be your resource for resolving common issues and challenges that you may encounter during Okta IAM service provider configuration.
Unable to retrieve groups from Okta due to the invalid API token
Unable to retrieve groups from Okta due to error “No groups defined for SC usage …”
Unable to enable Okta SSO provider
Bad request error after trying to login in using Okta account
Unable to login to Okta due to Okta state error
Unable to login to Okta due user’s unauthorized access