ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

深信服SSL远程接入与深信服行为审计同步登陆用户信息

2020-11-11 07:52:41  阅读:340  来源: 互联网

标签:数据中心 接入 信服 用户 外置 SSL user 日志


本文主要针对同时使用深信服SSL设备和深信服行为审计设备的情况下,如何在AC行为审计上同步SSL的用户登录信息。

整体思路:

1、SSL部署外置数据中心,通过获取外置数据中心MYSQL数据库内的用户行为日志,得到User_Nme和IP_Address字段的对应关系。
2、深信服行为审计设备使用数据库认证的单点登录方式,从数据库拉取User_Nme和IP_Address字段的对应关系

实现方式和部署方式


一、设备基础环境部署

1、SSL设备部署特别需要注意,SSL后的流量不能做NAT,需要让用户流量携带真实的虚拟IP作为源IP在网内进行转发。
**登录SSL 网关,系统设置>SSL ***选项>系统选项>资源服务选项
根据你使用的隧道方式,将WEB应用,TCP应用,L3应用的资源访问模式,设置为使用分配的虚拟IP地址作为源地址。不知道用啥方式的就把三个都改了。
在这里插入图片描述
2、做好IP地址段规划,配置虚拟IP池的配置。此网段是用户连接后获取的客户端地址,正常情况下应规划为内网网段。不要乱用公网地址段。
在这里插入图片描述
3、全网核心或其他三层路由设备需要配置静态路由,将SSL用户网段路由下一条指向SSL网关设备。

 ip route-static 10.0.11.0 24 10.0.20.250
 ip route-static 10.0.12.0 24 10.0.20.250
 ip route-static 10.0.13.0 24 10.0.20.251
 ip route-static 10.0.14.0 24 10.0.20.251
 ip route-static SSL用户地址 掩码 SSL设备内网地址

在这里插入图片描述
4、配置好行为审计设备。在行为审计上可以抓到用户通过行为审计设备后的流量。可以结合实际网络方案选择镜像流量送到AC,或者直接把AC串在骨干链路上。
行为审计设备能看到流量和在线用户就可以了
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=2020030722382770.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l0bHpxMDIyOA==,size_16,color_FFFFFF,t_70 =400x)
在这里插入图片描述
现在,我们要做的事情的意义就来了
行为审计默认以IP地址或者MAC地址作为用户名,看不到是哪个用户在使用这个IP


二、SSL外置数据中心部署

深信服提供一个外置数据中心的软件,可以接受SSL的用户日志并写入数据库。
1、下载安装
http://download.sangfor.com.cn/download/product/ssl***/SSL***_DC_5.7_SP2_for_Windows2008&2012.exe.7z
找一台windows server 2012的服务器装上就好了。
部署手册:
https://bbs.sangfor.com.cn/plugin.php?id=sangfor_databases:index&mod=viewdatabase&tid=26478
2、SSL配置连接到外置数据中心,确保windows的防火墙放行相关端口,确保连接数据中心的PSK是正确的。
在这里插入图片描述
3、外置数据中心web控制台使用https://IP 方式登录,系统管理员的用户名和密码默认是Admin、Admin。注意用户名区分大小写。
4、确认设备连接状态正常,确认“外置数据中心”可以获取目前用户的连接日志。
![](https://www.icode9.com/i/ll/?i=20200307225543712.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l0bHpxMDIyOA==,size_16,color_FFFFFF,t_70 =400x)
在这里插入图片描述
到这为止,外置数据中心正常工作。用户的访问流量日志记录到此服务器的一台本地MySQL数据库里。


三、连接并处理SSL外置数据中心数据库

1、连接数据库

目前深信服最新的Windows Server版本外置数据中心的数据库连接信息如下:

MYSQL路径:
C:\Program Files (x86)\Sangfor\SSL\LogKeeper\mysql
用户名:root
密码:root
端口:1126

2、外置数据中心管理的每一个节点,都会在MySQL内建立一个数据库。

在这里插入图片描述
每个node数据库下的usrbasiclog表记录了该节点对应的SSL网关设备上用户访问的行为日志。
该表的关键字段:
record_id:日志记录序号
User_name:登录用户名
addrtess:二进制转整形格式的IP地址
log_time:日志记录的时间戳
message:日志文本体
user_action:日志行为类型(登录/注销/访问资源)
在这里插入图片描述

3、获取用户名和IP地址对应关系

整体思路是获取最近120分钟之内,每个IP地址最近的一条日志中的User_name

(select user_name,INET_NTOA(address),log_time
from 
(select * from node3.usrbasiclog 
where user_action=3  and TIMESTAMPDIFF(MINUTE,LOG_TIME,now())<120  
ORDER BY user_name,address,log_time DESC) a 
GROUP BY a.address
)

![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200307231323101.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l0bHpxMDIyOA==,size_16,color_FFFFFF,t_70 =400x)
需要注意的几点:
1、TIMESTAMPDIFF(MINUTE,LOG_TIME,now())&lt;120
表示获取最近120分钟的记录,如果一个IP120分钟没有产生任何新日志,这个用户基本就是下线了。此时间与AC行为审计设备中的,用户无流量超时下线时间配置一样即可。
在这里插入图片描述
2、user_action=3
User_action字段表示日志类型,1表示上线,-1表示下线,3表示访问资源。
3、INET_NTOA(address)
将INT格式的IP地址转换成点分十进制格式的字符串。

4、创建查询视图

到此为止,已经可以获取IP地址和用户名的对应关系了,但是上面这段SQL是不能直接用于创建视图的。MySQL的视图不支持嵌套子查询。
修改SQL语句使用左连接,并提前创建子视图。

CREATE VIEW `sinforglobaldb`.`max_record_node3` AS 
SELECT
    MAX( record_id ) AS record_id 
FROM
    node3.usrbasiclog 
WHERE
    user_action = 3 
    AND TIMESTAMPDIFF(
        MINUTE,
        LOG_TIME,
    now())< 120 
GROUP BY
    address 
ORDER BY
    record_id;
#获取每个IP地址的最新的记录的recore_id
CREATE VIEW `sinforglobaldb`.`user_ip_node3` AS SELECT
    tba.record_id,
    tbb.user_name,
    INET_NTOA( tbb.address ) as address,
    tbb.log_time 
FROM
    max_record_node3 tba
    LEFT JOIN node3.usrbasiclog tbb ON tba.record_id = tbb.record_id;
#左连接刚刚创建的max_record_node3和usrbasiclog。获取最新record_id对应的用户信息

![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200308165243341.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l0bHpxMDIyOA==,size_16,color_FFFFFF,t_70 =400x)

5、创建多个节点的UNION连接视图

如果,你的外置数据中心有多个节点,最终通过UNION把多个node的查询结果连接起来

CREATE VIEW `sinforglobaldb`.`user_cpn_ip` AS 
SELECT
user_name,address
FROM
    user_ip_node3
UNION ALL
SELECT
user_name,address
FROM
    user_ip_node4;

最终,我们得到了user_cpn_ip这个视图,就是我们需要的最终查询视图。


四、AC行为审计设备获取用户连接信息

1、添加SSL外置数据中心的数据库作为外部认证数据库
在这里插入图片描述
在这里插入图片描述
2、添加单点登录服务器配置
数据库服务器选择刚才新添加的数据库服务器
查询语句:select * from user_cpn_ip
在这里插入图片描述
3、配置单点登录策略
适用范围填写用户连接后的地址段。
之前强烈要求用户流量不能过NAT,需要携带连接后的虚拟IP作为源IP参与转发,就是为了保证,行为审计上可以看到用户虚拟IP的流量。
在这里插入图片描述
认证方式选项卡内,认证方式选择单点登录。同时单点登录失败的用户配置使用以IP地址作为用户名。
在这里插入图片描述
配置完成之后,目前到达行为审计设备的流量,会触发此条认证策略创建用户。
并且,创建用户的时候,会通过之前关联的认证数据库,自动获取用户名!!
在这里插入图片描述
阶段性胜利!!!!


五、配置外置数据中心数据库更新时间

SSL 外置数据中心日志同步是实时同步,但是外置数据中心用户资源访问日志会先缓存到文件中,然后再把文件整体导入到mysql中。默认缓存的时间间隔是10分钟。所以在外置数据中心查询日志需要10分钟之后才能查询,因此用户连接后会存在10分钟的时间无法获取连接用户名。
解决方式:
1、找到配置文件目录:
C:\Program Files\Sangfor\SSL\LogKeeper\slbs\Config\SlbsAdv.conf,修改DataFilterUserTime字段的值为1,默认为10 ,单位为分钟
2、修改保存之后重启LogKeeper服务
在这里插入图片描述
在这里插入图片描述

搞定!

标签:数据中心,接入,信服,用户,外置,SSL,user,日志
来源: https://blog.51cto.com/1737585/2549131

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有