百度Openrasp开源的应用运行时自我保护产品,安装教程。
第一步: 下载最新版本的安装包
https://packages.baidu.com/app/openrasp/release/latest/rasp-php-linux.tar.bz2
解压到目录:/opt/rasp
bzip2 -d rasp-php-linux.tar.bz2
tar -xvf rasp-php-linux.tar
解压出来的文件夹会带日期版本号,不方便在PHP里设置open_base,所以文件夹更名移动
mv rasp-php-* /opt/rasp
给日志文件夹其他用户写入权限,也可以只给apache或者nginx运行用户的权限,要不然检测到攻击只会拦截,不会写日志。
chmod -R 777 /opt/rasp/logs
在phpinfo里查看php扩展的目录 extension_dir
cd /opt/rasp/php
选择对应的PHP版本扩展复制到扩展目录
cp /opt/rasp/php/linux-php5.6-x86_64/openrasp.so /php/56/lib/php/extensions
chmod 755 /php/56/lib/php/extensions/openrasp.so
修改php.ini文件,加入openrasp扩展
修改 php.ini,或者创建 z-openrasp.ini 文件,添加如下内容:
; BEGIN OPENRASP
[openrasp]
extension=openrasp.so
openrasp.root_dir=/opt/rasp
; 远程管理配置,不需要不用配置
; openrasp.backend_url=
; openrasp.app_id=
; openrasp.app_secret=
; openrasp.remote_management_enable=1
; END OPENRASP
其中,openrasp.root_dir 表示刚才选择的 OpenRASP 安装目录,不填写则无法加载。对于其他配置参数,可参考其他配置文档进行调整。
安装检测插件
点击这里下载官方插件 plugins/official/plugin.js,并放置到 <openrasp.root_dir>/plugins/ 目录,下载后自动加载并生效。
如果是fastcgi模式就重启php-fpm,
service php-fpm restart
1. 确认基本信息
在 web 目录下面,我们建立一个 info.php,并填写如下内容
<?php phpinfo();?>
访问刚才创建的 info.php,检查 openrasp 模块是否加载成功即可,e.g

如果你没有看到类似的信息,则说明扩展加载失败。常见原因有
- PHP版本和扩展版本不一致,比如 PHP 是 5.3 版本,但你安装了 PHP 5.6 版本的 openrasp.so
- INI 配置不正确,请参考 php error.log 里的错误消息
- 所有的错误消息都以
[OpenRASP] 错误码开头,方便和其他日志进行区分 - 对于 apache/nginx,可以查看类似
/var/log/nginx/error.log的路径
- 所有的错误消息都以
确认安装成功后,请删除 info.php 这个文件,以避免泄露敏感信息。
要比较注意open_base的设置,比如宝塔部署的话,是每个网站独立的open_base,一般是在网站根目录下的.user.ini,
FTP里是看不到这个文件的,需要在SSH输入
ls -a才能看到,由于限制了权限需要用chattr解除权限
chattr -i .user.ini
vi .user.ini
open_basedir=/www/:/tmp/:/proc/
在后面追加:/opt/rasp/logs
OpenRASP 正常拦截攻击,但是 alarm.log 没有日志
假设 OpenRASP 安装到了 /opt/rasp,
- 检查 logs 目录是否有写权限
- 如果没有权限,可以执行
chmod 777 /opt/rasp/logs增加权限 - 检查 SELinux 是否开启,可以执行
setenforce 0关闭
- 如果没有权限,可以执行
- 检查 php error_log 是否有 OpenRASP 相关的错误日志
- 如果没有配置过,请在 php.ini 里开启,e.g
error_log = /tmp/php_error.log
- 如果没有配置过,请在 php.ini 里开启,e.g
- 检查 php open_basedir 是否关闭(或者将 /opt/rasp 加入到允许的路径里)
- 我们的 alarm 日志使用 PHP stream 写入,会受到这个配置的影响,e.g
PHP Warning: scandir(): open_basedir restriction in effect. File(/www/rasp/logs/alarm/alarm.lo
- 我们的 alarm 日志使用 PHP stream 写入,会受到这个配置的影响,e.g
百度Openrasp开源的应用运行时自我保护产品,安装教程。的更多相关文章
- phpstudy运行时出现没有安装VC库
系统默认的VC库是安装在C:\Program Files\Common Files\microsoft shared\VC的文件夹里,当运行PHP Study是出现如下的提示: 可以到下面的网站去下载 ...
- win7下无法安装QTP-少了Microsoft Visual c++2005 sp1运行时组件
问题是:当我点击QTP的setup.exe进行QTP安装时,出现提示[少了Microsoft Visual c++2005 sp1运行时组件,安装时会提示命令行选项语法错误,键入“命令/?”可获取帮肋 ...
- RASP Runtime Application Self-protection 运行时应用自我保护 介绍及优缺点
RASP 介绍 Runtime Application Self-protection 运行时应用自我保护 [图源:绿盟科技] 概念 Gartner (著名信息技术研究和分析厂商) 在2014年提出了 ...
- Android6.0运行时权限(基于RxPermission开源库)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 在6.0以前的系统,都是权限一刀切的处理方式,只要用户安装,Manifest申请的权限都会被赋予,并且安装后权限也撤销不了. And ...
- 运行时应用自我保护(RASP):应用安全的自我修养
应用程序已经成为网络黑客想要渗透到企业内部的绝佳目标. 因为他们知道如果能发现并利用应用程序的漏洞,他们就有超过三分之一的机会成功入侵. 更重要的是,发现应用程序漏洞的可能性也很大. Contrast ...
- ASP.NET 5运行时升级到Beta5
在Visual Studio 2015 RTM和Windows 10正式发布之前,微软把开源.NET升级到了beta5,带来了一些增强和改变.和Visual Studio 2015 RC一起安装的AS ...
- 自定义注解之运行时注解(RetentionPolicy.RUNTIME)
对注解概念不了解的可以先看这个:Java注解基础概念总结 前面有提到注解按生命周期来划分可分为3类: 1.RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成clas ...
- iOS开发——高级特性&Runtime运行时特性详解
Runtime运行时特性详解 本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机.主要内容如下: 引言 ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(四):开源的Silverlight运行容器的编译、配置
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
随机推荐
- Linux网络安全篇,配置Yum源(一),本地Yum源
1.创建挂载目录 mkdir /mnt/cdrom 2.挂载软件源cdrom mount /dev/cdrom /mnt/cdrom/ 3.建立本地yum源资源文件夹 mkdir /usr/local ...
- Js异步机制的实现
Js异步机制 JavaScript是一门单线程语言,所谓单线程,就是指一次只能完成一件任务,如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推.这种模式的好处是实现起来比较简单 ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
- OpenWrite 编辑器如何配置七牛云图床
感谢用户 mutiantong.cn 的创作分享,原文链接:https://www.jianshu.com/p/29f33ca6e491 1. 配置七牛云 1.1 通过七牛云链接购买七牛云对象存储, ...
- Spring Cloud和eureka启动报错 解决版本依赖关系
导读 An attempt was made to call a method that does not exist. The attempt was made from the following ...
- matlab操作Excel数据
sheet是Excel的表格,xIRange是表格的列的范围 指定xlRange,例如使用语法'C1:C2',其中C1和C2是定义要读取的区百域的两个度相对的角. 例如,'D2:H4'表示工作表上的两 ...
- L13过拟合欠拟合及其解决方案
过拟合.欠拟合及其解决方案 过拟合.欠拟合的概念 权重衰减 丢弃法 模型选择.过拟合和欠拟合 训练误差和泛化误差 在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(g ...
- stand up meeting 12/2/2015
part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 将logic部分提供的delete接口接入,与logic,数据库部分沟通实现了add/delete按钮的复用:解决UI部 ...
- DNA sequence HDU - 1560(IDA*,迭代加深搜索)
题目大意:有n个DNA序列,构造一个新的序列,使得这n个DNA序列都是它的子序列,然后输出最小长度. 题解:第一次接触IDA*算法,感觉~~好暴力!!思路:维护一个数组pos[i],表示第i个串该匹配 ...
- winfrom 基础
1 winfrom就是一种窗体开发端应用程序 2 窗体分类 1)记事本类:可以最大最小化,可以拖拽 窗体默 ...