Tomcat 服务器安装

自动化安装

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

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

注意: 这里的 <tomcat_root> 不是 webapps 目录,而是 tomcat 的根目录

如果没有错误提示即表示安装成功,如果需要调整日志,请参考这篇文章

RASP 升级方法

在 Linux 下面,可以使用 bin/catalina.sh stop 来执行 graceful stop

你会在日志里看到类似下面的输出,这表明 Tomcat 将在处理完当前的HTTP后退出

  1. Jan 12, 2018 6:11:55 PM org.apache.catalina.core.StandardWrapper unload
  2. INFO: Waiting for 1 instance(s) to be deallocated for Servlet [jsp]
  3. Jan 12, 2018 6:11:56 PM org.apache.catalina.core.StandardWrapper unload
  4. INFO: Waiting for 1 instance(s) to be deallocated for Servlet [jsp]
  5. Jan 12, 2018 6:11:57 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads

之后参考我们的自动或者手动安装文档,重新安装即可

手动安装(Linux)

1. 安装软件

进入到 tomcat 安装目录(绝对路径包含空格将导致启动失败),e.g /opt/apache-tomcat-8.5.6,将 rasp 目录复制过来

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

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

  1. chmod 777 -R rasp

否则你可能在 catalina.out 里看到类似这样的错误,

  1. com.baidu.openrasp.exception.ConfigLoadException: Fail to extract rasp-log4j.xml, because of: /usr/share/tomcat8/rasp/conf/rasp-log4j.xml (Permission denied)
  2. at com.baidu.openrasp.messaging.LogConfig.extractLogConfigFile(LogConfig.java:153)
  3. at com.baidu.openrasp.messaging.LogConfig.completeLogConfig(LogConfig.java:72)
  4. at com.baidu.openrasp.Agent.loadConfig(Agent.java:91)
  5. at com.baidu.openrasp.Agent.premain(Agent.java:66)
2. 修改 tomcat 配置

打开 bin/catalina.sh, 找到如下内容:

  1. elif [ "$1" = "start" ] ; then
  2. if [ ! -z "$CATALINA_PID" ]; then

修改为如下(增加 -javaagent-Dlog4j.rasp.configuration 项)

  1. elif [ "$1" = "start" ]; then
  2. JAVA_OPTS="-javaagent:${CATALINA_HOME}/rasp/rasp.jar ${JAVA_OPTS}"
  3. JAVA_OPTS="-Dlog4j.rasp.configuration=file://${CATALINA_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"
  4. if [ ! -z "$CATALINA_PID" ]; then

对于使用 yum 安装的 tomcat,你需要创建 /etc/tomcat/conf.d/rasp.conf,并写入以下内容

  1. JAVA_OPTS="-javaagent:${CATALINA_HOME}/rasp/rasp.jar ${JAVA_OPTS}"
  2. JAVA_OPTS="-Dlog4j.rasp.configuration=file://${CATALINA_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"
3. 验证安装是否成功

重启 tomcat 服务器,然后检查 rasp/logs/rasp/rasp.log 中是否出现 OpenRASP Engine Initialized 字样,e.g

  1. %> grep OpenRASP -ir rasp/logs/
  2. rasp/logs/rasp/rasp.log:2018-05-22 16:13:25,842 INFO [main][com.baidu.openrasp.Agent] OpenRASP Engine Initialized [1.0-SNAPSHOT (build: GitCommit=3da661734e3ad7641cd98e83f32950deaefcacac date=2017-08-14T03:34:41Z)]

或者检查响应的 Header 是否包含 X-Protected-By 字样,e.g

  1. %> curl 127.0.0.1:8080
  2. ...
  3. X-Protected-By: OpenRASP
  4. X-Request-ID: eb3b8e287de8406bb4bdb9d86bd31f99
  5. ...

出现则表示安装成功

安装中出现任何问题,请联系我们

手动安装(Windows)

1. 安装软件

进入到 tomcat 安装目录,e.g D:\apache-tomcat-8.5.6,将 rasp 目录复制过来

2. 修改 tomcat 配置
2.1 如果是下载的 "32-bit/64-bit Windows Service Installer" 安装包,

请参考这篇文章,打开 bin/tomcatXw.exe

切换到 Java 标签页,

tomcatw

Java Options 下面增加启动参数,注意替换下绝对路径,e.g

  1. -javaagent:C:\Program Files\Apache Software Foundation\Tomcat 7.0\rasp\rasp.jar
  2. -Dlog4j.rasp.configuration=file:C:\Program Files\Apache Software Foundation\Tomcat 7.0\rasp\conf\rasp-log4j.xml
2.2 如果是下载的 "Windows zip" 安装包

打开 bin\catalina.bat, 找到 :setArgs 处:

  1. :setArgs
  2. if ""%1""=="""" goto doneSetArgs
  3. set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

:setArgs 下增加if "%ACTION%" == "start" set JAVA_OPTS=-javaagent:%CATALINA_HOME%\rasp\rasp.jar %JAVA_OPTS%if "%ACTION%" == "start" set JAVA_OPTS=-Dlog4j.rasp.configuration=file:%CATALINA_HOME%\rasp\conf\rasp-log4j.xml %JAVA_OPTS%

  1. :setArgs
  2. if "%ACTION%" == "start" set JAVA_OPTS=-javaagent:%CATALINA_HOME%\rasp\rasp.jar %JAVA_OPTS%
  3. if "%ACTION%" == "start" set JAVA_OPTS=-Dlog4j.rasp.configuration=file:%CATALINA_HOME%\rasp\conf\rasp-log4j.xml %JAVA_OPTS%
  4. if ""%1""=="""" goto doneSetArgs
  5. set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
3. 验证安装是否成功

重启 tomcat 服务器,然后检查日志文件,一般是 rasp/logs/rasp/rasp.log,如果出现 OpenRASP Engine Initialized 字样,出现则说明安装成功;或者访问一下服务器,检查是否存在 X-Protected-By: OpenRASP 响应头,存在即表示安装成功。

安装中出现任何问题,请联系我们

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