0x01简介

主程序主要是通过使用NVD提供的JSON数据来更新CVE数据,并在前端进行展示。然后通过邮件进行通知,目前也只支持邮件。这个开源预警平台看上去并不是很完善,因为CVE本身就具有预警滞后性,但是做为情报库积累或者进行二次开发是可以满足更多需求的。

0x02环境

kali Linux kali 5.9.0-kali1-amd64 #1 SMP Debian 5.9.1-1kali2 (2020-10-29) x86_64 GNU/Linux
python 3.8.6 #OpenCVE需要 Python> = 3.6
PostgreSQL 13.0 (Debian 13.0-4) #OpenCVE只使用PostgreSQL来存储数据
Redis server v=6.0.9

0x03安装

① PostgreSQL 安装

#kali默认自带了PostgreSQL启动即可
service postgresql start
#登录控制台
sudo -u postgres psql
#修改登陆密码
ALTER USER postgres WITH PASSWORD '123456'; #修改用户 postgres 的密码为 123456
#创建数据库
CREATE DATABASE cvedb OWNER postgres; #为用户 postgres 创建数据库:cvedb

② Redis 安装

#更新
apt-get install
#安装
apt-get install redis-server -y
#确保配置文件中daemonize为yes
sudo vim /etc/redis/redis.conf
#后台运行
redis-server /etc/redis/redis.conf
#测试redis
redis-cli

③ OpenCVE 安装

#通过pip进行安装
pip install opencve #可能存在报错,根据报错信息直接pip install安装相应失败包即可,然后重新执行该命令即成功
#生成配置文件
opencve init #直接vim cfg文件可以查看core配置进行各项配置
>>[*] Configuration created in /home/kali/opencve/opencve.cfg
#配置数据库地址
vim /home/kali/opencve/opencve.cfg
编辑database_uri配置项:
database_uri = postgresql://postgres:123456@127.0.0.1:5432/cvedb
#初始化数据库
opencve upgrade-db #因为OpenCVE使用JSONB功能来提高性能,所以它仅支持PostgreSQL。
#导入历史的cve数据
opencve import-data #默认是N,需要键入y拉取CVE历史数据(2002年至今)
#启动 Celery任务
opencve celery worker -l INFO #工作程序
opencve celery beat -l INFO #调度程序,默认每15分钟拉取一次
#创建OpenCVE管理员
opencve create-user cveadmin ex@example.com --admin
#启动WEB服务
opencve webserver #默认访问http://127.0.0.1:8000/





参考

[1]https://github.com/opencve/opencve

OpenCVE-开源漏洞预警平台的更多相关文章

  1. 内网安全监控和预警平台架构设想(OSSIM)

    内网安全监控和预警平台架构设想 需求简介 内网安全监控和预警平台是内网安全建设的物质基础,是所有甲方安全建设的必备武器库,无论是应急响应和追踪溯源,还是预知告警.自我清查:做下来总的体会是几个问题永远 ...

  2. 捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?

    摸不了鱼了 2019 年 11 月 26 日,本来应该是无比平静的一天,开开会,改改bug,摸摸鱼之后等着下班.刷着新闻的间隙,手机的消息提示音响了起来,收到了一条邮件,平时收到邮件我都会选择稍后处理 ...

  3. 【转】使用Apache Kylin搭建企业级开源大数据分析平台

    http://www.thebigdata.cn/JieJueFangAn/30143.html 本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录:使用Apache Kylin搭 ...

  4. 大众点评开源分布式监控平台 CAT 深度剖析

    一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...

  5. Archery:开源漏洞评估和管理工具

    Archery:开源漏洞评估和管理工具

  6. 2019你该掌握的开源日志管理平台ELK STACK

    转载于https://www.vtlab.io/?p=217   在企业级开源日志管理平台ELK VS GRAYLOG一文中,我简单阐述了日志管理平台对技术人员的重要性,并把ELK Stack和Gra ...

  7. Go 开源博客平台 Pipe 1.0.0 发布!

    这是 Pipe 博客平台的第一个正式版,欢迎大家使用和反馈建议! 简介 Pipe 是一款小而美的开源博客平台,通过黑客派账号登录即可使用. 动机 产品层面: 市面上缺乏支持多独立博客的平台级系统 实现 ...

  8. Jenkins高危代码执行漏洞检测/开源漏洞靶场

    漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...

  9. kali上部署dvwa漏洞测试平台

    kali上部署dvwa漏洞测试平台 一.获取dvwa安装包并解压 二.赋予dvwa文件夹相应权限 三.配置Mysql数据库 四.启动apache2和mysql服务 五.在网页配置dvwa 六.登陆到D ...

随机推荐

  1. flutter环境部署

    一,xcode开发环境配置问题记录 1,Signing for "Runner" requires a development team xcode需要配置AppleID: 1,X ...

  2. Ajax原理,技术封装与完整示例代码

    在做项目和学习的时候,经常用到Ajax的相关技术,但是这方面的技术总是运用的不是十分好,就寻找相关博客来学习加深Ajax技术相关. 一.Ajax简介 二.同步.异步传输区别 2.1 异步传输 2.2 ...

  3. Spring boot AOP 记录请求日志

    如何将所有的通过url的请求参数以及返回结果都输出到日志中? 如果在controller的类中每个方法名都写一个log输出肯定是不明智的选择. 使用spring的AOP功能即可完成. 1. 在pom. ...

  4. 关于RabbitMQ的简单理解

    说明:想要理解RabbitMQ,需要先理解MQ是什么?能做什么?然后根据基础知识去理解RabbitMQ是什么.提供了什么功能. 一.MQ的简单理解 1. 什么是MQ? 消息队列(Message Que ...

  5. 和我一起理解js中的事件对象

    我们知道在JS中常用的事件有: 页面事件:load: 焦点事件:focus,blur: 鼠标事件:click,mouseout,mouseover,mousemove等: 键盘事件:keydown,k ...

  6. 2019 沈阳网络赛 D Fish eating fruit ( 树形DP)

    题目传送门 题意:求一颗树中所有点对(a,b)的路径长度,路径长度按照模3之后的值进行分类,最后分别求每一类的和 分析:树形DP \(dp[i][j]\) 表示以 i 为根的子树中,所有子节点到 i ...

  7. HDU 6900 Residual Polynomial【分治 NTT】

    HDU 6900 Residual Polynomial  题意: 给出一个多项式\(f_1(x) = \sum_{i=0}^na_ix^i\) 对于任意\(i>=2\),满足\(f_i(x) ...

  8. AtCoder Beginner Contest 174

    第一次 ak ABC,纪念一下. 比赛链接:https://atcoder.jp/contests/abc174 A - Air Conditioner #include <bits/stdc+ ...

  9. Codeforces Round #613 (Div. 2) B. Just Eat It!(前缀和)

    题意: 一个长为n的序列,是否存在与原序列不同的连续子序列,其元素之和大于等于原序列. 思路: 从前.后分别累加,若出现非正和,除此累加序列外的子序列元素之和一定大于等于原序列. #include & ...

  10. AC自动机——看似KMP在跑,其实fail在跳

    先存代码 AC自动机(简单版) #include<bits/stdc++.h> #define maxn 1000007 using namespace std; int n,ans; i ...