OpenRASP项目地址https://rasp.baidu.com/

一、安装java

在CentOS中安装ElasticSearch需要Java1.8.0,可执行命令java -version查看当前系统所安装Java版本是否为1.8.0版本。

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

如未安装java或者版本不符,可通过以下命令安装:

yum install java-1.8.0-openjdk* -y
或者
yum -y install java

二、安装MongoDB 3.6

官方文档要求MongoDB 版本大于等于 3.6,所以我们安装个3.6版本

  • 1.创建仓库
vi /etc/yum.repos.d/mongodb-org-3.6.repo
  • 2.把下面的内容复制到上述文件中,保存退出
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
  • 3.yum命令安装mongodb
yum install -y mongodb-org
  • 4.创建数据目录
mkdir -p /data/mongodb/data /data/mongodb/logs
chown mongod.mongod /data/mongodb/data /data/mongodb/logs -R
#默认是使用mongod执行的,所以需要修改一下目录权限
  • 5.修改配置文件
vi /etc/mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /data/mongodb/logs/mongod.log #修改到刚才创建的目录
# Where and how to store data.
storage:
dbPath: /data/mongodb/data #修改到刚才创建的目录
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /data/mongodb/logs/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
#security:
# authorization: enabled #这里是开启验证功能,暂时先关闭,等创建完root用户再开起来进行验证
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
  • 6.启动MongoDB
mongod -f /etc/mongod.conf

三、安装ElasticSearch6.7

  • 1.下载elasticsearch
    官方网站下载:https://www.elastic.co/cn/downloads/past-releases#elasticsearch选择6.7版本的tar.gz压缩包。(官方文档要求elasticsearch版本需要大于等于 5.6,小于 7)

     
    image.png
  • 2.上传到服务器
    下载完成后用rz命令这个压缩包上传到 /opt 路径下。

  • 3.解压

tar -zvxf elasticsearch-6.7.0.tar.gz
  • 4.创建用户
useradd  es
chown -R es:es /opt/elasticsearch-6.7.0/

因为elasticsearch不能以root账户启动,用root账户启动会产生以下报错信息,所以需新建一个用户启动。

[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
  • 5.启动elasticsearch
    elasticsearch 不需要其他额外配置,只需要启动即可。切换到es用户,切换到/opt/elasticsearch-6.7.0的目录下进行启动:
su es
cd elasticsearch-6.7.0/
bin/elasticsearch -d
  • 6.验证服务是否启动成功
curl http://127.0.0.1:9200

执行以上命令,返回出现类似这段文字,说明服务开启成功。

curl http://127.0.0.1:9200
{
"name" : "fb4g6X_",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Xp4GK80NRa6aikptBRTe0Q",
"version" : {
"number" : "6.7.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "8453f77",
"build_date" : "2019-03-21T15:32:29.844721Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

四、启动OpenRASP服务

    1. 下载 rasp-cloud.tar.gz 1.2.0-beta版本并解压到data目录。
    1. 编辑/conf/app.conf 文件,修正 ElasticSearch 和 MongoDB 两个服务器的地址。如果这两个服务器都安装在了本机,且使用默认端口,请跳过此步骤:
[prod]
EsAddr = http://127.0.0.1:9200
EsUser =
EsPwd =
MongoDBAddr = 127.0.0.1:27017
MongoDBUser =
MongoDBPwd =
    1. 在终端里执行如下命令,启动后台服务器:
[root@test rasp-cloud-2019-07-18]# ./rasp-cloud -d
/data/rasp-cloud-2019-07-18/
2019/07/18 23:44:48 args: []
2019/07/18 23:44:48 start successfully, for details please check the log in 'logs/api/agent-cloud.log'
  • 4.在浏览器里打开 http://your-ip:8086,但是web界面不能访问。根据提示查看logs/api/agent-cloud.log日志,日志显示服务正常。
[root@test rasp-cloud-2019-07-18]# cat logs/api/agent-cloud.log
2019/07/18 23:25:55.387 [I] [environment.go:67] ===== start type: default =====
2019/07/18 23:25:55.390 [E] [mongo.go:51] [30002] failed to find MongoDB server: : no reachable servers
2019/07/18 23:44:48.844 [I] [environment.go:67] ===== start type: default =====
2019/07/18 23:44:48.846 [I] [mongo.go:57] MongoDB version: 3.6.13
2019/07/18 23:44:48.872 [I] [es.go:56] ES version: 6.7.0
2019/07/18 23:44:49.014 [I] [es.go:126] put es template: report-data-template
2019/07/18 23:44:49.045 [I] [es.go:126] put es template: error-alarm-template
2019/07/18 23:44:49.108 [I] [es.go:126] put es template: attack-alarm-template
2019/07/18 23:44:49.139 [I] [es.go:126] put es template: policy-alarm-template
2019/07/18 23:44:49.584 [I] [log_handle.go:370] create es index: openrasp-policy-alarm-89ab2b1315cde191414ff3f0aa77bb4ac2b47182
2019/07/18 23:44:49.794 [I] [log_handle.go:370] create es index: openrasp-attack-alarm-89ab2b1315cde191414ff3f0aa77bb4ac2b47182
2019/07/18 23:44:49.984 [I] [log_handle.go:370] create es index: openrasp-error-alarm-89ab2b1315cde191414ff3f0aa77bb4ac2b47182
2019/07/18 23:44:50.149 [I] [report.go:42] create es index: openrasp-report-data-89ab2b1315cde191414ff3f0aa77bb4ac2b47182
2019/07/18 23:44:50.150 [I] [app.go:325] Succeed to create app, name: PHP 示例应用
2019/07/18 23:44:50.170 [I] [app.go:357] Succeed to set up default plugin for app, version: 2019-0708-1800

测试查看本机访问,显示正常。

[root@test rasp-cloud-2019-07-18]# curl http://127.0.0.1:8086
<!doctype html><html><head><meta charset=UTF-8><meta name=description content="OpenRASP 管理后台"><meta name=author content=c0debreak><meta name=robots content=noindex><meta name=viewport content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1"><meta http-equiv=X-UA-Compatible content="ie=edge"><link rel=icon href=./favicon.ico type=image/x-icon><link rel="shortcut icon" type=image/x-icon href=/static/favicon.ico><title>管理后台 - OpenRASP - 开源自适应安全防护</title><link href=/static/plugins/font-awesome-4.7.0/css/font-awesome.min.css rel=stylesheet><link href=/static/gfonts/main.css rel=stylesheet><link href=/static/plugins/charts-c3/plugin.css rel=stylesheet><link href=/static/css/app.55611cc7abe6d4911c43a8ec5550dfdd.css rel=stylesheet></head><body class=""><div id=app></div><script type=text/javascript src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script><script type=text/javascript src=/static/js/vendor.51cbec5bbc7181337bf4.js></script><script type=text/javascript src=/static/js/app.122d023e2cca64b89e23.js></script></body></html>

可能是防火墙问题,检查防火墙设置,开放8086端口

iptables -I INPUT -p tcp --dport 8086 -j ACCEPT

再次访问,web界面正常了。其中用户名固定为 openrasp,初始密码为 admin@123。

 
image.png

登录成功后,请根据 管理后台 - 添加主机 文档,了解如何添加第一台主机。

 
image.png

OpenRASP项目地址https://rasp.baidu.com/

作者:白帽札记
链接:https://www.jianshu.com/p/f04eb0895e80
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

OpenRASP管理后台安装记录的更多相关文章

  1. 四、Django之模型与管理后台-Part 2

    一.数据库安装 打开mysite/settings.py配置文件,这是整个Django项目的设置中心.Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,所以你无须安装 ...

  2. python框架Django使用xadmin管理后台数据

    Django使用xadmin管理后台数据 关注公众号"轻松学编程"了解更多. 作用:xadmin比Django内置的admin更美观.更方便. 一.导入xadmin(第三方库) 方 ...

  3. 从0到1用react+antd+redux搭建一个开箱即用的企业级管理后台系列(基础篇)

    背景 ​ 最近因为要做一个新的管理后台项目,新公司大部分是用vue写的,技术栈这块也是想切到react上面来,所以,这次从0到1重新搭建一个react项目架子,需要考虑的东西的很多,包括目录结构.代码 ...

  4. 电商管理后台 API 接口文档

    1. 电商管理后台 API 接口文档 1.1. API V1 接口说明 接口基准地址:http://127.0.0.1:8888/api/private/v1/ 服务端已开启 CORS 跨域支持 AP ...

  5. Solr学习总结(三)Solr web 管理后台

    前面讲到了Solr的安装,按道理,这次应该讲讲.net与数据库的内容,C#如何操作Solr索引等.不过我还是想先讲一些基础的内容,比如solr查询参数如何使用,各个参数都代表什么意思? 还有solr ...

  6. 如何从投票的网站的管理后台导出已投票的邀请码数据至Excel,并且稍修改,再导入到现场抽奖软件中?

    第一步:进入投票网站的管理后台,导出 已投票 的 邀请码 相关信息至Excel中,下图所示: 并且 删除第一行表头汉字信息. 第二步:把第A列 数值 信息 转换 为 文本 信息(注:转换方法详细点击此 ...

  7. 第二节:模型(Models)和管理后台(Admin site)

    本节内容我们将配置数据库,创建第一个model并且快速了解Django自动生成的管理后台(admin site) 目录 数据库配置 创建模型 激活模型 使用Django API 介绍Django管理后 ...

  8. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  9. 《暗黑世界GM管理后台系统》部署+功能说明文档

    http://www.9miao.com/product-10-1073.html <暗黑世界GM管理后台系统>部署+功能说明文档 <暗黑世界GM管理后台系统>部署+功能说明文 ...

随机推荐

  1. PHP中涉及文件路径的讨论

    #1 $_SERVER中的PHP_SELF,当前执行脚本的文件名,与 document root 有关.例如,在地址为 http://example.com/test.php/foo.bar 的脚本中 ...

  2. MTK Android ListPreference的用法

    首先,我们明确,preference是和数据存储相关的. 其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办法可以实现同样 ...

  3. Flask入门 之 没有装饰器的路由

    有些时候,需要一个类似路由的功能,但又不能或者不想写装饰器,这该怎么办? so easy! eg: @app.route('login') def login(): return 'hello wor ...

  4. Google Adsense付款方式添加西联付款

    本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. Google Adsens ...

  5. ThinkPHP中的行为扩展和插件详解

    原理分析 将标签与类之间的对应关系(如'app_init'=>array('Common\Behavior\InitHook')),通过Hook类中import或add方法,加载到Hook类中静 ...

  6. 小猪佩奇C代码实现

    // ASCII Peppa Pig by Milo Yip #include <stdio.h> #include <math.h> #include <stdlib. ...

  7. C与C++的函数声明中省略参数的不同意义

    一直都以为C/C++中形如 int func(); 这样的函数声明其意义就是一个参数 void(没有参数)的函数.然而今天在看C++的时候突然看到这么一句: 对于带空参数表的函数,C和C++有很大的不 ...

  8. 反射----获取class对象的五种方法

    反射Reflection 配合注解使用会格外强大,反射注解,天生一对 类如何加载? 动态语言和静态语言.我知道是什么,不用总结了. 由于反射,Java可以称为准动态语言. 允许通过反射获得类的全部信息 ...

  9. Android MonkeyTalk测试

    Android MonkeyTalk测试 MonkeyTalk可以用于压力测试,正因为这点所以才选择MonkeyTalk进行测试,相对于Monkey测试,目前个人发现的有点在于,MonkeyTalk是 ...

  10. Jmeter发送jdbc请求进行大批量造数

    创建批量造数脚本,一个简单的结构如下图所示, 1.线程组(10个线程重复运行2次,相当于造20个数) 2.用户定义变量(这是全局变量,用于后面随机筛选用) 3.数据库连接配置 4.计数器(用于主键递增 ...