真男人 发表于 2024-4-4 12:20
  
一起来学习,一起来学习
新手741261 发表于 2024-4-4 13:13
  
一起来学习,一起来学习
科思哲 发表于 2024-4-4 13:21
  
感谢楼主的分享,楼主这种钻研的精神值得我们去学习
新手899116 发表于 2024-4-7 13:45
  

支持的。还具备一定的加速功能。
司马缸砸了光 发表于 2024-4-9 23:32
  
一起来学习,一起来学习
JM 发表于 2024-4-11 11:32
  
一起来学习一起来学习
#原创分享#上网行为管理AC数据库单点登录认证对接深澜数据库
  

kitt 63671人觉得有帮助

{{ttag.title}}
本帖最后由 kitt 于 2020-5-18 09:00 编辑

0x00 背景
       客户原有深澜认证(学校及企业用户较多)系统实现全单位的互联网wifi及有线终端的实名密码认证,现购置了深信服上网行为管理一台,实现对全单位互联网用户的行为审计管理及流控,AC以网桥模式部署在出口主干上,其他网络环境不多做描述。

0x01 思路
       由于之前在上一个项目相同场景下,参照社区“SANGFOR_AC_SG_v11.0_深澜单点登录测试指导书”去实施,最终却导致和400一起排查各种问题才解决顺利解决。很明显,这种依靠第三方厂家单一开放的接口对接的方式,由于众所周知的原因,维护和更新都会比较慢,相应的BUG数量及处理时间都会随着版本更新增加。
      难道就没有更有效稳定的方式吗?
      接着通过查阅深澜认证的部署文档发现,深澜认证系统有一个核心MYSQL数据库,里面记录着所有用户及上线信息。随即想到我们AC不是有数据库认证吗,这样直接查询认证信息然后同步过来不是更稳定吗?

0x02 验证
      通过联系深澜的工程师,获取到相应数据库的地址及查询权限账号,通过数据库工具查看数据库

      我们可以看到2个重要的表单,online_radiususers

      分别查看
      可以看到online_radius存储的是实时的上线用户及相关信息。
      其中user_name为深澜认证的用户登录账号,IP为在线IP,还有MAC等信息。


      可以看到users表中存储的是用户的详细信息。
      其中user_name为深澜认证的用户登录账号,user_real_name为真实备注姓名,还有手机号等信息。


      既然数据库结构都清晰了,下面就轮到AC的设置了
      配置认证服务器
   “用户认证与管理”---“用户认证”---“认证服务器”
      点击“新增”选择“数据库服务器”


      数据库类型:MYSQL
      服务器地址:深澜数据库地址
      用户名密码:与深澜工程师联系,获取数据库服务器的登录查询权限的账号
      数据库名称:与深澜工程师联系,深澜4K数据库名为srun4k(小写)
      测试有效性,提交




      配置单点登陆查询语句
   “用户认证与管理”---“用户认证”---“单点登陆”------数据库认证
      输入查询语句
      select user_name,ip from online_radius;


      点击测试有效性,可以查询到实时在线的用户名及IP地址信息


      测试配置认证策略
    “用户认证与管理”---“用户认证”---“认证策略”
      认证方式:单点登陆
      单点登陆失败的用户:不需要认证,自动上线


     由于深澜认证允许多终端使用同一账号登陆,因此勾选允许多人同时使用


      查看在线用户信息,可以看到相关用户上线。


0x03 新的需求
       当把在线用户结果信息,呈现给客户查看时,客户却说这不是他想要的效果,他希望用户名呈现的是每个用户的真实姓名,初一听心里一想那不很简单嘛,改个查询的对象不就行了嘛,不就是把user改成user_real_name就行了,结果一试却发现不能成功,仔细查看回想之前的数据库分析发现原来online_radius这个表单里没有user_real_name这一列,user_real_name只存在users这个表单里。


      由于AC设备的方式只能通过一条语句查询数据库,且固定第一列为用户名,第二列为IP,那么我们的语句就是需要一条语句实现跨表查询并呈现结果,通过查询相关资料在数据库测试查询语句 :
      select A.user_real_name,B.ip from users A, online_radius B where A.user_name=B.user_name;
      查询结果符合期望


      更改AC数据库查询语句并测试


      测试结果有效


      确认提交后,进入测试用户组删除已有用户,让用户重新认证查看在线用户列表,结果符合客户要求。



0x04 结论
       如果采用社区原有配置文档的方式对接,明显不能满足本次项目的客户要求,也反映了作为工程师我们需要理解配置的基本原理,才能更加灵活的去面对解决客户变化的需求。
      在进行数据查询测试时,一定要仔细谨慎审核语句,避免破坏数据库完整性,同时在测试查询时加入限制语句,避免影响数据库性能。
      AC的现有的数据认证方式同步内容比较简单方式比较单一,也希望研发后期能丰富更多功能,实现灵活的与各种平台系统对接。




跨表查询.pdf

97.55 KB, 下载次数: 15

上网行为管理AC数据库单点登录认证对接深澜数据库.pdf

595.13 KB, 下载次数: 24

打赏鼓励作者,期待更多好文!

打赏
14人已打赏

发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
技术盲盒
干货满满
产品连连看
技术笔记
GIF动图学习
信服课堂视频
秒懂零信任
新版本体验
标准化排查
2023技术争霸赛专题
通用技术
每周精选
安全攻防
自助服务平台操作指引
安装部署配置
功能体验
每日一记
场景专题
技术咨询
答题自测
在线直播
问题分析处理
运维工具
玩转零信任
技术晨报
文档捉虫活动
畅聊IT
专家问答
技术圆桌
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
流量管理
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版版主

147
110
49

发帖

粉丝

关注

本版达人

新手89785...

本周建议达人

七嘴八舌bar

本周分享达人

新手76619...

本周提问达人