宝兰德BES中间件单机版安全加固相关操作
宝兰德BES中间件单机版安全加固相关操作 点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!! 因某公司对安全的要求,需要对bes中间件进行安全加固,安全加固的内容主要包括对控制台默认地址修改,实例默认端口修改,控制台默认密码修改,密码加密,加密后的实例启停方式等。 首先说一下今天安全加固操作的
来源: https://www.ucloud.cn/yun/129622.html 作者: IT那活儿 发布日期: 发布于2023-01-11 13:20
宝兰德BES中间件单机版安全加固相关操作
点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!


因某公司对安全的要求,需要对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停止运行实例。
二、控制台账号密码修改

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

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下查看:

可以清晰的在此看见控制台默认端口,http1端口,jmx端口等。
4.2 进入实例bin目录下执行如下命令:
./iastool --user admin --passwordfile adminpasswordfile --port 1900 set server.web-container.http-listener.http-listener-1.port=11001
由于在上个步骤已经生产加密文件,所以在此处可以直接使用加密文件,不用输入明文密码。此处的port给的依旧是实例当前的控制台端口。

4.3 实例的jmx端口默认是开启的,在这里顺便说一下jmx端口怎么关闭。
./iastool --user admin --passwordfile adminpasswordfile --port 1900 set server.jmx-connector.enabled=false

4.4 控制台默认端口修改,依旧在实例的bin目录下,用iastool工具:
./iastool --passwordfile adminpasswordfile --user admin --port 1900 set server.web-container.http-listener.admin-listener.port=9999

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

可以在图中红框看出,默认端口已全部修改为想要的端口,jmx端口也已经关闭。
五、控制台默认地址修改
默认的控制台地址都为127.0.0.1:port/console,不修改默认地址很容易让人猜到控制台的地址,所以修改控制台默认地址很重要。
5.1 使用产品账号,修改/bes/BES952/lib/system/apps/console/WEB-INF/web.xml 。
修改红框内的/console为想要的后缀即可。

<session-config><session-timeout>30session-timeout><cookie-config><path>/besmanagerpath>cookie-config>session-config>
修改图中的加深处的console,改为和上述修改一致即可。

<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

修改红框内的两处,将enable=”fales”改为true,另外一处所修改后的内容应该和产品账号web.xml中修改的一致。
六、修改启停脚本
6.1 由于修改后的所有内容需要重启生效,所以先停止实例。

此处因为修改了控制台的默认密码,所以启停脚本中的密码配置无效,需要手动输入用户名,修改后的密码。
6.2 修改启脚本,并且在startserver中增加JAVA_HOME环境变量,否则需要一直临时声明环境变量。

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

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

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

输入修改后的控制台后缀和端口,和修改后的控制台密码可以进入控制台,即为修改安全加固完成。
**友情提醒:**第一次修改控制台默认地址,需要进入一遍http://127.0.0.1:port/console之后,才能进入修改后缀之后的控制台地址。

本文作者:孙宇航
本文来源:IT那活儿(上海新炬王翦团队)
