# IAST 高级配置选项

### 启动参数 <a href="#cli-param" id="cli-param"></a>

#### 指定其他配置文件 <a href="#cli-config" id="cli-config"></a>

在配置阶段，可以使用 `-o` 参数将配置文件生成到其他路径，e.g

```bash
openrasp-iast config -o /path/to/config.yaml -a X -b Y -c Z -m mysql://xxx
```

在启动阶段，可以使用 `-c` 加载你指定的配置文件，e.g

```bash
openrasp-iast start -f -c /path/to/config.yaml
```

若启动阶段没有指定配置文件，openrasp-iast 会从如下几个路径寻找，找不到无法启动:

* \~/openrasp-iast/config.yaml
* /etc/openrasp/config.yaml
* ./config.yaml

### 配置文件 <a href="#config" id="config"></a>

目前支持的配置内容如下，修改后需要重启 openrasp-iast 进程生效:

#### 预处理模块 <a href="#config-preprocessor" id="config-preprocessor"></a>

| 参数名                             | 说明                                                                      | 默认值              |
| ------------------------------- | ----------------------------------------------------------------------- | ---------------- |
| preprocessor.http\_port         | 与rasp agent通信的http服务监听端口                                                | 25931            |
| preprocessor.process\_num       | http服务进程数                                                               | 2                |
| preprocessor.request\_lru\_size | 每个http服务进程的每个扫描目标对应一个LRU,用于存储32byte hash，总大小: 进程数 \* 扫描目标数 \* lru\_size | 1000             |
| preprocessor.api\_path          | rasp agent发送数据的目标 url的path                                              | /openrasp-result |
| preprocessor.max\_buffer\_size  | http服务器接受请求的缓冲区大小, 单位Bytes                                              | 104857600        |
| preprocessor.plugin\_name       | 使用的去重插件名                                                                | default          |

#### 监控模块 <a href="#config-monitor" id="config-monitor"></a>

| 参数名                        | 说明                       | 默认值   |
| -------------------------- | ------------------------ | ----- |
| monitor.schedule\_interval | 扫描速率自动调整策略执行间隔(s)        | 1.000 |
| monitor.max\_cpu           | cpu使用率上限，超过限制会降低并发扫描速率   | 98    |
| monitor.min\_cpu           | cpu使用率上限下限，低于该值会增加并发扫描速率 | 85    |
| monitor.console\_port      | web管理后台使用的端口             | 18664 |

#### 扫描模块 <a href="#config-scanner" id="config-scanner"></a>

| 参数名                              | 说明                 | 默认值  |
| -------------------------------- | ------------------ | ---- |
| scanner.max\_concurrent\_request | 单个扫描任务最大扫描并发线程数    | 20   |
| scanner.min\_request\_interval   | 每个扫描线程最小扫描请求间隔(ms) | 0    |
| scanner.max\_request\_interval   | 每个线程最大扫描请求间隔(ms)   | 1000 |
| scanner.request\_timeout         | 扫描请求超时时间(s)        | 5    |
| scanner.retry\_times             | 扫描请求失败重试次数         | 3    |
| scanner.max\_module\_instance    | 最大并发扫描任务数量         | 16   |

#### 云控配置 <a href="#config-cloud-api" id="config-cloud-api"></a>

| 参数名                     | 说明             | 默认值              |
| ----------------------- | -------------- | ---------------- |
| cloud\_api.enable       | 是否上传结果到云控      | True             |
| cloud\_api.backend\_url | 云控地址           | http://127.0.0.1 |
| cloud\_api.app\_secret  | 云控的secret\_key | 无                |
| cloud\_api.app\_id      | 云控的app\_id     | 无                |

#### CPU核心绑定 <a href="#config-affinity" id="config-affinity"></a>

| 参数名                | 说明              | 默认值   |
| ------------------ | --------------- | ----- |
| affinity.enable    | 是否以绑定CPU核心的方式运行 | False |
| affinity.core\_num | 绑定的核心数量         | 1     |

#### 日志配置 <a href="#config-log" id="config-log"></a>

| 参数名              | 说明                                          | 默认值  |
| ---------------- | ------------------------------------------- | ---- |
| log.level        | 日志级别，可选: DEBUG INFO WARNING ERROR           | INFO |
| log.path         | log文件路径, 为空时使用 /home/user/openrasp-iast/log | 空    |
| log.rotate\_size | 单个日志文件触发rotate的日志大小，单位MB                    | 5    |
| log.rotate\_num  | rotate文件最多保存份数，不包括当前日志文件                    | 2    |

#### 数据库配置 <a href="#config-database" id="config-database"></a>

| 参数名               | 说明         | 默认值       |
| ----------------- | ---------- | --------- |
| database.host     | mysql数据库地址 | localhost |
| database.port     | mysql端口    | 3306      |
| database.username | 用户名        | root      |
| database.password | 连接密码       | 空         |
| database.db\_name | 数据库名       | openrasp  |
