1、背景及目标
赤霄”实战攻防演练管理系统后端采用python+django开发,前端采用javascript + html,在保证代码的可读性、易修改性、易拓展性、跨平台性的同时兼顾低难度、高可用性,由于python的特性,现场实施人员甚至能够根据客户要求现场修改功能以满足客户需求,部署极易,能够在3分钟内启动环境。
可根据攻防环境需要,挂载safeware安全态势感知系统进行演练流量捕获,流量审计等功能。
本平台为轻量化平台,为提供3-5支攻防团队进行攻防演练而设计。
2、功能
本平台采用以成果报告为核心的整体逻辑架构,即红方成员/蓝方成员提交报告、裁判审核报告、大屏展示,在能够满足正常攻防演练活动功能的前提下,减少了大量非必要的功能。
攻击成果展示大屏可滚动显示攻击成果详情、攻击风险级别、裁判评审结果等内容。
攻防实况大屏能够展示单次演习中的攻击威胁总数,满足从综合统计、实时监测、威胁统计三个维度展示攻击实况,攻防实况大屏提供3D街景视角展示。
1、整体架构
使用django框架搭建,使用nginx中间件,前端使用js+CSS实现页面演示效果,由于为小型平台,因此使用sqllite轻量化数据库存储数据。
登录界面
使用ImageCaptcha模块开发验证码功能,防止爆破,不同角色拥有不同地址的登录页面,输入正确账户名密码后,将在后端数据库中维护当前用户cookie,cookie将维持24小时,过后自动清理,cookie由前端自动生成,登录后界面全部使用cookie进行身份校验。
管理员界面
管理员登录后,能够进行登录地址管理,演练设置,演练人员设置,演习大屏及地图大屏配置
管理员可创建演练,同一时间仅可开始一场演练,大屏将根据当前开始的演练自动切换数据,并根据数据库中的内容自动获取统计信息,时间信息等。
管理员可进行团队创建,包含蓝方团队,红方团队,裁判等,创建团队后可进行名称编辑,添加成员等操作,团队成员可进行编辑账户名密码,身份证号等信息
裁判界面
裁判登录后,能够查看红蓝方排名情况,能够对红蓝方报告进行审核打分,页面中可显示团队报告总数及待审核报告,已审核报告可取消审核重新打分。
红蓝方界面
红蓝方成员登录后,可查看排名,提交报告,报告上传后需进行提交,提交后不可修改,若需修改需撤回提交,裁判审核后无法修改,若需修改需联系裁判取消审核。
排名大屏
该大屏为动态页面,自动展示红蓝方前五名排名,并在中心显示当前团队攻击类型,下方为统计信息
地图大屏
地图大屏使用fbx模型,该模型可手动导入,能够显示当前团队成绩,成绩按时间统计信息等,使用chart.js、OrbitControls.js、three.min.js、FBXLoader.js等库实现,前后端通信使用接口方式实现,页面动态请求后端接口获取实时数据
2、所负责的模块
全程由本人一人进行开发,包含前端、后端、页面设计等所有工作