文档章节

堡垒机-麒麟开源堡垒机代码分析-应用发布帐号同步部分

网安1476
 网安1476
发布于 2016/05/30 18:09
字数 418
阅读 26
收藏 0

一、任务简介:

账号同步任务,同步的对象是数据库的账户信息和发布机的本地账户,它是一个后台的服务程序,监听一个端口,接收客户端的请求,处理来自客户端的四种命令:(1)扫描全表,同步账号;(2)添加指定的账号;(3)禁用指定的账号(4)生成BHO配置文件。其中命令(1)最为复杂,需要同时考虑数据库中的账号和本地的账号;所有的同步基础以数据库中的账号为准,如果数据库中有,但是本地没有,那就在本地自动新建账号;如果数据库没有,但是本地没有,那就将本地的账号禁用。具体的逻辑可参考代码。

二、核心代码剖析:

(1)AccounsSyncService程序分析:

n Config文件夹,配置文件

n AccountsSyncService.cs,账号同步的主程序:

p 启动服务,开启一个线程,监听端口:StartService()、OnStart()、Listen()

p 接收账号同步的命令,并执行账号同步的四种操作:AccounsSync()

p 初始化数据库连接:InitializeTables()

p 创建BHO页面密码填充的配置文件:CreateBhoLoginXml()

(2)AccountManagement程序分析:

n AccountManager.h、AccountManager.cpp:包括添加账号、删除账号、添加组、删除组、禁用账号、启用账号、修改密码等操作

(3)ServiceInstall程序分析:后台服务程序安装文件生成项目,可以将后台的服务程序自动生成可以双击安装的可执行文件“.msi”文件

 

堡垒机 

 

© 著作权归作者所有

共有 人打赏支持
网安1476

网安1476

粉丝 19
博文 34
码字总数 38654
作品 1
朝阳
技术主管
私信 提问
麒麟开源堡垒机 V1.31d 版本发布

麒麟开源堡垒机 V1.31d 版本发布了,本次主要更新: 1.修改了审计管理员的若干BUG 2.修改应用发布的帐号同步服务在某些情况下挂死的BUG 3.修改了LDAP认证支持的不兼容问题 系统简介:麒麟开源...

网安1476
2016/06/27
2.5K
8
麒麟开源堡垒主机在等保上的合规性分析

信息安全等级保护工作包括定级、备案、安全建设和整改、信息安全等级测评、信息安全检查五个阶段。 我国的信息安全等级保护共分为五级,级别越高,要求越严格。 我国的信息安全等级保护主要标...

网安1476
2016/05/14
2.6K
1
麒麟开源堡垒机 V1.1 正式发布

麒麟开源堡垒机 V1.1 正式发布了,麒麟堡垒机由资深软件开发人员发起,开发开始于2009年9月,开发主要成员共计有5个人,开发地点位于北京。系统经过现场严格的压力、性能、功能测试,使用稳定...

网安1476
2016/04/27
3.2K
8
麒麟开源堡垒机 V1.40 发布,新增5大功能

麒麟开源堡垒机 V1.40 版本发布了,本次主要更新: 功能增加: 1.应用发布修改为REMOTEAPP,增加了私有/公有盘功能 2.增加了密码加密 的AES算法支持 3.系统监控(网管部分)发布,可以监控服...

网安1476
2016/10/27
3.8K
10
麒麟开源堡垒机双因素认证功能(动态口令、CA证书)发布

堡垒机经常成为企业内部安全的薄弱环节,堡垒机内部保存所有的设备资产和权限关系,一旦堡垒机被入侵,则意味很多时候黑客得到了登录服务器、网络设备的权限。 堡垒机口令是堡垒机安全的第一...

网安1476
2016/05/24
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

import java.util.Stack; public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { if(pushA.length==0||popA.length==0) return false; Stack......

南桥北木
42分钟前
1
0
互联网浪潮下,Java程序员如何追赶技术革新的脚步?

一:时代背景 身处互联网行业的我们一直处在变革的最前端,受到行业发展浪潮的洗礼,不停歇地追赶着技术革新的脚步。特别是近几年来, 互联网架构不断演化,经历了从集中式架构到分布式架构,...

老道士
49分钟前
1
0
flink系列(9)-flink启动流程分析

连续写了几天的flink StreamGraph的代码,今天闲来说一下flink的启动

yiduwangkai
今天
1
0
取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
今天
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部