Deep Security 10.2 has reached end of support. Use the version selector (above) to see more recent versions of the Help Center.
Prepare a database for Deep Security Manager
Before you install Deep Security Manager, you must prepare a database and user account for Deep Security Manager to use. Refer to your database provider's documentation for instructions on database installation and deployment, but also consider the following for integration with Deep Security:
- Check the Hardware considerations.
-
Choose your database type. For a list of supported databases, see Database.
Depending on which database you choose, see Microsoft SQL Server, Oracle Database, or PostgreSQL recommendations for database-specific considerations.
Microsoft SQL Server Express is supported only in limited deployments. For details, see Microsoft SQL Server Express considerations. - For high availability, the Deep Security database is compatible with database failover protection so long as no alterations are made to the database schema. For example, some database replication technologies add columns to the database tables during replication which can result in critical failures. For this reason, database mirroring is recommended over database replication.
- The database time must be synchronized with the time on the Deep Security Manager computer. Ensure that the database and the manager use the same time zone and that they are synchronizing their time to the same time source.
- Allow communication from the Deep Security Manager computer to the database computer. See Port numbers.
- During the Deep Security Manager installation, you will be asked for database connection details. Enter the database hostname under "Hostname" and the database that you created for Deep Security under "Database Name".
The installation supports both SQL and Windows Authentication. When using Windows Authentication, click the "Advanced" button to display additional options.
Hardware considerations
Dedicated server
The database should be installed on a dedicated server that is separate from the manager nodes. It is also important that the database and the Deep Security Manager be co-located on the same network with a 1 Gb LAN connection to ensure unhindered communication between the two. (WAN connections are not recommended.) The same applies to additional Deep Security Manager nodes. 2 ms latency or less is recommended for the connection from the manager to the database.
To achieve this if you install the manager and database on VMs, make sure they are always run in the same ESXi host.
- In the vCenter Web Client, go to Host and Clusters and select the cluster.
- Go to the Manage tab and click VM/Host Rules > Add.
- Type a name for the rule.
- Select Enable rule.
- From Type select Keep Virtual Machines Together.
- Click Add and select the manager and database VMs.
Hardware recommendations
Many Deep Security Manager operations (such as updates and recommendation scans) require high CPU and memory resources. Trend Micro recommends that each manager node has four cores and sufficient RAM in high scale environments.
The database should be installed on hardware that is equal to or better than the specifications of the best Deep Security Manager node. For the best performance, the database should have 8-16 GB of RAM and fast access to the local or network attached storage. Whenever possible, a database administrator should be consulted on the best configuration of the database server and a maintenance plan should be put in effect.
Microsoft SQL Server
General requirements
- You must create an empty database that will be used by Deep Security.
- Enable "Remote TCP Connections"(see http://msdn.microsoft.com/en-us/library/bb909712(v=vs.90).aspx).
- Grant db_owner rights to the Deep Security Manager's database user.
See also Set up authentication for SQL Server
Transport protocol
- The supported transport protocol is TCP for newly-installed versions of Deep Security 10.2 or later versions.
- If you are upgrading from Deep Security 10.1 or a previous version and you are using a named pipe as the transport protocol, DSM will continue to use a named pipe when you upgrade. Trend Micro recommends that you use TCP and encrypt communications. (See Encrypt communication between the Deep Security Manager and the database.)
If using multi-tenancy
- Keep the main database name short. It will be easier to read your tenants' database names. (For example, if the main database is "MAINDB", the first tenant's database name will be "MAINDB_1", the second tenant's database name will be "MAINDB_2", and so on.)
- Grant dbcreator rights to Deep Security Manager's database user account. For information on multi-tenancy, see Set up a multi-tenant environment.
Database maintenance
It is important to have good database maintenance strategies in place. Refer to the Microsoft SQL Server documentation for guidelines, including Options in the Back Up Database Task for Maintenance Plan.
Oracle Database
- Start the "Oracle Listener" service. Verify that it accepts TCP connections.
- Don't use special characters in Deep Security Manager's database user name. Although Oracle allows special characters when configuring the database user object if they are surrounded by quotes, Deep Security does not support special characters for the database user.
- Grant the CONNECT and RESOURCE roles and UNLIMITED TABLESPACE, CREATE SEQUENCE, CREATE TABLE and CREATE TRIGGER permissions to the Deep Security Manager's database user.
If using multi-tenancy, also grant CREATE USER, DROP USER, ALTER USER, GRANT ANY PRIVILEGE and GRANT ANY ROLE to the Deep Security Manager's database user.
Oracle container database (CDB) configuration is not supported with Deep Security Manager multi-tenancy.
Oracle RAC (Real Application Clusters) support
Deep Security supports:
- SUSE Linux Enterprise Server 11 SP3 with Oracle RAC 12c Release 1 (v12.1.0.2.0)
- Red Hat Linux Enterprise Server 6.6 with Oracle RAC 12c Release 1 (v12.1.0.2.0)
The default Linux Server Deep Security policy is compatible with the Oracle RAC environment, with the exception of Firewall settings. You can disable Firewall or customize the Firewall settings according to the instructions in Firewall settings with Oracle RAC.
Lock management
By default, the PostgreSQL deadlock_timeout setting in the postgresql.conf file is configured to 1 second. This means every time a query waits on a lock for more than 1 second, PostgreSQL will launch a check for deadlock condition and will log an error if the logging setting has been configured that way (by default, it is). This can lead to performance degradation on bigger systems, where it can be normal for queries to wait for more than 1 second during load times. On large systems, consider increasing the deadlock_timeout setting. The PostgreSQL documentation contains this recommendation: "Ideally the setting should exceed your typical transaction time [...]".