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
在 web 目录下面,我们建立一个 info.php
,并填写如下内容
<?php phpinfo();?>
访问刚才创建的 info.php
,检查 openrasp
模块是否加载成功即可,e.g
如果你没有看到类似的信息,则说明扩展加载失败。常见原因有
[OpenRASP] 错误码
开头,方便和其他日志进行区分/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 安装到了 /opt/rasp
,
检查 logs 目录是否有写权限
chmod 777 /opt/rasp/logs
增加权限setenforce 0
关闭检查 php error_log 是否有 OpenRASP 相关的错误日志
error_log = /tmp/php_error.log
检查 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
手机扫一扫
移动阅读更方便
你可能感兴趣的文章