Install an Engine - Administrator Guide - 6.5 - Cortex XSOAR - Cortex - Security Operations

Cortex XSOAR Administrator Guide

Product
Cortex XSOAR
Version
6.5
Creation date
2022-09-28
Last date published
2024-03-21
End_of_Life
EoL
Category
Administrator Guide
Abstract

Install, deploy, and configure Cortex XSOAR engines.

You can install Cortex XSOAR engines on all Linux and Windows machines. Although Cortex XSOAR engines are intended for Linux operating systems, they can be used on Windows, but Docker on Windows machines must be configured to run Linux containers.

Cortex XSOAR Engine Requirements

Cortex XSOAR engines are compatible with the following operating systems and must meet the minimum hardware requirements.

  • Linux

  • Windows

Note

Hardware Requirements

Component

Dev Environment Minimum

Production Minimum

CPU

8 CPU cores

16 CPU cores

Memory

16GB RAM

32GB RAM

Storage

100GB

100GB

If your hard drive is partitioned, we recommend a minimum of 50GB for the /var partition for your development environment, and 50GB for the /var partition for your production environment. If you are using RHEL 8.x and Podman, we recommend allocating a minimum of 50GB for the /home partition and 50GB for the /var partition.

Required URLs

You need to allow the following URLs for Cortex XSOAR engines to operate properly.

FUNCTION

SERVICE

PORT

DIRECTION

Integrations

Integration-specific ports

Outbound

Engine connectivity

HTTPS

443 (configurable)

Outbound

Engine Installation

After creating an engine in the Engines page, you download one of the following file types for installation on the engine machine:

  • Shell: For all Linux deployments except RHEL 7.x (for example Ubuntu, CentOS, etc.). Automatically installs Docker/Podman, downloads Docker/Podman images, enables remote engine upgrade, and allows installation of multiple engines on the same machine. For RHEL 7.x, see Install Docker Distribution for Red Hat on Cortex XSOAR.

    The installation file is selected for you. Shell installation supports the purge flag, which by default is false.

  • DEB: For Ubuntu operating systems.

  • RPM: CentOS and RHEL operating systems. If you require a signed RPM file for installation, Install a Signed Engine.

    Note

    Use DEB and RPM installation when shell installation is not available.

  • Zip: Used for Windows machines.

  • Configuration: Configuration file for download. When you install one of the other options, this config file (d1.conf) is installed on the engine machine.

Note

When you create the engine, the python.engine.docker and powershell.engine.docker key is set to true. If Docker or Podman is not available when the engine is created, the key is set to false. If this happens, in the d1.conf file, you need to set the key to true. Verify that python.engine.docker and powershell.engine.docker config is present in the d1.conf file.

For engines running on a Windows machine, add the python.runner.loop.script.path configuration to the engine with path to _script_docker_python_loop.py file (located in the engine’s installation folder). The path to _script_docker_python_loop.py must be taken from WSL installed on the Windows machine (for example - /mnt/c/Users/<customer user>/Desktop/<customer engine folder>/_script_docker_python_loop.py).

Also add the powershell.runner.loop.script.path configuration tot he engine with WSL path _script_docker_powershell_loop.ps1 file (also located in engine’s installation folder).

After you install and deploy an engine, there are several ways that you can Manage Engines. For Linux systems, you can run Python integrations on an engine. Ensure you have Python 2.7 or later installed on the engine machine. Running Python integrations needs to be through Docker.

  1. Define the base URL.

    The base URL is the external IP address of your Cortex XSOAR server. If you do not define the base URL, you need to add it to the d1.conf file after you create the engine.

    1. Go to SettingsAboutTroubleshooting.

    2. From the Server Configuration section, in the Base URL (for D2 Agents and Engines) type the Base URL.

      For example, for https://ec2-54-228-48-128.eu-west-1.compute.amazonaws.com/, type eu-west-1.compute.amazonaws.com

      We recommend using the FQDN (fully qualified domain name). If the engine does not have an external address, the IP address can be used instead of the FQDN. For high availability environments or multi-tenant deployments, the FQDN should always be used.

  2. Create an engine.

    1. Select SettingsIntegrationsEnginesCreate New Engine.

    2. In the Engine Name field, add a meaningful name for the engine.

    3. Select one of the installer types from the dropdown list.

      For Linux systems it is recommended to use the Shell installer.

    4. (Optional) (Shell only) Select the checkbox to enable multiple engines to run on the same machine.

      If you have an existing engine, you did not select the checkbox, and you want to install another engine on the same machine, you need to delete the existing engine.

    5. (Optional) Add any required configuration in JSON format.

    6. Click Create New Engine.

  3. For Shell installation, do the following:

    1. Move the .sh file to the engine machine using a tool like SSH or PuTTY.

    2. On the engine machine, grant execution permission by running the following command:

      chmod +x <engine-file-path>

    3. Install the engine by typing one of the following commands:

      With tools: sudo ./d1-<engine-name>-<XSOAR-version>-xxxxxxx.sh

      Without tools: sudo ./d1-<engine-name>-<XSOAR-version>-xxxxxxx.sh -- -tools=false

      For example: sudo ./d1-engine1-6.5-2458567.sh -- -tools=false

      If you receive a permissions denied error, it is likely that you do not have permission to access the /tmp directory.

  4. For RPM/DEB installation do the following:

    1. Move the file to the required machine using a tool like SSH or PuTTY.

    2. Type one of the following installation commands:

      Machine Type

      Install Command

      CentOS/RHEL (RPM)

      sudo rpm -Uvh d1-2.5_15418-1.x86_64.rpm

      Ubuntu (DEB)

      sudo dpkg --install d1_xxx_amd64.deb

    3. Start the engine by running one of the following commands:

      Machine Type

      Start Command

      CentOS/RHEL (RPM)

      sudo systemctl start d1

      Ubuntu (DEB)

      sudo service d1 restart

  5. For zip file installation, do the following.

    1. Move the d1 zip file to the engine machine using a tool like WinSCP.

    2. Unzip the file and move it to any location you require.

    3. Open the file and run the d1_windows_amd64.exe file.

      Every time you want to connect to Cortex XSOAR you need to run the D1 Application file.

  6. Use an Engine in an Integration.

  7. (Optional) If you experience performance issues you may need to Configure the Number of Workers for the Server and Engine . To troubleshoot installation, upgrade, connectivity, or issues with integrations, see Troubleshoot Cortex XSOAR Engines.