百度RASP的安裝
藍(lán)隊(duì)云小課堂:
參考文檔:PHP 服務(wù)器 - OpenRASP 官方文檔 - 開源自適應(yīng)安全產(chǎn)品 (baidu.com)
一、PHP服務(wù)器
SAPI 支持范圍(同時(shí)支持TS/非TS版本)
PHP-FPM
Apache PHP 模塊
操作系統(tǒng)
Linux
Mac OS
數(shù)據(jù)庫
1、寶塔安裝
寶塔軟件商城中有rasp軟件,安裝后選擇對(duì)應(yīng)php版本的安裝即可
2、linux服務(wù)器安裝
自動(dòng)化安裝
(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 http://www.tjdsmy.cn/app/openrasp/release/1.3.6/rasp-php-linux.tar.bz2
進(jìn)入到解壓后的目錄中
cd rasp-php-2022-01-28
php install.php -d /opt/rasp
查看phpinfo,應(yīng)有openrasp相關(guān)模塊
手動(dòng)安裝
1. 確認(rèn)基本信息
在 web 目錄下面,我們建立一個(gè) info.php,并填寫如下內(nèi)容
<?php phpinfo();?>
在瀏覽器里打開這個(gè)頁面,使用搜索功能,
定位到
extension_dir
字樣,確認(rèn)PHP擴(kuò)展安裝目錄
搜索
Additional .ini files parsed
字樣,
如果找不到,就定位到
Loaded Configuration File
字樣,確認(rèn) ini 配置文件路徑
2. 安裝軟件
首先,根據(jù)你的 PHP 版本號(hào),復(fù)制正確的 openrasp.so 到擴(kuò)展目錄,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
這個(gè)目錄將會(huì)用于存儲(chǔ)檢測插件、報(bào)警日志、插件日志等內(nèi)容,需要手動(dòng)創(chuàng)建,并保證 PHP 進(jìn)程可以寫入,e.g
mkdir -p /opt/rasp
chmod 777 -R /opt/rasp
由于報(bào)警日志存儲(chǔ)在 /opt/rasp/logs,我們建議挑選一個(gè)空間較大的分區(qū),以避免將根分區(qū)打滿
最后,修改 php.ini,或者創(chuàng)建 z-openrasp.ini 文件,添加如下內(nèi)容:
; BEGIN OPENRASP
[openrasp]
extension=openrasp.so
openrasp.root_dir=/opt/rasp
; 遠(yuǎn)程管理配置,不需要不用配置
; openrasp.backend_url=
; openrasp.app_id=
; openrasp.app_secret=
; openrasp.remote_management_enable=1
; END OPENRASP
其中,openrasp.root_dir 表示剛才選擇的 OpenRASP 安裝目錄,不填寫則無法加載。對(duì)于其他配置參數(shù),可參考其他配置文檔進(jìn)行調(diào)整。
3. 安裝檢測插件
點(diǎn)擊這里下載官方插件 plugins/official/plugin.js,并放置到 <openrasp.root_dir>/plugins/ 目錄,下載后自動(dòng)加載并生效。
4. 驗(yàn)證安裝是否成功
訪問剛才創(chuàng)建的 info.php,檢查 openrasp 模塊是否加載成功即可,e.g
如果你沒有看到類似的信息,則說明擴(kuò)展加載失敗。常見原因有
PHP版本和擴(kuò)展版本不一致,比如 PHP 是 5.3 版本,但你安裝了 PHP 5.6 版本的 openrasp.so
INI 配置不正確,請(qǐng)參考 php error.log 里的錯(cuò)誤消息
確認(rèn)安裝成功后,請(qǐng)刪除 info.php 這個(gè)文件,以避免泄露敏感信息。
3、windows安裝
4、 開啟攔截和行為日志
寶塔安裝不需要此步驟
打開官方插件(rasp/plugins/official.js),首先定位到如下內(nèi)容,將 all_log 改為 false。修改后,大部分檢測算法都會(huì)變成攔截模式:
var algorithmConfig = {
// 快速設(shè)置
meta: {
// 若 all_log 開啟,表示為觀察模式,會(huì)將所有的 block 都改為 log
all_log: true,
// 若 is_dev 開啟,表示為線下環(huán)境,將開啟更多消耗性能的檢測算法
is_dev: false,
// schema 版本
schema_version: 1
},
...
對(duì)于其他算法,如XSS檢測,還需要手動(dòng)調(diào)整攔截策略,即修改 action 字段為 block:
var algorithmConfig = {
...
xss_userinput: {
name: '算法2 - 攔截輸出在響應(yīng)里的反射 XSS',
action: 'block',
filter_regex: "<![\\\\-\\\\[A-Za-z]|<([A-Za-z]{1,12})[\\\\/ >]",
min_length: 15,
},
...
}
之后根據(jù) 檢測插件 的說明決定是否重啟應(yīng)用服務(wù)器。
5、測試是否成功
二、測試
2.1 下載測試案例國內(nèi)鏡像: packages.baidu.com
PHP 版本
2.2 在PHP服務(wù)器上部署 直接把解壓包放在PHP服務(wù)器的WEB服務(wù)下就好了。
打開index.php,看到上面的畫面,任意點(diǎn)進(jìn)一個(gè)網(wǎng)頁,比如010
點(diǎn)擊不正常調(diào)用
更多小知識(shí),可聯(lián)系藍(lán)隊(duì)云一起探討。