# 宝兰德BES中间件单机版安全加固相关操作

> 作者/来源: UCloud 运营管理员
> 发布时间: 2023-01-11T05:20:00.000Z
> 分类: 解决方案
> 标签: AI, 安全, Java
> 原文链接: http://117.50.162.249:3000/yun/articles/1218

---

# 宝兰德BES中间件单机版安全加固相关操作

> 来源: https://www.ucloud.cn/yun/129622.html
> 作者: IT那活儿
> 发布日期: 发布于2023-01-11 13:20

宝兰德BES中间件单机版安全加固相关操作

## **点击上方“IT那活儿”，关注后了解更多内容，不管IT什么活儿，干就完了！！！**

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_000.png)

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_001.png)

因某公司对安全的要求，需要对bes中间件进行安全加固，安全加固的内容主要包括对控制台默认地址修改，实例默认端口修改，控制台默认密码修改，密码加密，加密后的实例启停方式等。

首先说一下今天安全加固操作的前提，需要已经分离式部署安装成功bes单机版中间件，创建实例没有要求，一个或多个实例都可以，今天我用创建了一个实例的bes中间件做演示。

**一、新增一个实例，和另外一个实例进行对比**

1） 在应用账号下临时声明JAVA\_HOME环境变量。

export JAVA\_HOME=/bes/jdk1.8.0\_131

2） 在应用账号下执行如下命令，新建instance02实例。

```
sh /bes/BES952/bin/besservers -c=/bes/BES952/conf/server.config -p=/app/besinstances/instance02 -s=create
```

- -c：指定BES中间件配置文件；
- -p：指定BES应用系统运行目录，包含应用系统运行所需的相关文件；
- -s：指定当前操作类型，create创建实例，stop停止运行实例。

**二、控制台账号密码修改**

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_002.png)

## 

2.1 在应用账号bin目录下启动需要修改的实例。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_003.png)

2.2 使用应用账号bin目录下的iastool工具，进行修改控制台账号密码。

```
./iastool --passport B#2008_2108#es --user=admin --password=B#2008_2108#es --port 1900  update --file-user --realmname admin-realm --userpassword Hello!123 --confirmpassword Hello!123 admin
```

## 使用此工具修改控制台账号密码需要给几个参数，分别为passport密码，用户密码，以及该实例目前的控制台端口，后面几个参数为修改后的密码。

```
[app@localhost bin]$ ./iastool --passport B#2008_2108#es --user=admin --password=B#2008_2108#es --port 1900 update --file-user --realmname admin-realm --userpassword Hello!123 --confirmpassword Hello!123 adminLogin information is not saved for host name [localhost] and port [1900]Login information is not saved for host name [localhost] and port [1900]Command update --file-user executed successfully.
```

这里为修改控制台密码的返回显示结果。

## **三、生成密码加密文件**

## 在应用账号的bin目录下利用iastool工具：

```
./iastool create  --passport B#2008_2108#es --password-file --adminpassword Hello!123 --iastoolpassport B#2008_2108#es ./adminpasswordfile
```

## 此处加密密码应和上面修改后的密码一致。

```
[app@localhost bin]$ ./iastool create  --passport B#2008_2108#es --password-file --adminpassword Hello!123 --iastoolpassport B#2008_2108#es ./adminpasswordfileCommand create --password-file executed successfully.
```

这里为生成加密文件的返回显示结果。

## **四、实例默认端口修改**

4.1 首先查看一下默认端口的值，进入/app/besinstances/instance02/conf下查看：

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_004.png)

可以清晰的在此看见控制台默认端口，http1端口，jmx端口等。

4.2 进入实例bin目录下执行如下命令：

```
./iastool --user admin --passwordfile adminpasswordfile --port 1900 set server.web-container.http-listener.http-listener-1.port=11001
```

由于在上个步骤已经生产加密文件，所以在此处可以直接使用加密文件，不用输入明文密码。此处的port给的依旧是实例当前的控制台端口。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_005.png)

4.3 实例的jmx端口默认是开启的，在这里顺便说一下jmx端口怎么关闭。

```
./iastool --user admin --passwordfile adminpasswordfile --port 1900 set server.jmx-connector.enabled=false
```

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_006.png)

4.4 控制台默认端口修改，依旧在实例的bin目录下，用iastool工具：

```
./iastool --passwordfile adminpasswordfile --user admin --port 1900 set server.web-container.http-listener.admin-listener.port=9999
```

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_007.png)

4.5 至此实例的默认端口已经全部修改，可以再次查看server.config文件，验证是否修改完成：

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_008.png)

可以在图中红框看出，默认端口已全部修改为想要的端口，jmx端口也已经关闭。

## **五、控制台默认地址修改**

默认的控制台地址都为127.0.0.1:port/console,不修改默认地址很容易让人猜到控制台的地址，所以修改控制台默认地址很重要。

5.1 使用产品账号，修改/bes/BES952/lib/system/apps/console/WEB-INF/web.xml 。

修改红框内的/console为想要的后缀即可。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_009.png)

```
<session-config><session-timeout>30session-timeout><cookie-config><path>/besmanagerpath>cookie-config>session-config>
```

修改图中的加深处的console，改为和上述修改一致即可。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_010.png)

```
<filter><filter-name>CsrfFilterfilter-name><filter-class>com.bes.enterprise.console.core.filters.CsrfPreventionFilterfilter-class><init-param><param-name>entryPointsparam-name><param-value>/besmanager/index.action,/besmanager//index.action,/besmanager/,/besmanager,/besmanager/login.html,/besmanager/doLogin.action,/besmanager/certCode.actionparam-value>init-param><init-param><param-name>entryPrefixPointsparam-name><param-value>/besmanager/pages/error,/besmanager/favicon.ico,/besmanager/resources/image,/besmanager/resources/js,/besmanager/resources/style,/besmanager/resources/loading.gifparam-value>init-param>filter>
```

5.2 使用应用账号，进入需要修改的实例目录下：

```
/app/besinstances/instance01/conf/server.config
```

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_011.png)

修改红框内的两处，将enable=”fales”改为true，另外一处所修改后的内容应该和产品账号web.xml中修改的一致。

## **六、修改启停脚本**

6.1 由于修改后的所有内容需要重启生效，所以先停止实例。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_012.png)

此处因为修改了控制台的默认密码，所以启停脚本中的密码配置无效，需要手动输入用户名，修改后的密码。

6.2 修改启脚本，并且在startserver中增加JAVA\_HOME环境变量，否则需要一直临时声明环境变量。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_013.png)

6.3 修改停脚本，并且在stopserver中增加JAVA\_HOME。记得将控制台端口改为修改之后的。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_014.png)

6.4 验证启停脚本，控制台地址。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_015.png)

可以不用输入账号密码启动实例，启停脚本即为验证成功，并且在启停脚本中使用密码加密文件，不能出现明文密码。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_016.png)

输入修改后的控制台后缀和端口，和修改后的控制台密码可以进入控制台，即为修改安全加固完成。

**友情提醒：**第一次修改控制台默认地址，需要进入一遍http://127.0.0.1:port/console之后，才能进入修改后缀之后的控制台地址。

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_017.png)

## 本文作者：孙宇航

## 本文来源：IT那活儿（上海新炬王翦团队）

![](https://ucloud-blog.cn-bj.ufileos.com/articles/129622/images/129622_018.png)