咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
百度RASP的安装
蓝队云小课堂:
参考文档:PHP 服务器 - OpenRASP 官方文档 - 开源自适应安全产品 (baidu.com)
一、PHP服务器
SAPI 支持范围(同时支持TS/非TS版本)
PHP-FPM
Apache PHP 模块
操作系统
Linux
PHP 5.3 ~ 5.6,7.0 ~ 7.3
Ubuntu 14.04 以及更高版本
RHELL/CentOS 6 以及更高版本
其他 glibc >= 2.12 的发行版
Mac OS
Homebrew PHP 5.6,7.0 ~ 7.3 (没有深入测试)
数据库
MySQL (mysql/mysqli/PDO 等连接方式)
PostgreSQL
SQLite3
1、宝塔安装
宝塔软件商城中有rasp软件,安装后选择对应php版本的安装即可
2、linux服务器安装
自动化安装
(1)下载官方安装包
官方安装包地址Index of /app/openrasp/release/ (baidu.com)
以RASP1.3.6版本为例
下载 rasp-php-linux.tar.bz2 或者 rasp-php-linux-ts.tar.bz2(线程安全版本) 到/opt目录下并解压缩
cd /opt
wget https://www.landui.com/app/openrasp/release/1.3.6/rasp-php-linux.tar.bz2
进入到解压后的目录中
cd rasp-php-2022-01-28
php install.php -d /opt/rasp
查看phpinfo,应有openrasp相关模块
手动安装
1. 确认基本信息
在 web 目录下面,我们建立一个 info.php,并填写如下内容
<?php phpinfo();?>
在浏览器里打开这个页面,使用搜索功能,
定位到
extension_dir
字样,确认PHP扩展安装目录
e.g /usr/lib/php/20151012
搜索
Additional .ini files parsed
字样,
如果找到了,我们就在这个目录下面创建一个新的 ini 文件,e.g /etc/php.d/z-openrasp.ini
如果找不到,就定位到
Loaded Configuration File
字样,确认 ini 配置文件路径
e.g /etc/php.ini
2. 安装软件
首先,根据你的 PHP 版本号,复制正确的 openrasp.so 到扩展目录,e.g
cp php/linux-php5.4-x86_64/openrasp.so /usr/lib/php/20151012
chmod 755 /usr/lib/php/20151012/openrasp.so
然后,确定 OpenRASP 安装目录,在这里我们使用 /opt/rasp
这个目录将会用于存储检测插件、报警日志、插件日志等内容,需要手动创建,并保证 PHP 进程可以写入,e.g
mkdir -p /opt/rasp
chmod 777 -R /opt/rasp
由于报警日志存储在 /opt/rasp/logs,我们建议挑选一个空间较大的分区,以避免将根分区打满
最后,修改 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 安装目录,不填写则无法加载。对于其他配置参数,可参考其他配置文档进行调整。
3. 安装检测插件
点击这里下载官方插件 plugins/official/plugin.js,并放置到 <openrasp.root_dir>/plugins/ 目录,下载后自动加载并生效。
4. 验证安装是否成功
访问刚才创建的 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 这个文件,以避免泄露敏感信息。
3、windows安装
4、 开启拦截和行为日志
宝塔安装不需要此步骤
打开官方插件(rasp/plugins/official.js),首先定位到如下内容,将 all_log 改为 false。修改后,大部分检测算法都会变成拦截模式:
var algorithmConfig = {
// 快速设置
meta: {
// 若 all_log 开启,表示为观察模式,会将所有的 block 都改为 log
all_log: true,
// 若 is_dev 开启,表示为线下环境,将开启更多消耗性能的检测算法
is_dev: false,
// schema 版本
schema_version: 1
},
...
对于其他算法,如XSS检测,还需要手动调整拦截策略,即修改 action 字段为 block:
var algorithmConfig = {
...
xss_userinput: {
name: '算法2 - 拦截输出在响应里的反射 XSS',
action: 'block',
filter_regex: "<![\\\\-\\\\[A-Za-z]|<([A-Za-z]{1,12})[\\\\/ >]",
min_length: 15,
},
...
}
之后根据 检测插件 的说明决定是否重启应用服务器。
5、测试是否成功
二、测试
2.1 下载测试案例国内镜像: packages.baidu.com
PHP 版本
解压 php-vulns.tar.gz 到web目录
2.2 在PHP服务器上部署 直接把解压包放在PHP服务器的WEB服务下就好了。
打开index.php,看到上面的画面,任意点进一个网页,比如010
点击不正常调用
更多小知识,可联系蓝队云一起探讨。