软件安装

最新版本下载 - 安装方法请参考子章节

1. 常见自动安装失败原因

Java 版本

错误码 说明
10001 未找到插入 JAVA_OPTIONS 的标志
10002 未找到服务器根目录,e.g 使用了不存在的目录
10003 未找到启动脚本,e.g bin/catalina.sh
10004 无法识别应用服务器类型

PHP 版本

错误码 分类说明
20001 fswatch 类库初始化失败,比如 rasp 安装目录没有写权限
20002 日志记录发生异常,比如日志文件没有写权限
20003 申请共享内存失败
20004 php.ini 配置不正确,比如缺少 openrasp.root_dir 配置
20005 JavaScript 插件加载错误

2. OpenRASP 无法拦截攻击

Java 服务器

  • 首先,使用浏览器访问网站,检查服务器是否启动成功
    • 若服务器没有启动,可检查启动日志,寻找堆栈信息。对于 tomcat 通常是 catalina.out
  • 根据子章节的文档,检查 OpenRASP 是否安装成功
    • 方法一: 访问网站,检查响应头里是否有 X-Protected-By: OpenRASP 字样?
    • 方法二: 检查启动日志里是否有 OpenRASP Engine Initialized 字样
  • 检测测试用例是否支持

    • 对于官方测试用例,若无法拦截,则说明存在绕过或者bug
    • 对于其他测试用例,请联系QQ群群主,我们会检查
      PHP 服务器
  • 首先,使用浏览器访问网站,检查服务器是否启动成功

    • 若服务器没有启动,可检查 PHP/Apache/Nginx 错误日志
  • 根据子章节的文章,检查 OpenRASP 扩展是否安装成功
    • 方法一: 访问网站,检查响应头里是否有 X-Protected-By: OpenRASP 字样?
    • 方法二: 创建内容为 的PHP文件并访问,检查页面中是否包含 openrasp 扩展信息?
  • 检测测试用例是否支持
    • 对于官方测试用例,若无法拦截,则说明存在绕过或者bug
    • 对于其他测试用例,请联系QQ群群主,我们会检查

      3. Tomcat Windows Service Installer 安装问题

服务版本的安装包,没有提供 catalina.sh,只提供了 tomcatX.exe 作为启动工具

请参考Windows 手动安装文档,打开 bin/tomcatXw.exe 手动进行配置

4. jnotify 无法释放

有的公司会定制应用启动脚本,比如 catalina.sh,当以root启动tomcat,他会自动切换到低权限用户,再继续启动

通常,你会看到如下的堆栈错误

  1. Unable to extract jnotify library (rasp/libjnotify_64bit.so):
  2. java.io.FileNotFoundException: /data/w/tomcat/rasp/libjnotify_64bit.so (Permission denied)
  3. at java.io.FileOutputStream.open0(Native Method)
  4. at java.io.FileOutputStream.open(FileOutputStream.java:270)
  5. at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
  6. at java.io.FileOutputStream.<init>(FileOutputStream.java:101)

这说明 OpenRASP 在释放 jnotify 动态链接库时出错(用来监控插件目录变更),错误原因是 Permission denied

所以,你可能需要调整下RASP目录权限,e.g chmod 777 -R rasp,然后再次启动 tomcat

5. Could not find or load main class com.baidu.rasp.App 错误

QQ群用户反馈,执行 RaspInstall 时报错,

  1. $ java -jar RaspInstall.jar -install /usr/local/tomcat/
  2. Error: Could not find or load main class com.baidu.rasp.App

经过排查,这是因为当前目录本身没有读取权限导致的,执行 chmod 777 $PWD 后解决。

6. APM 兼容性说明

如果你同时使用 OpenRASPAPM 产品,比如 pinpoint,那你需要增大 -XX:MaxPermSize 参数。否则运行一段时间后可能会出现 java.lang.OutOfMemoryError: PermGen space 错误,产生大量GC,最终导致服务器假死

如果原先没有配置过此参数,我们建议你设置为 1024m;如果配置过,我们建议在原先基础上增加至少 512m

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