This article provides you with information on how you can tune your FortiSOAR™ (FSR) system to ensure that your system is running smoothly and with optimum performance.
Solution
Updating the SSL certificates
- SSH to your FortiSOAR™ VM and login as a root user.
- To deploy your certificate, type the following command:
# csadm certs --deploy
You must then specify the following at the prompt:
The complete path of the private key file of your ssl certificate.
The complete path to the crt file of your ssl certificate.
Note: Your SSL certificate file must be in the .crt and .key format.
Setting up System Monitoring
Setting up purging for Playbook logs
Setting up purging for Audit logs
Configuring High Availability or Disaster Recovery options
- Configuring FortiSOAR™ with an external PostgreSQL database if your organization has PostgreSQL racks centrally configured and managed.
- Scheduling backup of the FortiSOAR™ database and configuration files to a shared drive using the backup CLI.
- Configuring FortiSOAR™ cluster of 2 or more nodes.
Setting up a proxy server to service all requests from FortiSOAR™
- For upgrading FortiSOAR™ and installing connectors: update.cybersponse.com.
- For installing python dependencies for connectors: pypi.python.org for installing connector python dependencies.
Note: There is a parallel python repository also on update.cybersponse.com that can be used with some configuration if your organization does not approve pypi. - For synchronization of FortiSOAR™ license details: globalupdate.fortinet.net.
- For accessing any SaaS or API endpoint that you have configured, for example VirusTotal, and to which you require to be connected.
Setting up NTP sync for the FortiSOAR™ server
Configuring SMTP for FortiSOAR™
Backing up the data encryption keys
Encryption keys are used to encrypt data in FortiSOAR™. When you install FortiSOAR™ for the first-time default encryption keys are added, which are unique per instance; therefore, you do not need to change the encryption keys.
You should copy the encryption keys from the /opt/cyops/config/cyops-api/application.conf file and store them securely in a Password Manager or Vault.
Once you encrypt your production data in FortiSOAR™ using the encryption keys, you should not change those keys again; since if your encryption keys are changed, this might result in the loss of previously encrypted production data. If you do require to change the encryption keys, then contact FortiSOAR™ Support.
Other Tunables
Tuning the number of playbook workers for running more workflows in parallel
The default number of playbooks that can run in parallel on a FortiSOAR™ instance is equal to the number of vCPUs on the machine. However, in most cases, it can also handle an increased number of workers. For example, a machine with 8 vCPUs can run upto 12 playbook workers in parallel. To change this value:
- Add the following parameter to the /etc/celery/celeryd.conf file:
CELERYD_OPTS="--concurrency=12" - Restart celeryd using the following command:
systemctl restart celeryd - Monitor the CPU usage of the system over a day. If the CPU usage is very high, thev revert the settings to the default value.
Changing Elaticsearch memory setting
FortiSOAR™ uses Elaticsearch for faster searching capabilities. By default, it is configured to use 4 GB of RAM. If there are too many records or any very heavy records (such as large files uploaded) created per day on the system, it might crash with "out of memory" errors. To fix this, you must increase the memory allocated to Elasticsearch:
- Change the following entry in /etc/elasticsearch/jvm.options to a higher value based on memory available on your server:
-Xms4g
-Xmx4g - Restart Elasticsearch using the following command:
systemctl restart elasticsearch
Changing Postgres worker memory
When the primary data in the system becomes large (eg, over million alerts) and you notice that the system is slow to respond. The slowness could be caused due to database queries taking longer with the increased database size. You can fine tune this behavior by increasing the following Postgres settings based on the available free memory on the system:
- Increase the shared buffer and worker memory in the /var/lib/pgsql/12/data/postgresql.conf file:
shared_buffers = 2048MB
work_mem = 16MB - Restart Postgres using the following command:
systemctl restart postgresql-12