概述
基本组件
上一篇文章里面提到提到了一个基本的框架,代码层面主要涉及到了两个组件:ztserver 和 ztgw。 其中,ztserver主要有chrome插件和web管理端两个部分, ztgw主要用来做网关的功能,实现策略的检测。 ztserver实现用户和资源的管理,包括网关的主要数据配置(通过redis数据交互)。chrome插件会将用户的token置入到特定的资源请求中,实现用户在网关的认证。ztgw 根据token识别出用户,会查询redis中的用户权限数据,判断用户是否有请求该资源的权限。可以延伸一下,通过定制浏览器来替代插件,也能扩展到移动端上,也可以加入证书实现双认证,实现更多的功能,提高用户侧安全等级。
安装
安装条件
- ztserver开放了一个websocket跟用户端的插件进行通信,必须在ztserver的ws之前搭建一个web网关,客户端的IP是通过x-forwarded-for头部取值,其他无效。
- ztgw和ztserver通过redis进行数据通信,ztserver会将配置数据写入redis。
- ztgw和ztserver都会将日志写入elasticsearch(7.x),ztserver会查询elasticsearch中的数据。
- 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
管理后台说明 - Dashboard说明
. 活跃用户,代表已经连接到websocket的用户数量。
. 用户总数,代表ztserver管理的用户数。
. 资源总数,代表资源的数量(域名的数量)。
. 在线用户统计是一周之内访问ztgw的用户,即实际访问过资源的数量,目前只统计了一周之内每天的登陆的用户数。
用户管理
. 新增用户,即添加用户,需要填写正确的邮箱,目前主要以邮箱识别用户
. 配置资源,即给用户添加可以访问的资源/域名
. 初始化,后台会给用户的邮箱发送一个token(每次访问ztgw都会带这个token,通过token识别这个用户),经过对称加密,这个token需要配置到chrome插件。
资源管理
主要用来管理域名和资源的关系。
系统管理
目前只有配置邮箱,发送token的作用,一定要准确。
网关管理
目前不支持通配符,配置ztgw的证书和代理
行为审计
分别记录了连接websocket的信息和访问ztgw的信息
网关说明
- 网关的日志会写入rsyslog,通过定制rsyslog实现转发。
- 支持kafka消息通信,可以写入kafka进行转发。
说明 - 其他细节说明,可以参考具体得doc文档,都有说明。
- 实现模型比较简单,后面会持续更新,欢迎issue 和 star。
- 问题讨论 Q群: 254210748。
最后
以上就是孝顺花瓣为你收集整理的信息安全建设之基于开源搭建零信任网关-实践篇的全部内容,希望文章能够帮你解决信息安全建设之基于开源搭建零信任网关-实践篇所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复