WebLogic 服务器安装

自动化安装

解压缩后,进入到解压后的目录中(如rasp-20170721),在终端中执行以下命令,

如果你要开启远程管理,请先参考 管理后台 - 添加主机 文档,找到 app_id/app_secret/backend_url 三个关键参数,然后执行如下命令,

java -jar RaspInstall.jar -install <weblogic_domain_home> -backendurl http://XXX -appsecret XXX -appid XXX

如果你只是运行单机版,只需要指定 -install 参数,

java -jar RaspInstall.jar -install <weblogic_domain_home>

安装后,需要重启 WebLogic 服务器生效。

不重启安装

以上方式安装成功之后需要重启服务器,如果在服务器启动的情况下,不重启安装 OpenRASP,需要在以上命令后面增加 -pid 参数指定运行的服务器进程 id,JDK6 - JDK8 样例命令如下,

# <server_pid> 为 weblogic 进程 id
# $JAVA_HOME 为 jdk 根目录环境变量,如果未指定该环境变量,替换为 jdk 的完整根目录
java -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar -jar RaspInstall.jar -install <weblogic_domain_home> -pid <server_pid>

jdk9 ~ jdk11 不支持不重启安装

手动安装(Linux)

1. 安装软件

进入到需要安装插件的domain目录下,如 e.g /opt/wls122212/base_domain

复制安装包下面的 rasp 目录到当前目录

cp -R ~/Downloads/rasp-20170721/rasp .

OpenRASP 需要在 rasp 目录下释放一些动态链接库,所以还需要修改 rasp 目录的权限,e.g

chmod 777 -R rasp

2. 配置 WebLogic

非集群方式

打开 bin/startWebLogic.sh, 找到 JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}" 这一行,在该行下增加:

JAVA_OPTIONS="-javaagent:${DOMAIN_HOME}/rasp/rasp.jar ${JAVA_OPTIONS}"

集群方式

方式一:通过weblogic的console

  • 访问weblogic的console,例如:http://10.115.184.54:8001/console/console.portal
  • 环境->服务器,找到要安装的server(本例为Server-0) img
  • 点击进入Server-0,选择服务器启动,在参数框中,添加如下配置,保存退出
-javaagent:<agent_directory_full_path>/rasp/rasp.jar

img

  • 重启Server-0之后,服务器生效 img

方式二:通过配置weblogic的config.xml文件

找到<weblogic-home>/user_projects/domains/base_domain/config目录,打开config.xml文件,定位到需要安装rasp的<server>/<server-start>/<arguments>标签,在<arguments>标签内添加javaagent参数。

如果没有相应的标签可以手动添加,e.g

<server>
    <server-start>
        <arguments>-javaagent:/PATH/TO/DOMAIN_HOME/rasp/rasp.jar</arguments>
    </server-start>
</server>

重启安装rasp的server,服务器生效

3. 验证安装是否成功

访问 WebLogic 服务器,检查HTTP响应里是否包含 X-Protected-By: OpenRASP 字样,若出现则表示安装成功。若没有安装成功,请检查 WebLogic 是否有异常日志:

${DOMAIN_HOME}/servers/<安装rasp的server名字>/logs

手动安装(Windows)

1. 安装软件

进入 WebLogic Domain 目录,e.g C:\wls12212\user_projects\domains\base_domain,并将压缩包内的 rasp 目录复制过来

2. 配置 WebLogic

非集群模式

打开 bin/startWebLogic.cmd, 找到 set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS%"这一行,在下面增加:

set JAVA_OPTIONS=-javaagent:%DOMAIN_HOME%\rasp\rasp.jar %JAVA_OPTIONS%

集群模式

同Linux的集群模式

3. 验证安装是否成功

访问 WebLogic 服务器,检查HTTP响应里是否包含 X-Protected-By: OpenRASP 字样,若出现则表示安装成功。若没有安装成功,请检查 WebLogic 是否有异常日志:

${DOMAIN_HOME}/servers/<安装rasp的server名字>/logs

FAQ

1. Weblogic 10.36 无法加载的问题

Weblogic 10.36版本使用32位的JRockit JDK,若系统缺少32位的glibc,可能无法加载 openrasp.so。解决方法就是安装32位glibc,并再次尝试启动。

对于 CentOS 系统,你需要安装 libgcc.i686,否则会提示找不到 libgcc_s.so.1 错误:

yum install -y ligbcc.i686

若安装过程中出现 libgcc multilib 版本保护问题,e.g

Error: Multilib version problems found. This often means that the root
       cause is something else and multilib version checking is just
       pointing out that there is a problem. Eg.:

Protected multilib versions: libgcc-4.8.2-8.el6.x86_64 != libgcc-4.4.7-11.el6.i686

可尝试先升级 libgcc 到最新版本,再安装32位的 libgcc,e.g

yum install -y libgcc
yum install -y ligbcc.i686

之后尝试启动即可。