趋势科技深度安全(Trend Micro Deep Security)的初始配置(Windows+PosgreSQL)
这是一份关于在Windows Server 2019上构建Trend Micro Deep Security的步骤备忘录。Trend Micro公司的服务器安全产品Deep Security在实际项目中有相当数量的构建请求。对于对Deep Security还不了解的人,可以参考这里。
深度安全制造商官方网页
似曾相似的产品中还有一个叫做Server Protect的,但它似乎只是一个带有防病毒功能的产品。Deep Security则可以利用防病毒功能加上Web声誉功能。据说,如果购买额外的许可证,还可以使用IPS/IDS、防火墙等功能。
【前提(加免责事项)】
-
- 当方はトレンドマイクロ社とは関係ないので、間違っているところも多々あると思います。設定の際は自己責任でお願いいたします。
-
- 本記事の設定は評価版ライセンスで構築しており、オプション機能などは顧慮していません。
-
- 構築環境はWindows Server2019で、DBはPostgreSQL v14.10を利用しています。
-
- インストール先マシンスペックはCPU=2coreでメモリ=16GB搭載しているマシンです。
-
- マネージャ、リレー、エージェントを同じサーバにインストールします。
- 本記事は初期構築の記事ですので、DeepSecurityの機能設定まではしません。
【关于术语】
以下是常見的Deep Security配置項目:
-
- DSM →Deep security Manager(管理マネージャ)
-
- DSR →Deep security Relay(最新データを配信サーバへ取りにいく) ※WindowsでいうWSUS的な感じ
- DSA →Deep security Agent(管理対象≒クライアント)
如果我说错了,请原谅我。
设定步骤
-
- 获取Deep security的安装数据
-
- 安装PostgreSQL
-
- 创建数据库用户、创建数据表、设置权限
-
- 安装Deep security
- 进行PostgreSQL的优化调整
试一试
1. 获取Deep Security安装数据
从制造商的官方网站下载安装数据。
2. 安装PostgreSQL
(PostgreSQL installation)
DeepSecurity支持的PostgreSQL版本如下所述。
这次我们将使用支持的最新版本14.10进行构建。
PostgreSQL的支持版本
可以从以下位置下载PostgreSQL。
在PostgreSQL中设置管理员密码。同时设置要使用的端口。
创建DB用户、创建数据表、设置权限
打开SQL Shell,并开始创建DeepSecurity用的表格。
一旦SQL Shell启动,会要求您输入以下内容,但是您可以不填写任何内容,直接按Enter键即可。
-
- Sever[localhost]:
-
- Database[postgres]:
-
- port[5432]:
- Username[postgres]:
请使用您在安装时设置的密码来输入“用户postgres的密码”。
然后输入以下命令,创建用户和表,并授予权限。
#データベーステーブル=dsmdbを作成
postgres=# CREATE DATABASE "dsmdb";
CREATE DATABASE
#ロール=dsmadminを作成し、PWをdsmpasswordに設定
postgres=# CREATE ROLE "dsmadmin" WITH PASSWORD 'dsmpassword' LOGIN;
CREATE ROLE
#データベーステーブル=dsmdbの設定権限をdsmadminに付与
postgres=# GRANT ALL ON DATABASE "dsmdb" TO "dsmadmin";
GRANT
#データベーステーブル=dsmdbへのdsmadminの接続許可
postgres=# GRANT CONNECT ON DATABASE "dsmdb" TO "dsmadmin";
GRANT
postgres=# quit
4. 安装Deep security
执行在步骤1下载的DeepSecurity安装程序exe。基本上,您可以保持默认设置,点击“下一步”继续进行。
在选择要使用的数据库选项中,选择“PostgreSQL”,然后输入以下设置值。
-
- ホスト名:localhost
-
- データベース名:dsmdb
-
- ユーザ名:dsmadmin
- パスワード:dsmpassword
如果DB配置正确,检查结果将显示绿色勾选。
确认地址和使用端口确保与其他内容不冲突。
当安装完成后,[Deep Security Manager]将会显示在[开始画面]的列表中。
当您点击[Deep Security Manager]时,将弹出登录界面。只需输入先前设置的管理控制台的登录ID和密码,即可访问管理控制台。
DeepSecurity的初次安装设置已完成。
5. 对于PostgreSQL的优化
設定文件的配置文件位置
C:\Program Files\PostgreSQL\14\data
制造商建议的设置值请参考以下网站。
由于实际设定时,可能会出现某些值无法在实际设备上进行设置的情况,因此需要根据机器规格进行调整。以下是调整的示例。
调整项目:日志设置
对于初始设置,请注意PostgreSQL日志文件不会自动轮转,因此可能会占用大量的磁盘空间。如果在Deep Security中使用PostgreSQL,建议您在postgresql.conf文件中使用以下四个参数来配置日志轮转设置。
根据上述所述,我们将更改设置配置中的以下内容。
---変更箇所(以下のコメントアウトを解除し、設定値を変更)-----
log_filename = 'postgresql-%a.log' (各ログファイルの名前に、曜日の最初の3文字が含まれます)
log_rotation_age = 1440 (新しいログファイルが毎日作成されます)
log_rotation_size = 0(設定が無効になり、制限を超えるたびに日次ログファイルが上書きされなくなります)
log_truncate_on_rotation = on (ログファイルの上書きが有効になります)
调整项: 最大连接数
在postgresql.conf文件中,max_connections的设置指定了数据库的最大并发连接数。初始值为100,建议将该值增加到500。
根据上述所述,将更改设置配置中的以下内容。
---変更箇所(以下を変更・追記)-----
max_connections = 100 →"500"に変更
调整项目:共享缓冲区
在postgresql.conf文件中,shared_buffers参数用于指定PostgreSQL可以使用的内存容量来缓存数据。
对于一台具有1GB RAM的系统,需要将内存值的1/4用于共享缓冲区。换句话说,需要将共享缓冲区设置为256MB(默认设置为32MB)。
根据上述内容,将以下设置配置进行更改。
---変更箇所(以下を変更・追記)-----
shared_buffers = 128MB →"メモリ実装値の1/4"に変更
调整项目:工作内存和维护工作内存。
在postgresql.conf文件中的work_mem设置中,您可以指定内部排序操作和哈希表可以使用的内存容量,这是在将数据写入临时磁盘文件之前的操作。
初始设置值为1MB,但在执行复杂查询时,可能需要增加该值。maintenance_work_mem设置决定了用于诸如ALTER TABLE等维护操作的最大内存容量。
鉴于上述情况,请修改配置文件中的以下内容。
---変更箇所(以下を変更・追記)-----
#maintenance_work_mem = 64MB →コメントアウトを解除し、"最大値"に変更 ※だいたいメモリの1/4程度
调整项目:有效缓存大小
请考虑增加postgresql.conf文件中的effective_cache_size设置。该设置仅影响查询计划中的成本估算,并不增加内存消耗。它用于估计缓存的效果。
因为上述记载,所以将修改设置配置中的以下内容。
---変更箇所(以下を変更・追記)-----
#effective_cache_size = 4GB →コメントアウトを解除し、"最大値"に変更 ※だいたいメモリの1/4程度
调整项目:检查点
通常情况下,检查点是写入数据文件的主要来源。为了实现最快的性能,应将大部分的检查点设置为「timed」方式(由checkpoint_timeout触发),而不是「requested」方式(由使用可用WAL段落来触发或显式CHECKPOINT命令触发)。强烈建议降低检查点创建的频率。
根据上述说明,将以下设置配置进行更改。
---変更箇所(以下を変更・追記)-----
#checkpoint_timeout = 5min →コメントアウトを解除し、"15min"に変更
#checkpoint_completion_target = 0.9→コメントアウトを解除
max_wal_size = 1GB →コメントアウトを解除し、"16GB"に変更
调整项目:自动吸尘设置
在PostgreSQL中,定期维护被称为”Vacuum”是必需的。通常情况下,不需要修改autovacuum_max_workers的初始设置值。
当在entitys表和attribute2s表中,经常进行大量写入并且经常修改多行数据(例如短时间内的云实例)时,为了保持性能并最小化磁盘空间的使用,需要增加自动缓冲的执行频率。这个参数需要在整个数据库和特定表上都进行设置。
根据上述所述,请修改设置配置中的以下内容。
---変更箇所(以下を変更・追記)-----
#autovacuum = on →コメントアウトを解除
#autovacuum_work_mem = -1 →コメントアウトを解除し、"1GB"に変更
#autovacuum_vacuum_cost_delay = 2ms →コメントアウトを解除し、"10"に変更
#autovacuum_vacuum_scale_factor = 0.2 →コメントアウトを解除し、"0.01"に変更
#autovacuum_analyze_scale_factor = 0.1 →コメントアウトを解除し、"0.005"に変更
调整完成后,请重新启动PostgreSQL服务。
总之
在网络上搜索DeepSecurity的构建方法,会找到相当数量的结果。但是奇怪的是,关于数据库优化的文章很少。实际上,即使不进行优化,系统也可以正常运行,所以我认为优化不是必须的,但不知道是否正确。我希望能够得到足够详细的指导。请帮忙解答,Trend Micro先生,谢谢。
参考的网站