Advanced Installation and Configuration

Everything you need to install and configure SOARCA

After completing the Getting Started setup for SOARCA, you may find that certain advanced configurations or customizations are necessary to optimize SOARCA for your specific use cases, for example integrating with The Hive. This section provides in-depth guidance on additional steps you can take to enhance, secure, and integrate SOARCA with your infrastructure, ensuring it meets your unique operational needs.

Configuring SOARCA

VariableContentDescription
PORT8080Set the exposed port of SOARCA. Default is 8080.
ENABLE_TLSfalseEnable TLS for secure communication. Default is false.
CERT_FILE"/certs/server.crt"Path to the TLS certificate file. Default is "/certs/server.crt".
CERT_KEY_FILE"/certs/server.key"Path to the TLS certificate key file. Default is "/certs/server.key".
MAX_EXECUTIONS1000The number of historical executions saved, including the current one. Default is 10.
SOARCA_ALLOWED_ORIGINS*Set allowed origins for cross-origin requests. Default is *.
GIN_MODEreleaseSet the GIN mode. Default is release.
DATABASEfalseSet if you want to run with an external database. Default is false.
MONGODB_URImongodb://localhost:27017Set the MongoDB URI. Default is mongodb://localhost:27017.
DATABASE_NAMEsoarcaSet the MongoDB database name when using Docker. Default is soarca.
DB_USERNAMErootSet the MongoDB database user when using Docker. Default is root.
DB_PASSWORDrootpasswordSet the MongoDB database user password when using Docker. Change this in production! Default is rootpassword.
PLAYBOOK_API_LOG_LEVELtraceSet the log level for the playbook API. Default is trace.
MAX_REPORTERS10Set the maximum number of downstream reporters. Default is 10.
LOG_GLOBAL_LEVELinfoOne of the specified log levels. Default is info.
LOG_MODEdevelopmentSet the logging mode. If production, LOG_GLOBAL_LEVEL is used for all modules. Default is development.
LOG_FILE_PATH""Path to the logfile for all logging. Default is "" (empty string).
LOG_FORMATjsonSet the logging format. Either text or json. Default is json.
ENABLE_FINSfalseEnable FINS in SOARCA. Default is false.
MQTT_BROKERlocalhostThe broker address for SOARCA to connect to for communication with FINS. Default is localhost.
MQTT_PORT1883The port for the MQTT broker. Default is 1883.
HTTP_SKIP_CERT_VALIDATIONfalseSet whether to skip certificate validation for HTTP connections. Default is false.
VALIDATION_SCHEMA_URL""Set a custom validation schema to validate playbooks. Default is "" to use the internal schema. Note: Changing this can heavily impact performance.

Integrations

The Hive

VariableContentDescription
THEHIVE_ACTIVATEfalseEnable integration with The Hive. Default is false.
THEHIVE_API_TOKENyour_tokenSet the API token for The Hive integration.
THEHIVE_API_BASE_URLhttp://your.thehive.instance/api/v1/Set the base URL for The Hive API. Default is "".

Authentication

VariableContentDescription
AUTH_ENABLEDfalseRequire a valid credential on every API request. Default is false.
OIDC_ISSUERhttps://authentik.example.com/application/o/soarca/Issuer URL of the OIDC provider (authentik).
OIDC_CLIENT_IDSOME_CLIENT_IDClient ID of the OIDC provider; the expected token audience.
OIDC_SKIP_TLS_VERIFYfalseSkip certificate checks towards the OIDC provider. Default is false.
AUTH_GROUPsoarca_adminOIDC group whose members get every permission. Default is soarca_admin.
AUTH_ENTRA_TENANT_IDS<tenant-id>Comma-separated Entra ID tenants whose tokens SOARCA accepts.
AUTH_ENTRA_API_CLIENT_ID<client-id>Client ID of the SOARCA API app registration in Entra ID.
AUTH_ENTRA_API_APP_ID_URIapi://soarcaApplication ID URI of that registration. Optional.
AUTH_ENTRA_ALLOWED_CLIENT_IDS<client-id>,<client-id>Applications allowed to call SOARCA. Empty allows all in the tenant.
AUTH_ENTRA_REQUIRED_USER_SCOPEaccess_as_userDelegated scope user tokens must carry. Default is access_as_user.
AUTH_ENTRA_ACCEPT_V1falseAlso accept Entra ID v1 tokens. Default is false.
AUTH_ENTRA_AUTHORITYhttps://login.microsoftonline.comEntra ID login host; change only for national clouds.
AUTH_API_KEYS_FILE/etc/soarca/api-keys.jsonJSON file with hashed API keys. Empty disables API keys.

Key management system

VariableContentDescription
ENABLE_SSH_KMSfalseEnable the key management system for SSH
SSH_KMS_DIRdeployments/docker/testing/ssh-kms-test/ssh-keystore/Set the folder where SSH keys for the key management system are stored

Authentication and authorization

Secure the SOARCA API with Microsoft Entra ID, authentik or another OIDC provider, and static API keys