• JBoss 服务器安装
    • 自动化安装
    • 手动安装(Linux)
      • 1. 安装软件
      • 2. 配置 JBoss
      • 3. 验证安装是否成功
  • 手动安装(Windows)
    • 1. 安装软件
    • 2. 配置 JBoss
    • 3. 验证安装是否成功
  • 已知问题
    • 1. JBoss 7 兼容性
    • 2. java.io.ObjectInputStream 错误

    JBoss 服务器安装

    自动化安装

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

    1. java -jar RaspInstall.jar -install <jboss_home>

    手动安装(Linux)

    1. 安装软件

    进入到 jboss 安装目录(绝对路径包含空格将导致启动失败),e.g /opt/jboss

    复制安装包内的 rasp 目录到当前目录,

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

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

    1. chmod 777 -R rasp
    2. 配置 JBoss
    如果是 Jboss 4~6,

    打开bin/run.sh, 找到任意以JAVA_OPTS=为起始的行(JAVA_OPTS前面无空格),例如:

    1. # Setup JBoss specific properties
    2. JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"

    在下面增加JAVA_OPTS="-javaagent:${JBOSS_HOME}/rasp/rasp.jar ${JAVA_OPTS}"JAVA_OPTS="-Dlog4j.rasp.configuration=file://${JBOSS_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"

    1. # Setup JBoss specific properties
    2. JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
    3. JAVA_OPTS="-javaagent:${JBOSS_HOME}/rasp/rasp.jar ${JAVA_OPTS}"
    4. JAVA_OPTS="-Dlog4j.rasp.configuration=file://${JBOSS_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"
    如果是 Jboss 7,

    如果是standalone模式打开bin/standalone.sh, 如果是domain模式打开bin/domain.sh

    找到export JBOSS_HOME处,在下面添加:JAVA_OPTS="-javaagent:${JBOSS_HOME}/rasp/rasp.jar ${JAVA_OPTS}"JAVA_OPTS="-Dlog4j.rasp.configuration=file://${JBOSS_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"

    1. export JBOSS_HOME
    2. JAVA_OPTS="-javaagent:${JBOSS_HOME}/rasp/rasp.jar ${JAVA_OPTS}"
    3. JAVA_OPTS="-Dlog4j.rasp.configuration=file://${JBOSS_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"

    然后根据模式打开bin/standalone.conf或者bin/domain.conf

    找到如下内容,

    1. if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
    2. JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman"
    3. fi

    改为如下内容,

    1. if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
    2. JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,com.baidu.openrasp"
    3. fi
    3. 验证安装是否成功

    重启 JBoss 服务器,观察启动日志中是否出现 OpenRASP Engine Initialized字段,出现则说明安装成功

    手动安装(Windows)

    1. 安装软件

    进入到 jboss 安装目录,e.g D:\jboss

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

    2. 配置 JBoss

    如果使用Jboss 4,则打开 bin\run.bat;

    如果使用Jboss 7, 则根据使用模式打开 bin\standalone.batbin\domain.sh

    打开脚本后,找到任意以 set JAVA_OPTS 为起始的行,如:

    1. set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME%

    在下面增加set JAVA_OPTS=-javaagent:%JBOSS_HOME%\rasp\rasp.jar %JAVA_OPTS%set JAVA_OPTS=-Dlog4j.rasp.configuration=file:%JBOSS_HOME%\rasp\conf\rasp-log4j.xml %JAVA_OPTS%

    1. set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME%
    2. set JAVA_OPTS=-javaagent:%JBOSS_HOME%\rasp\rasp.jar %JAVA_OPTS%
    3. set JAVA_OPTS=-Dlog4j.rasp.configuration=file:%JBOSS_HOME%\rasp\conf\rasp-log4j.xml %JAVA_OPTS%

    如果是 Jboss 7 ,则还需要根据模式打开 bin\standalone.conf.batbin\domain.conf.bat

    找到如下内容,

    1. set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman"

    改为如下内容,

    1. set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman,com.baidu.openrasp"
    3. 验证安装是否成功

    重启 JBoss 服务器,观察启动日志(默认输出到终端)中是否出现 OpenRASP Engine Initialized字段,出现则说明安装成功;或者访问一下服务器,检查是否存在 X-Protected-By: OpenRASP 响应头,存在即表示安装成功。

    已知问题

    1. JBoss 7 兼容性

    在测试阶段我们发现 jboss7 + jdk6u26 版本,存在无法正常启动的问题,与jboss7的classloader加载机制有关,解决该问题需要用户进行如下配置修改(以 windows 为例):

    • 修改 standalone.conf.bat 文件,将set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman" 替换为 set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman,org.jboss.logmanager"
    • 修改 standalone.bat 文件,在配置-Dlog4j.rasp.configuration行后添加:
      set JAVA_OPTS=-Djava.util.logging.manager=org.jboss.logmanager.LogManager %JAVA_OPTS%
      set JAVA_OPTS=-Xbootclasspath/p:%JBOSS_HOME%\modules\org\jboss\logmanager\main\jboss-logmanager-1.2.2.GA.jar;%JBOSS_HOME%\modules\org\jboss\logmanager\log4j\main\jboss-logmanager-log4j-1.0.0.GA.jar;%JBOSS_HOME%\modules\org\apache\log4j\main\log4j-1.2.16.jar %JAVA_OPTS%

    注意相应jar包版本应与jboss modules路径下对应jar包版本一致。
    jboss7使用中出现OpenRASP相关问题,请联系我们

    2. java.io.ObjectInputStream 错误

    这个并不是 OpenRASP 的问题,请尝试更新JDK到最新版本

    参考资料

    • The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

    原文: https://rasp.baidu.com/doc/install/manual/jboss.html