Websphere 服务器安装
手动安装
1. 安装软件
复制安装包内的 rasp
目录到 WebSphere 安装目录,比如
- D:\IBM
- /opt/IBM/WebSphere/AppServer OpenRASP 需要在 rasp 目录下释放一些动态链接库,所以在 Linux 下还需要修改 rasp 目录的权限,e.g
chmod 777 -R /opt/IBM/WebSphere/AppServer/rasp
2. 配置 WebSphere 服务器
以 WAS 8.5
为例,在控制台左侧的导航栏里,选择 Servers
-> Server Types
-> WebSphere Application Server
,进入应用列表界面:
选择你要开启 RASP 的应用(这里是 server1),点击进入管理页面。在新页面向下翻,找到 Server Infrastructure
-> Process definition
,并点击进入:
之后在右侧,点击 Additional Properties
-> Java Virtual Machine
进入JVM启动参数编辑界面
最后找到 Generic JVM arguments
,开始编辑
如果是 Windows 系统,请填写:
-javaagent:${WAS_INSTALL_ROOT}\rasp\rasp.jar
如果是 Linux 系统,请填写:
-javaagent:${WAS_INSTALL_ROOT}/rasp/rasp.jar
保存后重启应用生效。
3. 开启远程管理
配置方法同 Tomcat 开启远程管理,不再赘述。
4. 检查安装是否成功
- 方法1,检查日志中是否出现
OpenRASP Engine Initialized
字样,出现则说明安装成功。比如/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1
- 方法2,访问下服务器,检查响应头里是否存在
X-Protected-By: OpenRASP
字样,存在即表示安装成功。 当然,如果安装 OpenRASP 后导致 WebSphere 出错,你可以联系我们
常见问题
1. 远程管理无法开启,且日志中出现 java.security.AccessControlException 异常
在 WebSphpere Windows 某些小版本下,比如 8.5.5.0
,可能会出现 java 安全异常错误。此时会在 ${WAS_INSTALL_ROOT}/profiles/AppSrv01/logs/native_stderr.log
里看到如下内容:
************ Start Display Current Environment ************
Log file started at: [18-11-13 20:10:08:993 CST]
************* End Display Current Environment *************
Exception in thread "Thread-8" java.security.AccessControlException: Access denied (java.lang.RuntimePermission accessDeclaredMembers)
at java.security.AccessController.checkPermission(AccessController.java:132)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1689)
at java.lang.Class.checkMemberAccess(Class.java:117)
at java.lang.Class.getDeclaredConstructor(Class.java:465)
at com.baidu.openrasp.gson.internal.ConstructorConstructor.newDefaultConstructor(ConstructorConstructor.java:82)
at com.baidu.openrasp.gson.internal.ConstructorConstructor.get(ConstructorConstructor.java:66)
at com.baidu.openrasp.gson.internal.bind.MapTypeAdapterFactory.create(MapTypeAdapterFactory.java:128)
at com.baidu.openrasp.gson.Gson.getAdapter(Gson.java:349)
at com.baidu.openrasp.gson.Gson.toJson(Gson.java:574)
at com.baidu.openrasp.gson.Gson.toJson(Gson.java:561)
at com.baidu.openrasp.gson.Gson.toJson(Gson.java:516)
at com.baidu.openrasp.gson.Gson.toJson(Gson.java:496)
at com.baidu.openrasp.cloud.Register$RegisterThread.run(Register.java:50)
at java.lang.Thread.run(Thread.java:773)
解决方案是增加相关权限,打开 ${WAS_INSTALL_ROOT}/java/jre/lib/security/java.policy
,增加如下内容:
grant codeBase "file:${was.install.root}/rasp/*" {
permission java.security.AllPermission;
};
修改后,需要重启 WebSphere 服务器生效。