freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

巡风风险扫描开源系统的一些演变
2018-04-24 09:00:49

*本文原创作者:无花无酒锄作田,本文属FreeBuf原创奖励计划,未经许可禁止转载

同程SRC团队开源巡风资产风险控制系统也有一段时间了,我们临时用它作为一个简单的soc平台来使用,期间也做了一些定制化开发,此次分享,权当做个笔记吧。基于巡风我们主要做了一下几个方面的工作:

1、因为要开发自己的模块,为了不使巡风的代码显得过于混乱,所以采用flask的blueprint(蓝图)对巡风的视图层进行了模块拆分。

2、后端数据越来越多且重要性比较高,为了提高数据容灾且保证SLA,就做了mongodb副本集

3、时常要用到xunfeng的资产数据,为了方便做数据分析,就开发了几个简单的api(没有做认证)

4、临时用的人越来越多,为了提高并发,就采用了nginx做反向代理

5、用的人多了,就牵涉到权限的问题,就取巧性的暂时做了个权限限制

下面一一介绍吧!

一、对xunfeng使用blueprint

1、使用blueprint 主要会对views目录下的文件有比较大的影响,views目录截图如下:

image.png
image.png

原始目录结构和使用blueprint后的目录结构

2、我们随便进入views目录下的两个视图模块,文件截图如下:

image.png

3、如何对xunfeng使用blueprint呢,以views/view模块为例

3.1、修改__init__.py文件,截图如下:

image.png

3.2、修改view.py文件,截图如下:

image.png

3.3、为了使views/view模块生效,我们需要修改根目录下的Run.py,截图如下:

image.png

二、巡风使用mongodb副本集

1、mongodb副本集配置注意事项

1.1、参考 http://www.runoob.com/mongodb/mongodb-replication.html

1.2、mongodb配置文件,借鉴下面这个:

image.png

注意bind_ip,我当时用的0.0.0.0,没有配置成功副本集,最好指定副本集节点的IP

2、连接副本集配置

2.1、修改Config.py文件:

image.png

2.2、xunfeng连接mongodb副本集,修改Conn.py文件,参考截图:

image.png

2.3、python操作mongodb副本集,采用读写分离的方式,读mongodb采用xunfeng的配置方式就可以,写mongodb参考下面的配置,参考截图:

image.png

三、开发restful api

1、接口模块位置:

image.png

2、接口view.py文件参考截图:

image.png

四、提高xunfeng的并发处理能力

1、安装nginx,不懂的自行百度

2、pip install uwsgi

3、uwsgi的配置参考截图:

image.png

4、启动,参考截图:

image.png 

五、简单的权限限制

1、大概效果截图:

image.png

2、需要做控制的视图(view.py)代码参考截图:

image.png

3、权限控制@is_admin代码参考截图:

image.png 

六:总结

本人开发能力有限,希望有机会能从各位大牛身上学些东西,最后贴下巡风的开源地址:

https://github.com/ysrc/xunfeng

*本文原创作者:无花无酒锄作田,本文属FreeBuf原创奖励计划,未经许可禁止转载

# 风险扫描
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者