百度openrasp开源实时程序自保护系统搭建
今天客户问我能不能给他搭建个openrasp, 额(⊙o⊙) 为嘛? 我们基ModSecurity的waf防火墙还有CC防火墙.好吧 他觉得这样更安全...好吧 (⊙o⊙)
OpenRASP 是百度安全推出的一款 免费、开源 的应用运行时自我保护产品.可以在不依赖请求特征的情况下,准确的识别代码注入、反序列化等应用异常,很好的弥补了传统设备防护滞后的问题.
可以简单理解为: 入侵主动防御系统
系统和软件需求:
系统/软件 | 版本 |
---|---|
Centos | 7.6 |
Elasticsearch | 6.8.3 |
Mongodb | 3.6 |
Jdk | 1.8 |
Php | 7.2.13 |
-
先下载软件到服务器上:
image.png
Elasticsearch下载地址
百度rasp 下载地址
Mongodb 下载地址
Php agent 下载地址
(1) 下载到/home/baidu 目录中
(2) 使用旗鱼云梯的远程下载直接下载到服务器里,省的通过ftp上传了
-
安装jdk1.8
(1) elasticsearch需要jdk才能运行
(2) 在软件中心里面安装jdk1.8
image.png -
新建elasticsearch用户
(1) Elasticsearch 不允许以root用户启动, 所以要创建一个elasticsearch账号
(2) 在 账号信息 里面创建elasticsearch用户
image.png -
安装Elasticsearch
(1) 解压下载的压缩包
image.png
(2) elasticsearch默认安装后设置的内存是1GB, 我这乞丐版1H1G的服务器顶不住那, 给它改成128M的
① 修改 jvm.optioins文件, 1g改成128m
image.png
改成这个样子
image.png
(3) 修改用户最大线程为4096
① 有些主机最大线程设置的为3894, 这样会导致elasticsearch启动报警告信息, elasticsearch最低要求4096
② 修改 /etc/security/limits.conf文件, 如下 image.png
③ 添加到文件末尾
nproc 表示配置最大打开线程数
image.png
④ 验证是否修改成功
登录命令行
image.png
切换到elasticsearch用户, 执行 ulimit -a
查看max user processes 是否是4096
image.png 修改成功, 关闭命令行
(4) 修改 最大虚拟内存区域vm.max_map_count 为262144
① elasticsearch最低要求262144, 否则会出现警告信息
② 修改 /etc/sysctl.conf 文件:如下
image.png
③ 末尾添加 vm.max_map_count = 262144 如下:
image.png
④ 命令行(root用户下)执行 sysctl -p 检测是否设置成功
image.png
(5) 设置elasticsearch文件目录用户以及用户组为 elasticsearch
① chown elasticsearch:elasticsearch -R elasticsearch-6.8.3
image.png
(6) 启动elasticsearch
① 切换到 elasticearch用户
② 执行 ./elasticsearch-6.8.3/bin/elasticsearch
image.png 启动成功
image.png
切换成后台模式启动
a. ctrl+c 停止当前elasticsearch
b. 后台模式启动 执行: ./elasticsearch-6.8.3/bin/elasticsearch -d
image.png
c. Elasticsearch启动比较慢, 等30秒左右, 验证是否启动成功
a) 命令行执行: curl localhost:9200
b) 返回如下表示启动成功, elasticsearch安装成功!
c) image.png -
Mongodb安装
(1) 解压下载的压缩包,并修改解压出来的目录为mongodb
image.png
(2) 创建mongodb配置文件mongodb.conf
① 在mongodb/bin 目录下面创建 mongodb.conf配置文件
image.png
image.png
(3) 创建数据存放目录和日志存放目录
① /home/baidu/mongodb/data/db
② /home/baidu/mongodb/data/logs image.png
(4) 启动mongodb
① 进入bin目录:cd /home/baidu/mongodb/bin/
② 执行: ./mongod -f mongodb.conf
image.png
(5) 验证mongodb是否成功
① curl localhost:27017
image.png ② mongodb安装成功 -
安装百度openrasp管理后台
image.png
(1) 解压rasp-cloud.tar.gz,并重命名为rasp-cloud
(2) 编辑conf/app.conf
文件,修正 ElasticSearch 和 MongoDB 两个服务器的地址。如果这两个服务器都安装在了本机,且使用默认端口,请跳过此步骤: 因为我们是安装在同台服务器上, 所以跳过此步骤
(3) 启动openrasp
① 进入 rasp-cloud目录:cd /home/baidu/rasp-cloud
② 执行启动命令 :./rasp-cloud image.png image.png 启动成功, 没有报错信息
③ 改成后台启动模式:./rasp-cloud -d image.png 启动成功
④ 登录后台验证一下:
在浏览器里打开http://your-ip:8086
,登录管理后台。其中用户名固定为 openrasp,初始密码为 admin@123。如果不能访问,请检查防火墙设置,或者检查logs/api/agent-cloud.log
下面的错误信息。
image.png
关闭记录日志模式, 一定要关闭,否则不会拦截攻击 -
安装php-agent
(1) 在管理后台页面,点击添加主机 image.png
(2) Php安装包我们已经下载好了, 解压并改名为rasp-php
(3) 在软件中心安装php
image.png
(4) 命令行执行 install.php安装
① 进到rasp-php目录
② 执行百度给出的 安装install.php命令
php为你安装的php解释器路径,这里需要把php改成:/marlinos/php/7.2.13/bin/php
命令执行: image.png image.png
③ 安装成功, 重启php image.png -
安装测试用例
image.png
(1) 创建一个网站ceshi (apache太古老了,用openresty把)
(2) 下载测试网站到新创建的网站目录下面并解压
① php测试用例
(3) 浏览器访问: http://ip/vulns image.png
(4) 点点测试一个攻击,出现下面页面则拦截成功 image.png
个人用户或小企业用户,建站后没有运维怎么办?
旗鱼云梯, 专业的SAAS化服务器集群管理云平台, 免费的运维服务专业的技术, 您值得的拥有.
旗鱼云梯