将本扫描平台命名为E-Scan
平台搭建背景
需求
进行网络安全扫描,和对文件系统进行杀毒扫描一样,杀毒扫描需要病毒特征库,网络安全扫描需要漏洞攻击库,而且这些库都在各自更新,除了可以自由使用的版本,有的还有昂贵的商业版本。因此,仅用一款扫描工具是不够的,要尽量多找不同的工具、使用不同来源的漏洞攻击库。因此,需要建立一个综合各种扫描工具、支持多种漏洞攻击库的集成系统,服务于生产,也可以服务教学需求。
目标
基本的期望形式是:
1、一个docker容器(save或export)导出的镜像包格式,这样便于发行、部署和使用;
2、有个Web界面;
3、有n个分类的、m个扫描器,可以组合使用,一键扫描;
4、功能或特性等方面:
- 能扫描网站,也能扫描操作系统;
- 能扫windows,也能扫linux;
- 能黑盒模式,也能白盒模式扫描;
- 能更新扫描库
5、能出具关于扫描结果的综合性中文版本的报告。不要仅仅提供每个工具各自单独的扫描报告,那种看不懂;
6、给出安全改进建议;
扫描平台初步搭建(一)
开发框架
前端界面采用vue架构,后端采用springboot架构
开发设想
目前仅仅接触nmap,所以制作了一个有关nmap的在线扫描平台,后期会渐渐根据自己的使用情况逐渐增加工具并进行整合
初步设想是,用户在前端输入命令,后端在系统环境中执行命令,但听闻还有一种agent的高大上技术,后期会去了解
前端搭建
本次前端也是第一次采用vue架构,之前有了解过,但感觉这个上手可能不是太容易,但经过短时间学习和有过小程序开发经验后,基本的用法还是比较好掌握的,最重要的特点就是组件化,感觉vue是一层一层嵌套的,像最外层就是index.html来封装的,具体细节不做过多介绍,坑挺多,不过挺好用的(结合element-ui)
得开发结束后会将代码传至github
下面是界面展示:
- 首页
- 扫描页
- 日志页
- 详细日志页
详细日志页使用的是nmap的模板生成的html界面
后台搭建
后台用的是自己比较熟悉的springboot,也没啥好说的
目前数据库只有两张表user和command,结构如下
- user
- command
但是由于没有搞懂springboot下的thymeleaf怎样更改到工程外文件路径,所以采用了一种简单的方式,让扫描生成的html文件能被访问到:python -m SimpleHTTPServer 8081
后期展望
目前先将架子建设完毕,然后测试各开源扫描工具,进行介绍与集成