freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

信息安全建设之基于开源搭建零信任网关-实践篇
2021-11-05 17:32:15

基本组件

上一篇文章里面提到提到了一个基本的框架,代码层面主要涉及到了两个组件:ztserver 和  ztgw。 其中,ztserver主要有chrome插件和web管理端两个部分, ztgw主要用来做网关的功能,实现策略的检测。 ztserver实现用户和资源的管理,包括网关的主要数据配置(通过redis数据交互)。chrome插件会将用户的token置入到特定的资源请求中,实现用户在网关的认证。ztgw 根据token识别出用户,会查询redis中的用户权限数据,判断用户是否有请求该资源的权限。可以延伸一下,通过定制浏览器来替代插件,也能扩展到移动端上,也可以加入证书实现双认证,实现更多的功能,提高用户侧安全等级。

安装

安装条件

  1. ztserver开放了一个websocket跟用户端的插件进行通信,必须在ztserver的ws之前搭建一个web网关,客户端的IP是通过x-forwarded-for头部取值,其他无效。
  2. ztgw和ztserver通过redis进行数据通信,ztserver会将配置数据写入redis。
  3. ztgw和ztserver都会将日志写入elasticsearch(7.x),ztserver会查询elasticsearch中的数据。
  4. ztserver依赖ztgw网关的firewalld-cmd 将允许访问ztgw的客户端IP写入ipset,比如:
    rule family="ipv4" source ipset="test" port port="8080" protocol="tcp" accept
    rule family="ipv4" source ipset="test" port port="8443" protocol="tcp" accept
    上面的ipset的名称即为test, 端口和协议通过rich-rule进行指定。测试环境centos8通过

管理后台说明

  • Dashboard说明

. 活跃用户,代表已经连接到websocket的用户数量。

. 用户总数,代表ztserver管理的用户数。

. 资源总数,代表资源的数量(域名的数量)。

. 在线用户统计是一周之内访问ztgw的用户,即实际访问过资源的数量,目前只统计了一周之内每天的登陆的用户数。

  • 用户管理

. 新增用户,即添加用户,需要填写正确的邮箱,目前主要以邮箱识别用户

. 配置资源,即给用户添加可以访问的资源/域名

. 初始化,后台会给用户的邮箱发送一个token(每次访问ztgw都会带这个token,通过token识别这个用户),经过对称加密,这个token需要配置到chrome插件。

  • 资源管理

主要用来管理域名和资源的关系。

  • 系统管理

目前只有配置邮箱,发送token的作用,一定要准确。

  • 网关管理

目前不支持通配符,配置ztgw的证书和代理

  • 行为审计

分别记录了连接websocket的信息和访问ztgw的信息

网关说明

  • 网关的日志会写入rsyslog,通过定制rsyslog实现转发。
  • 支持kafka消息通信,可以写入kafka进行转发。

说明

  • 其他细节说明,可以参考具体得doc文档,都有说明。
  • 实现模型比较简单,后面会持续更新,欢迎issue 和 star。
  • 问题讨论 Q群: 254210748。

本文作者:, 转载请注明来自FreeBuf.COM

# 企业安全 # 数据安全
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑