百度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
  1. 先下载软件到服务器上:
    Elasticsearch下载地址
    百度rasp 下载地址
    Mongodb 下载地址
    Php agent 下载地址
    (1) 下载到/home/baidu 目录中
    (2) 使用旗鱼云梯的远程下载直接下载到服务器里,省的通过ftp上传了

    image.png

  2. 安装jdk1.8
    (1) elasticsearch需要jdk才能运行
    (2) 在软件中心里面安装jdk1.8


    image.png
  3. 新建elasticsearch用户
    (1) Elasticsearch 不允许以root用户启动, 所以要创建一个elasticsearch账号
    (2) 在 账号信息 里面创建elasticsearch用户


    image.png
  4. 安装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
  5. 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安装成功
  6. 安装百度openrasp管理后台
    (1) 解压rasp-cloud.tar.gz,并重命名为rasp-cloud
    (2) 编辑 conf/app.conf 文件,修正 ElasticSearch 和 MongoDB 两个服务器的地址。如果这两个服务器都安装在了本机,且使用默认端口,请跳过此步骤: 因为我们是安装在同台服务器上, 所以跳过此步骤

    image.png

    (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

    关闭记录日志模式, 一定要关闭,否则不会拦截攻击

  7. 安装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
  8. 安装测试用例
    (1) 创建一个网站ceshi (apache太古老了,用openresty把)

    image.png

    (2) 下载测试网站到新创建的网站目录下面并解压
    ① php测试用例
    (3) 浏览器访问: http://ip/vulns
    image.png

    (4) 点点测试一个攻击,出现下面页面则拦截成功
    image.png

个人用户或小企业用户,建站后没有运维怎么办?

旗鱼云梯, 专业的SAAS化服务器集群管理云平台, 免费的运维服务专业的技术, 您值得的拥有.
旗鱼云梯

你可能感兴趣的:(百度openrasp开源实时程序自保护系统搭建)