该脚本是根据https://cassandra.cerias.purdue.edu/CVE_changes/today.html 监控最新CVE信息。然后入库并发送结果到邮件。 主要包括以下几个方面。
- 获取最新的CVE列表和详情 主要采用了python的requests模块和BeautifulSoup模块。
- 将最新的CVE信息存入数据库 数据库使用了Mongodb,采用了pymongo模块。
- 通过邮件发送最新的CVE信息 发送邮件采用了smtplib模块。
- 定时执行任务 使用了linux的crontab来实现。
使用方法:
- 下载脚本,按装所需的依赖库
requirements.txt
pymongo==3.6.0
requests==2.18.4
beautifulsoup4==4.6.0
-
数据库操作
这里采用的是Mongodb,也可以换成其他数据库。或者不用数据库(不用的话将相关的代码屏蔽即可)。
1.数据库安装 Ubuntu下可以使用
apt-get install mongodb。CentOS下的安装可以参考CentOS 安装MongoDB2.创建数据库存储文件位置
mkdir /var/data/ #创建数据存储位置
mongod --port 65521 --dbpath /var/data/ --bind_ip 127.0.0.1 #启动mongodb,指定端口和路径,且仅本机可连
mongo 127.0.0.1:65521/mydb
db.createUser({user:'tass',pwd:'liehu',roles:[{role:'dbOwner',db:'mydb'}]}) #添加认证3.修改代码中数据库配置
def addData(data):
DBNAME = 'mydb'
DBUSERNAME = 'tass'
DBPASSWORD = 'liehu'
DB = '127.0.0.1'
PORT = 65521- 修改邮箱信息为自己的
def sendEmail(mail_msg): # 发送邮件
sender = 'from@163.com' # 发件人
password = 'password' # 发件人密码
receiver = 'receiver@163.com' # 收件人