Accounts and extra configuration
Before you can use the SOAR Platform, you must configure an initial user account in the platform and an organization to which this user belongs. This initial user is the platform's system administrator.
After you create the system administrator account, you can use the account to create other users in the SOAR Platform.
You can also configure the SOAR Platform to use LDAP, SAML, or two-factor authentication. You can use either SAML authentication or LDAP authentication, but not both. Two-factor authentication is a second layer authentication and you can use it with LDAP or SAML.
SOAR Platform default user accounts and groups
Some user accounts and groups are created and available by default after a successful installation.
postgresresadminelasticsearchco3res-scriptingres-emailres-messaging
postgresresadminelasticsearchco3res-attachmentsres-scriptingres-emailres-messagingres-keystore
Creating the SOAR Platform initial user account
Create a system administrator account for the SOAR Platform and an organization to which the administrator account belongs.
Enter the following command in your SSH client to determine how to create the platform’s system administrator account and the organization to which the administrator belongs.
sudo resutil newuser -helpThe command has the following options and defaults.
-createorgcreates the organization that contains the system administrator.-createrolecreates a role, if it does not exist.-emailprovides an email address for the user. You must enter an email address.-firstprovides the first name of the system user.-lastprovides the last name of the system user.-orgprovides an organization for the user. You must enter an organization name.-orglocaleprovides the default language of the organization. The default setting is English. Use the-helpoption to see the list of supported languages. The language values are case-sensitive. When the organization is created, you cannot change the locale. Some text, such as regulatory and legal-related information, is available only in English.-roleassigns an existing role to the user. If unspecified, the default role, Master Administrator, is assigned.-sysadminassigns the user the permission to access System Settings. For more information about system settings, see https://www.ibm.com/docs/SSBRUQ_latest/doc/admin/system_settings.html.-incseqcodeprefixassigns a prefix to the sequence code incident field. The field is used to sequentially number incidents. It includes a prefix of your choice, for example, ABC, and an index that increments for each new incident that is created within the organization. The sequence code is included in reports and the audit log. The prefix can be a maximum of 10 characters. If the prefix option is used in the command and a prefix is not specified, a default value is derived by using four random characters followed by a dash ( -). The prefix can be edited in the Administrator Settings - Organization tab after the organization is created. For more information, see Organization settings.-incseqcodestartindexassigns a starting number to the sequence code field. If not specified, the index is set to 1. The index cannot be edited after it is created.
The command then prompts you to enter and confirm the password for this user (no keystrokes appear on the screen). The following command is an example.
sudo resutil newuser -createorg -email "jsmith@example.com" -first "John"
-last "Smith" -org "My Company, Inc."
Enter the password for the user:
Confirm the password for the user:
Creating a new user John Smith <jsmith@example.com
Creating a new organization My Company, Inc.
Adding the user John Smith <jsmith@example.com> to the organization My Company, Inc.
Assigning the following roles to user jsmith@example.com: Master Administrator
Upon successful completion of this command, you will be able to login to the
application and finish setup.
You can create multiple organizations in your system by running the command
multiple times. You need only to provide the -first and -last
options the first time the user is created.
editorg command. Enter the following to get
information about the options to use with the editorg
command.sudo resutil editorg -helpeditorg command has the following options.-address1specifies the first line or the address for the organization.-address2specifies the second line of the address for the organization.-cityspecifies the city for the organization.-namespecifies the organization's new name.-orgnamespecifies the name of the organization to be updated.-statespecifies the organization's new state.-zipspecifies the organization's new postal code.
Configuring LDAP authentication
To configure the SOAR Platform to use LDAP authentication, you must have an Active Directory Server.
The SOAR Platform supports Active Directory only.
You need at least one administrator account per organization, where the email address is not managed by the Active Directory. Make sure that the account has at a minimum the permissions to manage roles, users, and the ability to view and modify administrator settings and customization settings. When LDAP authentication is enabled, any email address that is managed by the Active Directory (based on your configuration) has its authentication and authorization to organizations determined by LDAP.
Basic configuration
When you configure LDAP, you obtain the LDAP configuration values, use the ldapedit command to enter the values, enter the user password, and enable LDAP on a SOAR organization.
- Make sure that you have the following values available. You might need to consult with your LDAP
administrator to get the appropriate values for your setup.
Value Example LDAP server name. myldap.example.comDistinguished Name (DN) of the user account that the SOAR Platform can use to run LDAP queries, such as determining whether the user who is accessing the system is managed by LDAP. The account must have at least Read-Only permission to view all the necessary users. You also need the user password.
"cn=John Smith,cn=Users,dc=Example,dc=com"LDAP search root for all directory searches. If not specified, the SOAR Platform attempts to locate and use the Root DSE. If you want to constrain all queries to a sub-tree in the LDAP, you can specify it here. For performance reasons, select the lowest search root in the directory that contains all users and groups that you want included in the queries. cn=Users,dc=Example,dc=comLDAP server port number. Determine whether it is an SSL port, such as port 636. 389(No SSL)LDAP config name. resilientLDAPLDAP domain name. Only used when you have an LDAP configuration with multiple trees and you want to extend LDAP searches to different trees. The LDAP domain name is the name that the platform matches when it receives an LDAP search reference. You must provide the actual hostname for each domain. sales.division.company.commarketing.division.company.comexecutive.division.company.com - Use the ldapedit command to enter the LDAP values. For example, if you use the values in the
previous table, the command would be:
sudo resutil ldapedit -name myLDAP -bindname "cn=John Smith, cn=Users,dc=Example,dc=com" -host myldap.example.com -port 389If you are enabling LDAP over SSL/TLS (with port 636), see the LDAP Over SSL/TLS section.
- When prompted, enter the password of the user to complete the setup.
- Test the LDAP configuration.
sudo resutil ldaptest -name myLDAP - After you complete the configuration, you must enable it in your SOAR organization as
follows.
- Log in to your organization as an administrator with the permissions to view and modify administrator settings and customization settings.
- Click Administrator settings (from the menu by your username).
- Click the Organization tab.
- Locate the LDAP Authentication section, under Settings.
- Switch the indicator to On.
- Select the LDAP group that you want to have access to the SOAR organization.
LDAP trees
The SOAR Platform primary LDAP configuration points
to a single LDAP tree. By default, all LDAP queries are sent to this tree. If you have an LDAP
configuration with multiple trees, you can configure the platform to have a search in this LDAP tree
point to a different tree. It is called an LDAP search reference, and it is usually in the form of
an LDAP URL, ldap://<domainname>:<port>/<optional parameters>. You need to
provide one or more domain names with the host and port. When you have an LDAP reference to
ldap://<domainname>, the platform searches for a sub-configuration that has that
domain name. When the platform finds a match, it sends the LDAP query to that sub-configuration’s
host and port.
The LDAP domain name is the name that the platform matches when it receives an LDAP search reference. The LDAP domain name does not have to be the same as the hostname of that LDAP server.
sudo resutil ldapedit -name salesSub -bindname "cn=John
Smith,cn=Users,dc=Example,dc=com" -domainname sales.division.company.com -
subdomainof myLDAP -host host1.sales.division.company.com -port 389 sudo resutil ldapedit -name marketingSub -bindname "cn=John
Smith,cn=Users,dc=Example,dc=com" -domainname sales.division.company.com -
subdomainof myLDAP -host host2.marketing.division.company.com –port 389 sudo resutil ldapedit -name execSub -bindname "cn=John
Smith,cn=Users,dc=Example,dc=com" -domainname sales.division.company.com
-subdomainof myLDAP -host host3.executive.division.company.com –port 389
If prompted, enter the password of the user to complete the setup.
Using the examples in the basic procedure, you now have four LDAP configurations. The configuration that is defined in step 2 of the basic procedure is the primary configuration.
sudo resutil configset -key ldap.ref_limit -ivalue <VALUE>
LDAP over SSL/TLS
- Verify that the service is using a certificate that is signed by a trusted CA. If not, follow the instructions in the Importing Untrusted Certificates section.
- Use the following ldapedit command to enter the LDAP values. For example, if you use the values
in the basic procedure the command would be:
sudo resutil ldapedit -name myLDAP -bindname "cn=John Smith,cn=Users,dc=Example,dc=com" -host myldap.example.com -port 636 -usessl -wlhost myldap.example.com
-wlhost option is not needed if the common name on the certificate matches
the name in -host in the previous command. Additional information
ldapedit commands.- View the command help:
sudo resutil ldapedit -help - Enter the following command to change the configuration value that syncs data between LDAP and
the SOAR Platform.
sudo resutil configset -key elastic_server.principal_indexer_sync_interval -ivalue <interval in minutes>The default value is 4 hours. If you make updates in LDAP, such as adding, deleting, or disabling users, the updates are not propagated to the SOAR Platform until 4 hours later.
- View your configuration.
sudo resutil ldapshow - Delete your configuration.
sudo resutil ldapdel -name myLDAP
- If you are unable to log in as an LDAP user, verify that you can use the same account to log in with an LDAP browser, such as JXPLORER.
- The system account that you use has an email address that is managed by Active Directory.
Accounts tied to email addresses with Active Directory must be authorized by authorizing the LDAP
group. Until the group is authorized, no email address that is tied to an Active Directory can
access the organization. Add an administrator account to the organization by using the following
command. Make sure that the email address is not tied to LDAP; in fact, you can use a fake address.
(Consider keeping this user for one-off circumstances.)
sudo resutil newuser -email "jsmith@example.com" -first "John" -last "Smith" -org "My orgname"When you confirm that this user can log in and access the Administrator settings, then enable LDAP again as before, to authorize your LDAP group.
Configuring SAML authentication
SAML authentication allows users to use their organization's login credentials to authenticate to the SOAR Platform.
The SAML specification identifies two different types of endpoints that are relevant to the SOAR Platform:
- Identity Providers
- Service Providers
The SOAR Platform serves as a SAML Service Provider. An authentication and identification system that you provide (such as Microsoft Active Directory Federation Services) serves as the Identity Provider (IdP).
To configure the SOAR Platform to function as a SAML Service Provider, follow these steps, which are outlined in more detail in the following sections:
- Create a SAML federation.
- Import the SAML metadata into your Identity Provider.
- Test the configuration.
Create a SAML federation
SAML
federations are created in the SOAR Platform with the
resutil tool. To create the SAML federation, you need the following information
from your identity provider.
- Identity Provider Authentication URL
- Identity Provider public certificate
The commands that follow use the following values.
- The authentication URL for your identity provider is
https://adfs.example.com/adfs/ls/. - You copied the Identity Provider's certificate file to the system by using a tool
such as
scpand the file name of the certificate file isidp.cerin the current working directory. - The "alias" for the SAML federation is
soar. - The organization name on the SOAR Platform is
My Test Org.sudo resutil samledit -alias soar -certfile idp.cer -org "My Test Org" -createusers -loginurl https://adfs.example.com/adfs/ls/ - If your identity provider configured a single logout function, you can have the SOAR Platform specify that as well in the
samleditcommand.sudo resutil samledit -alias soar -org "Production" -org "Development" -certfile idp.cer -loginurl https://adfs.example.com/adfs/ls/ -logouturl https://adfs.example.com/adfs/ls/
This command prints the SAML federation to the console. It also writes out the following files.
alias-metadata.xml- SAML XML metadata that can be imported into the Identity Provider to complete the configuration.alias-sp-cert.pem- Service Provider certificate that was automatically generated.
By default, the SOAR Platform verifies the
signature on all incoming identity provider messages. If an incoming message is not signed, the
SOAR Platform rejects the message. To have the
SOAR Platform not verify identity provider message
signatures, use the command option, -requiresignedidprequests false.
A federation can be associated with multiple organizations. Consider the situation where your SOAR Platform is configured to have two organizations: Production and Development. You can create a single federation that allows access to both organizations. For example:
sudo resutil samledit -alias soar -org "Production" -org "Development"
-certfile idp.cer -loginurl https://adfs.example.com/adfs/ls/
By default, users are only granted access to the organization through the
federation if they exist in that organization. Therefore, in the previous example, users would need
to exist in both "Production" and "Development" organizations for the users to access them. However,
if you want users to automatically be added to the Production organization then you
would specify –createusers for just that organization, as shown in the following
example.
sudo resutil samledit -alias soar -org "Production" -createusers
If the –createusers argument is specified for both organizations,
then users who authenticate through the federation are automatically created in both
organizations.
You can unlink the federation from an organization by using the
-clearorgs flag.
Import the SAML metadata into your identity provider
The SAML metadata that was written in the previous step can now be imported into your SAML Identity Provider. The specific instructions vary by product. Consult the documentation for your Identity Provider for instructions on how to create a federation (also called a "relying party").
The SOAR Platform requires that the Identity Provider provide the following attributes.
- Email address
- First name (given name)
- Last name (surname)
The SOAR Platform does not function if the attributes are missing.
The SOAR Platform uses the following attributes if they are present (they are not needed for proper operation):
- Phone number
- Mobile phone
- Title
- Groups
Consult your Identity Provider documentation for details on configuring which attributes are sent during authentication.
Authenticated users are added to the groups listed by the Identity Provider in the SAML response. For example, if the user is a member of the "IT" group and it is sent then the user is added to the "IT" group in the SOAR Platform, if it exists. Groups that are in the SAML response that do not exist in the SOAR Platform are not automatically created.
After you configure SAML in Identity Provider, you can test the authentication by using the Authentication URL for your organization. You can check this value by running the following command.
sudo resutil samlshow
For example:
https://resilient.example/saml2/resilientThe URL redirects you to the Identity Provider for authentication. After you authenticate, you are redirected to the SOAR Platform and logged in to the SOAR Platform. Authentication might be done without prompting (single sign-on).
You can send the URL to users who you want to grant access to the SOAR Platform. All users who are authorized to use the Identity Provider are granted access to the SOAR Platform. If you want to restrict access, you must do so through the Identity Provider configuration.
Update certificate
sudo resutil samledit -alias <alias_name> -org "<org_name>"
-certfile idp.cer -loginurl <path_to_file>
sudo systemctl restart resilientsudo resutil samledit -alias soar -org "Production" -org "Development"
-certfile idp.cer -loginurl https://adfs.example.com/adfs/ls/
sudo systemctl restart resilientAlternatively, to avoid replacing the IdP's SSL certificates when they expire, you can use
-idpmetadataurl only if the IdP's metadata is available to the SOAR Platform from the https://<protocol>.
This way, the SOAR Platform imports any changes to the
IdP's SSL certificate embedded in its metadata, dynamically avoiding this process.
Changed in 51.0.1.0 Configuring two-factor authentication
Two-factor authentication provides unambiguous identification of users by using a combination of two different components. These components can be something that the user knows, something that the user possesses or something that is inseparable from the user.
Combining two components as a means of identification adds a second layer of security to your accounts. Verifying your identity by using a second factor (like your phone or other mobile device) prevents anyone but you from logging in, even if they know your password.
The SOAR Platform uses Duo Security, a third-party vendor, as its two-factor authentication provider. When you enable two-factor authentication, users can still log in with their email address and password. However, they are also presented with a challenge - an extra second layer of security that is provided by Duo Security - to verify their identity. This challenge appears any time a user, who was not previously authenticated by using two-factor, tries to access an organization.
How to set up two-factor authentication
- Sign-up for a Duo Account at https://www.duosecurity.com/pricing.
- Create and configure a Duo application to use with the SOAR Platform.
During this stage, you receive a Client ID, Client Secret, and API host name. You need these items to configure two-factor authentication on the SOAR Platform.
When prompted for the application type, select Web SDK.
- Locate the Client ID, Client Secret, and API host name from your Duo application.
- Determine the names of one or more SOAR organizations that can enable the two-factor domain. (When this procedure completes, a system administrator can then choose to enable the two-factor domain for each of those organizations. The administrator needs the permissions to view and modify administrator settings and customization settings.)
- Use
resutilto create a two-factor domain:sudo resutil twofactoredit -name <domain_name> -org <org_name> -clientid <duo_client_id> -host <duo_api_hostname> -clientsecret <duo_client_secret><domain_name>is the name of the two-factor authentication domain. The name is presented to your Organization Administrator in a menu.<duo_clientid_key>,<duo_api_hostname>, and<duo_client_secret>are values that are obtained from Duo Security to complete the configuration.<org_name>is the name of an organization in the SOAR Platform that can use the two-factor domain. Multiple-org <org_name>arguments can be provided. - Ensure that your firewall was not modified by the Duo certificate using the following curl
command:
curl https://[api-to-duo-app].duosecurity.com/auth/v2/ping --verboseIf your firewall is not configured correctly or you notice any problems, implement the steps described in the Duo documentation.
resutil twofactoredit command to change the
name of an existing domain and clear any organizations that are associated with it. Use the command
to check all the options.sudo resutil twofactoredit -help
You can display the details of an existing two-factor domain.
sudo resutil twofactorshow -name <domain_name>-name is not specified, all the
organizations with two-factor authentication are displayed.You can delete a two-factor domain.
sudo resutil twofactordel -name <domain_name>In some cases, you might want to exclude a specific user who belongs to an organization configured for two-factor authentication. For example, you want to programmatically access the SOAR REST API with a system account. You can use the following command.
sudo resutil twofactorexcluser -email user@example.comIt enables user@example.com to access the two-factor org without providing the Duo authentication.
You can re-enable two-factor authentication by using the
-clearemail flag. For example,
sudo resutil twofactorexcluser -clearemail user@example.comEnabling your authentication domain
As a system administrator with the permission to view and modify administrator settings and customization settings, you can enable a two-factor authentication domain under organizational settings on the administrator's settings page. If you configured multiple two-factor authentication domains, you can select which domain you would like to authenticate your users against here. You can also set the cookie lifetime, which sets an expiration in days for when a user needs to reauthenticate with two-factor authentication.
Registering users
When two-factor authentication is configured, users need an account on the SOAR Platform and a corresponding account in your Duo Security account.
Management of user registration with Duo security is handled in the Policy settings of your Duo Security application. The "New user policy" allows you to select the following settings.
- Require Enrollment. Users who are not already registered with Duo security are provided a self-enrollment process where they can register their devices and install the Duo mobile app (if necessary). When a user logs in to the SOAR Platform for the first time after two-factor authentication is enabled, Duo Security begins this self-enrollment process.
- Allow Access. Not recommended. Users who are not already registered with Duo security are not challenged.
- Deny Access. Only users who are already configured with the Duo account are allowed access. It means that you need to configure your users who use your Duo account in the "Users" tab.
The email address of the SOAR Platform must match the Duo account username. In the Duo application settings, you can use "Username normalization" to specify whether "DOMAIN\username", "username@example.com" and "username" are all treated as the same user.
Two-factor authentication and user experience
When two-factor authentication is enabled, if a user was not "previously authenticated" through two-factor authentication, they are presented with a two-factor challenge whenever they try to access an organization.
A user is considered as being "previously authenticated" under the following circumstances.
- They successfully pass the challenge presented by two-factor authentication in their current session.
- They successfully pass the challenge that is presented by two-factor authentication in a session then started a new session within the number of days set by the cookie lifetime value. In this situation, the user authenticates as normal (email and password) when they start the new session, but is not presented with the challenge. The system administrator sets the cookie lifetime value in the Organization page.
Adding SOAR Platform user accounts
After you successfully install and configure the SOAR Platform, you can open it and begin adding user accounts for the users you want to have access to the platform.
For more information about adding user accounts, see the administration guide.
SOAR Platform password and API key expiration
You can configure user password and API key account expiration durations.
configvars. It is a system-wide setting and
cannot be changed per
organization:sudo resutil configset -key password.apikey_lifetime_in_years -ivalue <value>
resutil configset -key password.user_lifetime_in_days -ivalue <value><value> to 0.
sudo resutil configset -key password.user_lifetime_in_days -ivalue <value><value> to 0.
sudo resutil configset -key password.apikey_lifetime_in_years -ivalue <value>A restart is not needed for any of these commands.
Importing untrusted certificates
The SOAR Platform might interact with services such as proxies, SMTP servers, and custom threat services, that do not use trusted SSL certificates. Instead, they might use self-signed certificates or certificates that are issued by an internal certificate authority. You must trust these certificates explicitly to use these services.
About this task
- Obtain the certificate from the service that you need to trust (for example, Active Directory Server, SMTP Server, or Custom Threat Service).
- Add this certificate to a custom Java™ KeyStore called custcerts in
/crypt/certs/folder on the SOAR system. It contains customer-specific certificates for communication with external systems, for example, SMTP servers, and custom threat feeds. The SOAR Platform explicitly trusts all certificates within this keystore. This file is not changed during upgrades.
These steps are described in more detail as follows.
Procedure
Changing the temporary directory
You can change the location of the temporary directory that is used during upgrade, backup, and restore.
resSystemBackupcreate and
resSystemRestore create temporary sub-directories and files in the
/tmp directory. These sub-directories and files are deleted after the script
finishes. You can change the default location of the temporary directory as
follows.export RES_TMPDIR=<path_to_directory>export RES_TMPDIR=/home/resadmin/my_tmpdir-E option to use your
temporary directory instead of the default /tmp directory. For
example,sudo -E resSystemBackupConfiguring the base URL in virtual installations
IBM Security® QRadar® SOAR uses the base URL to include links to incidents in email notifications. It can also be used to protect against Cross Site WebSocket Hijacking (CSWSH) attacks.
By default, the base URL is not configured. You can use the resutil command to set it.
If you import an SSL certificate, the base URL is configured automatically.
About this task
The baseurl parameter is used to validate the Origin Header before the SOAR Platform creates a WebSocket endpoint. This validation can help protect against CSWSH attacks. If you do not configure the base URL, the Origin Header is not validated.
You must configure a base URL in order for email notifications to include a link to an incident.
Procedure
Network configuration settings
For some SOAR features to operate properly, the system requires access to services on the Internet.
Work with your network administrators to ensure that the system has access to the following URLs to support the corresponding services.
| URL | Purpose |
https://websvc.resilientsystems.com (TCP/443) |
IBM Security cyberthreat service |
ntp:ntp.org (UDP port 123) |
Network time synchronization |
New in 51.0.4.0 Sanitizing values in incident reports
You can configure the SOAR Platform to sanitize field values that start with particular characters in an incident report exported to Excel.
About this task
For new SOAR Platform
51.0.4.0 installations, the
reports.character_blocklist_enabled variable is set to true and
enabled by default.
reports.character_blocklist_enabled variable to control if values in incident
reports are sanitized. When you set the reports.character_blocklist_enabled
variable to true, if there are any of the following values at the start of a field
in an incident, these fields are sanitized in line with industry-standard recommendations to
mitigate against vulnerabilities when they are exported in an incident report:- The @ symbol:
@ - The + symbol:
+ - The - symbol:
- - The = symbol:
= - A keyboard TAB
- A carriage return
reports.bcharacter_blocklist_enabled value is set to
false, there are no changes to the field values when an incident report is exported
to Excel.Procedure
New in 51.0.7.0 Configuring trusted IP addresses
You can configure a list of trusted IP addresses that are not banned if they meet the banned criteria. For example, if an IP address crosses the banned threshold for number of failed logins, this IP address is not banned if it is configured as a trusted IP address.
About this task
- Supports IPv4 and IPv6.
- Supports a range of IP addresses in CIDR form, for example,
9.54.34.0/24. This also includes IPv6 addresses such as2001:db8::/24. - You can add a single IP address to the trusted list, like
9.54.34.43or9.54.34.43/32. - IPv6 addresses are allowed in both compressed and fully qualified form, such as
2001:0db8:85a3:0000:0000:8a2e:0370:7334versus2001:db8::8a2e:370:7334.
0 are treated as subnets, while CIDR IP
addresses with non-zero hosts are treated as a single IP address. In the following examples,
/16 determines that the network portion of the address consists of the first 16
bits. The bits beyond this form the host:1.2.0.0/16is a subnet of 65536 addresses, as the0.0host makes it a network.1.2.3.4/16is a single address, as the host part is3.4.
If an IP address or IP address range is removed from the trusted values, it is immediately banned again if it had been banned previously.