因为公司需要安全要求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 --port1900update--file-user --realmname admin-realm --userpassword'Hello!123'--confirmpassword'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 informationisnotsavedforhost name [localhost]andport [1900]Login informationisnotsavedforhost name [localhost]andport [1900]Command update --file-user executed successfully.
修改控制台密码的返回显示结果。
应用账号bin目录下利用iastool工具:
./iastoolcreate--passport B#2008_2108#es --password-file--adminpassword 'Hello!123' --iastoolpassport B#2008_2108#es./adminpasswordfile
加密码应与上述修改后的密码一致。
[app@localhost bin]$ ./iastoolcreate--passportB#2008_2108#es--password-file --adminpassword 'Hello!123' --iastoolpassport B#2008_2108#es ./adminpasswordfileCommandcreate--password-file executed successfully.
这是生成加密文件的返回显示结果。
4.1 首先检查默认端口的值,输入/app/besinstances/instance02/conf下查看:
可以清晰的在此看见控制台默认端口,http1端口,jmx端口等。
4.2 进入实例bin在目录下执行以下命令:
./iastool--user admin --passwordfile adminpasswordfile --port 1900setserver.web-container.http-listener.http-listener-1.port=11001
由于加密文件已经在上一步生产,加密文件可以在不输入明文密码的情况下直接使用。port实例仍然是当前控制台端口。
4.3 实例的jmx默认端口是开放的,顺便说一句jmx如何关闭端口?
./iastool--user admin --passwordfile adminpasswordfile --port 1900setserver.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>30</session-timeout><cookie-config><path>/besmanager</path></cookie-config></session-config>
修改图中的深度console,与上述修改一致。
<filter><filter-name>CsrfFilter</filter-name><filter-class>com.bes.enterprise.console.core.filters.CsrfPreventionFilter</filter-class><init-param><param-name>entryPoints</param-name><param-value>/besmanager/index.action,/besmanager//index.action,/besmanager/,/besmanager,/besmanager/login.html,/besmanager/doLogin.action,/besmanager/certCode.action</param-value></init-param><init-param><param-name>entryPrefixPoints</param-name><param-value>/besmanager/pages/error,/besmanager/favicon.ico,/besmanager/resources/image,/besmanager/resources/js,/besmanager/resources/style,/besmanager/resources/loading.gif</param-vlue></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之后,才能进入修改后缀之后的控制台地址。