Zookeeper集群的”脑裂”问题处理 – 运维总结

  categories:资料  author:

关于集群中的”脑裂”问题,之前已经在这里详细介绍过,下面重点说下Zookeeper脑裂问题的处理办法。ooKeeper是用来协调(同步)分布式进程的服务,提供了一个简单高性能的协调内核,用户可以在此之上构建更多复杂的分布式协调功能。脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群,而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Master节点,Zookeeper集群中有Leader节点。

一、 Zookeeper 集群节点为什么要部署成奇数
zookeeper容错指的是:当宕掉几个zookeeper节点服务器之后,剩下的个数必须大于宕掉的个数,也就是剩下的节点服务数必须大于n/2,这样zookeeper集群才可以继续使用,无论奇偶数都可以选举leader。例如5台zookeeper节点机器最多宕掉2台,还可以继续使用,因为剩下3台大于5/2。那么为什么最好为奇数个节点呢?是在以最大容错服务器个数的条件下,会节省资源。比如,最大容错为2的情况下,对应的zookeeper服务数,奇数为5,而偶数为6,也就是6个zookeeper服务的情况下最多能宕掉2个服务,所以从节约资源的角度看,没必要部署6(偶数)个zookeeper服务节点。

zookeeper集群有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper节点,那么只要有1个zookeeper节点死了,那么zookeeper服务就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;同理也可以多列举几个:2->0; 3->1; 4->1; 5->2; 6->2 就会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper呢。

根据以上可以得出结论:从资源节省的角度来考虑,zookeeper集群的节点最好要部署成奇数个!!

二、 Zookeeper 集群中的”脑裂”场景说明
对于一个集群,想要提高这个集群的可用性,通常会采用多机房部署,比如现在有一个由6台zkServer所组成的一个集群,部署在了两个机房:

正常情况下,此集群只会有一个Leader,那么如果机房之间的网络断了之后,两个机房内的zkServer还是可以相互通信的,如果不考虑过半机制,那么就会出现每个机房内部都将选出一个Leader。

这就相当于原本一个集群,被分成了两个集群,出现了两个”大脑”,这就是所谓的”脑裂”现象。对于这种情况,其实也可以看出来,原本应该是统一的一个集群对外提供服务的,现在变成了两个集群同时对外提供服务,如果过了一会,断了的网络突然联通了,那么此时就会出现问题了,两个集群刚刚都对外提供服务了,数据该怎么合并,数据冲突怎么解决等等问题。刚刚在说明脑裂场景时有一个前提条件就是没有考虑过半机制,所以实际上Zookeeper集群中是不会轻易出现脑裂问题的,原因在于过半机制。

zookeeper的过半机制:在领导者选举的过程中,如果某台zkServer获得了超过半数的选票,则此zkServer就可以成为Leader了。

举个简单的例子:如果现在集群中有5台zkServer,那么half=5/2=2,那么也就是说,领导者选举的过程中至少要有三台zkServer投了同一个zkServer,才会符合过半机制,才能选出来一个Leader。

有个疑问:zookeeper选举的过程中为什么一定要有一个过半机制验证?
因为这样不需要等待所有zkServer都投了同一个zkServer就可以选举出来一个Leader了,这样比较快,所以叫快速领导者选举算法。

再来想一个问题,过半机制中为什么是大于,而不是大于等于呢?这就是更脑裂问题有关系了,比如回到上文出现脑裂问题的场景[如上图1]:

当机房中间的网络断掉之后,机房1内的三台服务器会进行领导者选举,但是此时过半机制的条件是 “节点数 > 3″,也就是说至少要4台zkServer才能选出来一个Leader,所以对于机房1来说它不能选出一个Leader,同样机房2也不能选出一个Leader,这种情况下整个集群当机房间的网络断掉后,整个集群将没有Leader。

而如果过半机制的条件是 “节点数 >= 3″,那么机房1和机房2都会选出一个Leader,这样就出现了脑裂。这就可以解释为什么过半机制中是大于而不是大于等于,目的就是为了防止脑裂。

如果假设我们现在只有5台机器,也部署在两个机房:

此时过半机制的条件是 “节点数 > 2″,也就是至少要3台服务器才能选出一个Leader,此时机房件的网络断开了,对于机房1来说是没有影响的,Leader依然还是Leader,对于机房2来说是选不出来Leader的,此时整个集群中只有一个Leader。所以可以简单总结得出,有了过半机制,对于一个Zookeeper集群来说,要么没有Leader,要么只有1个Leader,这样zookeeper也就能避免了脑裂问题。

三、 Zookeeper 集群”脑裂”问题处理
1. 

阅读全文

Spring事务失效事件

  categories:资料  author:

近期遇到一个spring注解事务失效的问题,先上代码(以下代码经过简化,只保留关键点)。

        没耐心的朋友可以直接看最下面结论。

第一部分:具体问题

接下来上一下代码,大致介绍一下流程。

Controller

Controller里面使用@Autowired注入了一个serviceImpl,然后调用这个serviceImpl的业务方法。

ServiceImpl的属性

自动装配了另一个service和一个dao

重点看serviceImpl的方法(经过简化,只保留了关键点)

红框是两个insert数据库操作,需要事务管理

最下面的抛出异常是为了测试事务。

其中红框里面的super.addNew方法上有@Transactional(rollbackFor = Exception.class)注解。所以看上去并没有什么问题,但是每次抛出异常,数据库的操作都没有回滚。

问题大致就是这样,本来以为事情会很容易被解决,因为在网上看过很多事务失效的例子,各种原因被各种大神列举了很多次了。

第二部分:常规问题解决


普通事务失效原因:

1.如使用mysql且引擎是MyISAM,则事务会不起作用,原因是MyISAM不支持事务,可以改成InnoDB

2. 如果使用了spring+mvc,则context:component-scan重复扫描问题可能会引起事务失败。 (即父子容器)

3. @Transactional 注解开启配置,必须放到listener里加载,如果放到DispatcherServlet的配置里,事务也是不起作用的。

4. @Transactional 注解只能应用到 public 可见度的方法上。 如果你在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错,事务也会失效。

5. Spring团队建议在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。在接口上使用 … 阅读全文

Guava平滑限流

  categories:资料  author:

1.常用限流方法
对于一个应用系统来说一定会有极限并发/请求数,即总有一个TPS/QPS阀值,如果超了阀值则系统就会不响应用户请求或响应的非常慢,因此我们最好进行过载保护,防止大量请求涌入击垮系统。

常见的限流方法有:

容器限流

常见的web容器其实也具备限流的功能。

以Tomcat容器为例,其Connector 其中一种配置有如下几个参数:

acceptCount:如果Tomcat的线程都忙于响应,新来的连接会进入队列排队,如果超出排队大小,则拒绝连接;

maxConnections: 瞬时最大连接数,超出的会排队等待;

maxThreads:Tomcat能启动用来处理请求的最大线程数,如果请求处理量一直远远大于最大线程数则可能会僵死。

限流总资源数

如果有的资源是稀缺资源(如数据库连接、线程),而且可能有多个系统都会去使用它,那么需要限制应用;可以使用池化技术来限制总资源数:连接池、线程池。比如分配给每个应用的数据库连接是100,那么本应用最多可以使用100个资源,超出了可以等待或者抛异常。

限流某个接口的总并发/请求数

如果接口可能会有突发访问情况,但又担心访问量太大造成崩溃,如抢购业务;这个时候就需要限制这个接口的总并发请求数了;因为粒度比较细,可以为每个接口都设置相应的阀值。可以使用Java中的AtomicLong进行限流:

try {
if(atomic.incrementAndGet() > 限流数) {
//拒绝请求
}
//处理请求
} finally {
atomic.decrementAndGet();
}

利用Netflix的hystrix限流

2.漏桶算法 VS 令牌桶算法
2.1 漏桶算法(Leaky Bucket)
漏桶算法(Leaky Bucket):水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数据的传输速率.示意图如下:

可见这里有两个变量,一个是桶的大小,支持流量突发增多时可以存多少的水(burst),另一个是水桶漏洞的大小(rate)。

2.2 … 阅读全文

spring security安全防护

  categories:资料  author:

前言

xss攻击(跨站脚本攻击):攻击者在页面里插入恶意脚本代码,用户浏览该页面时,脚本代码就会执行,达到攻击者的目的。原理就是:攻击者对含有漏洞的服务器注入恶意代码,引诱用户浏览受到攻击的服务器,并打开相关页面,执行恶意代码。
xss攻击方式:一、反射性攻击,脚本代码作为url参数提交给服务器,服务器解析执行后,将脚本代码返回给浏览器,最后浏览器解析执行攻击代码;二、存储性攻击,和发射性攻击的区别是,脚本代码存储在服务器,下次在请求时,不用再提交脚本代码。其中一个示例图如下所示:

CSRF攻击:跨站请求伪造攻击,CSRF是一种欺骗受害者提交恶意请求的攻击,并劫持受害者的身份和特权,并以受害者的身份访问未授权的信息和功能。序列图如下所示:

同步器Token

解决XSS攻击和CSRF攻击的一个推荐方法就是同步器Token,就是在post的请求中,增加一个token,每次请求到来,服务器都会验证请求中的token和服务器期望的值是否一致,如果不一致,服务器将请求视为非法的,整个过程的示例图如下所示:

在spring security中如果使用的是 @EnableWebMvcSecurity而不是@EnableWebSecurity,同步器Token是默认打开的,通过http().csrf().disable()可以关闭同步器token功能。spring security发现token无效后,会返回一个403的访问拒绝,不过可以通过配置AccessDeniedHandler类处理InvalidCsrfTokenException异常来定制行为。

spring security虽然默认是打开同步器token保护的,但是也提供了一个显示打开的行为即http().csrf(),同时需要在html的form表单中添加以“<input type=”hidden”name=”${_csrf.parameterName}” value=”${_csrf.token}”/>”

如果请求的是json或ajax请求,如何使用同步器token防护那?
json请求的话,我们可以在header的元数据中添加token防护,代码如下所示:

<head>
<meta name="_csrf" content="${_csrf.token}"/>
<!-- default header name is X-CSRF-TOKEN -->
<meta name
阅读全文

tomcat中server.xml中Connector各个参数的意义

  categories:资料  author:

1. port

    tomcat作为一个网络server端,它需要暴露一个socket端口来accept客户端的链接,可以通过port指定.

2. protocol

使用的网络协议,表示tomcat使用何种方式来接受和处理client端请求,”HTTP/1.1″是默认值,等效于”org.apache.coyote.http11.Http11Protocol”;还有熟悉的”AJP/1.3″;关于HTTP和AJP两种方式的区别和性能优劣可以参见其他文档。【文档】

在Tomcat 6.0之后,还提供了NIO的方式,可以有效的提升性能,特别是在大量长连接/数据上传+下载等web应用中.此时portocal=”org.apache.coyote.http11.Http11NioProtocol”.

tomcat目前支持:BIO、NIO、NIO2、APR四种IO模型,默认为BIO。对于互联网应用,我们应该在NIO、NIO2之间做选择,因为它能够有效的提升性能(主要是并发能力),其中NIO2即为AIO,需要JDK 1.7+、Linux 2.6+才能支持。

BIO:JDK 1.5+,tomcat 5.x+

NIO:JDK 1.6+,tomcat 6.x+

NIO2:JDK 1.7+,tomcat 7.x+

为了保守起见,我们暂且基于NIO模式。

3. connectionTimeout

当client与tomcat建立连接之后,在”connectionTimeout”时间之内,仍然没有得到client的请求数据,此时连接将会被断开.此值的设定需要考虑到网络稳定型,同时也有性能的考虑.它和tcp的配置选项中的”socket_timeout”仍有区别,connectionTimeout只会在链接建立之后,得到client发送http-request信息前有效.

默认值为60000,即60秒;对于互联网应用,此值我们应该设置合理,比如20000。

4. maxHeaderCount

http请求中header的最大个数,默认为100,”-1″表示不限制,通常不会关注此属性,不过在一些设计”扭曲”的web应用中,使用header传递大量参数(:post)和校验信息时,可能需要调整此值.如果请求中的header个数超过此限定值,请求将会被拒绝.(避免恶性攻击,建议此值设置为符合application的实际需要)

5. maxParameterCount

http-get请求中允许传递的查询字符串的最大个数,尽管各种http浏览器(proxy工具)都会对http-get请求的长度和查询字符串的个数有限制,你仍然可以通过tomcat再次设定合适的值.parameter个数越多,事实上对tomcat的内存开支更大,很多时候处于安全或者实用的角度考虑,maxParameterCount的值都不会太大.默认值为10000,”-1″表示无限制.如果请求中参数的个数超过限定值,请求将会被拒绝.(为了避免恶性攻击,请根据application实际需要设定此值。)

为了安全和规范,maxHeaderCount和maxParamterCount通常应该合理,建议设置为100等;如果请求参数再多,那么就建议使用post body发送或者拆分请求。

6. maxPostSize

http-post请求中数据(body)的最大尺寸,单位:byte,默认值为2M.这对一些表单提交(较多文本域)有影响.可以适度调整此值,大文件上传一般会在client拆分成小文件,而不是直接发送.

7. URIEncoding

http-get请求中,使用何种字符集对查询字符串进行编码,默认为”iso-8859-1″.

8. 

阅读全文

十大黑客常用渗透测试工具

  categories:资料  author:

现在,安全研究者对网站或者应用程序进行渗透测试而不用任何自动化工具似乎已经越来越难。因此选择一个正确的工具则变得尤为重要,正确的选择甚至可以占到渗透测试成功的半壁江山。

1. Nmap

Nmap一直是网络发现和攻击界面测绘的首选工具。从主机发现和端口扫描,到操作系统检测和IDS规避/欺骗,Nmap 是不少黑客及脚本小子爱用的工具 。

系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用Nmap来搜集目标电脑的网络设定,从而计划攻击的方法。

Nmap通常用在信息搜集阶段,用于搜集目标机主机的基本状态信息。扫描结果可以作为漏洞扫描、漏洞利用和权限提升阶段的输入。例如,业界流行的漏洞扫描工具Nessus与漏洞利用工具Metasploit都支持导入Nmap的XML格式结果,而Metasploit框架内也集成了Nmap工具(支持Metasploit直接扫描)。

Nmap不仅可以用于扫描单个主机,也可以适用于扫描大规模的计算机网络(例如,扫描英特网上数万台计算机,从中找出感兴趣的主机和服务)。

下载地址:nmap.org/

2. Metasploit

Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程学。

最为知名的是Metasploit框架。Metasploit框架使Metasploit具有良好的可扩展性,它的控制接口负责发现漏洞、攻击漏洞,提交漏洞,然后通过一些接口加入攻击后处理工具和报表工具。Metasploit框架可以从一个漏洞扫描程序导入数据,使用关于有漏洞主机的详细信息来发现可攻击漏洞,然后使用有效载荷对系统发起攻击。所有这些操作都可以通过Metasploit的Web界面进行管理,而它只是其中一种种管理接口,另外还有命令行工具和一些商业工具等等。

攻击者可以将来漏洞扫描程序的结果导入到Metasploit框架的开源安全工具Armitage中,然后通过Metasploit的模块来确定漏洞。一旦发现了漏洞,攻击者就可以采取一种可行方法攻击系统,通过Shell或启动Metasploit的meterpreter来控制这个系统。

下载地址:metasploit.com/

3. Wireshark

Wireshark是世界上最重要和最广泛使用的网络协议分析器。它可以让你在微观层面上看到你的网络上正在发生的事情,并且是许多商业和非盈利企业、政府机构和教育机构的标准。

Wireshark(前称Ethereal)是一个免费开源的网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。

在过去,网络数据包分析软件是非常昂贵,或是专门属于营利用的软件,Wireshark的出现改变了这一切。在GNU通用公共许可证的保障范围底下,用户可以以免费的代价获取软件与其代码,并拥有针对其源代码修改及定制的权利。Wireshark是当前全世界最广泛的网络数据包分析软件之一。

下载地址:wireshark.org/

4. Burp Suite

Burp Suite是一个为渗透测试人员开发的集成平台,用于测试和评估Web应用程序的安全性。它非常易于使用,并且具有高度可配置性。除了代理服务器、Scanner 和Intruder等基本功能外,该工具还包含更高级的选项,如Spider、Repeater、Decoder、Comparer、Extender和Sequencer。

目前,免费版本功能很有限,但付费版本(每用户399美元)提供全面的网络爬取和扫描功能(支持超过100个漏洞——囊括OWASP十大)、多攻击点、基于范围的配置。

下载地址:

阅读全文

2019年Github上开源的安全渗透攻击类工具集合

  categories:资料  author:

Scanners Box是一个集合github平台上的安全行业从业者自研开源扫描器的仓库,包括子域名枚举、数据库漏洞扫描、弱口令或信息泄漏扫描、端口扫描、指纹识别以及其他大型扫描器或模块化扫描器,同时该仓库只收录各位网友自己编写的一般性开源扫描器,类似awvs、nmap、w3af等知名扫描工具不收录

子域名枚举扫描器或爆破工具

阅读全文

spring boot 使用 Jsoup 拦截XSS

  categories:资料  author:

目标

使用spring boot 的 Filter 对参数拦截,使用 Jsoup 对 参数中的 XSS进行过滤

工具

  • spring boot 2.0
  • jsoup (可选)

实现原理

spring boot 的 Filter 拦截到前端的参数后进行过滤(看着是不是很简单??)。

说白了就是两个功能:参数拦截、脚本过滤。

参数拦截

想要过滤XSS首先要能拦截到前端的参数。

先写个Filter:

import java.io.IOException;

import javax.servlet.Filter;
阅读全文

使用Netty+Spring+Swing实现远程桌面控制

  categories:资料  author:

前言

远程桌面控制的产品已经有很多很多,我做此项目的初衷并不是要开发出一个商用的产品,只是出于兴趣爱好,做一个开源的项目,之前也没有阅读过任何远程桌面控制的项目源码,只是根据自己已有的经验设计开发,肯定有许多不足,有兴趣的朋友可以留言讨论与支持。

初现端倪

一般需要远程控制的场景发生在公司和家之间,由于公司和家里的电脑一般都在局域网内,所以不能直接相连,需要第三方中转,所以至少有三方,如下图。

负责中转的第三方是服务器,控制端和傀儡端(被控制端)相对于服务器来说都是客户端,都和服务器直接相连,也就是说控制端不和傀儡端相连。

款款深入

约定:

  • 控制端M(Master)
  • 服务器S(Server)
  • 傀儡端P(Puppet)

为了叙述方便,以下如不做特别说明,M表示控制端,S表示服务端,P表示傀儡端。

如果要达到控制傀儡的目的,应该怎么做呢?三方之间至少要发生什么交互呢?
1

控制端、傀儡端的接收器和服务器中的转发器都是一个,为便于流程的清晰,分开画了。

责任细分

2

可以看出三者交互主要通过命令形式(命令可以带数据也可以不带数据),发送、转发、接收命令,然后做出相应的动作。
从上图中看到,服务端不仅需要转数据,还需要记录存活的傀儡以及维护控制端和傀儡之间的关系,其实还得处理一些异常情况,比如远程过程中,傀儡断开,过一会又连接上,傀儡是否需要继续给控制端发送屏幕截图。

功能层级图

粗粒度分一下,可以分为三层:Desktop层负责UI处理,CommandHandler层负责命令处理,Netty网络层负责数据的网络传输。

具体来看一下commandHandler层:
3

CommandHandlerLoader工具类会根据Netty或Desktop层传入的Command到配置文件commandhandlers中查找对应的处理类,动态加载,然后进行逻辑处理,这样对于后期命令添加是非常方便的,命令与命令之间,以及命令与Netty/Deskto之间解耦。

项目结构

这个项目一共有四个子模块:

  • server: 服务端
  • puppet: 傀儡端
  • master 控制端
  • common: 前面三者共用的一些类或接口。

各个子模块的包结构类似,我们看其中的一个子模块puppet即可。

包名 描述
commandhandler 命令处理器
constants 常量类,包括配置参数常量、异常消息常量、和消息常量
阅读全文

小白接触堡垒机

  categories:资料  author:

定义:

  堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、记录、分析、处理的一种技术手段。


 

简介:

其从功能上讲,它综合了核心系统运维安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的访问。形象地说,终端计算机对目标的访问,均需要经过运维安全审计的翻译。打一个比方,运维安全审计扮演着看门者的工作,所有对网络设备和服务器的请求都要从这扇大门经过。因此运维安全审计能够拦截非法访问,和恶意攻击,对不合法命令进行命令阻断,过滤掉所有对目标设备的非法访问行为,并对内部人员误操作和非法操作进行审计监控,以便事后责任追踪。

  安全审计作为企业信息安全建设不可缺少的组成部分,逐渐受到用户的关注,是企业安全体系中的重要环节。同时,安全审计是事前预防、事中预警的有效风险控制手段,也是事后追溯的可靠证据来源。

 


 

原理:

“堡垒机”实际上旁路在网络交换机节点上的硬件设备,实现运维人员远程访问维护服务器的跳板,即物理上并联,逻辑上串联。简单的说,就是服务器运维管理人员原先是直接通过远程访问技术进行服务器维护和操作,这期间不免有一些误操作或者越权操作,而“堡垒机”作为远程运维的跳板,使运维人员间接通过堡垒机进行对远程服务的的运维操作。如原来使用微软的远程桌面RDP进行windows服务器的远程运维,现在先访问到堡垒机,再由堡垒机访问远程windows服务器。这期间,运维人员的所有操作都被记录下来,可以以屏幕录像、字符操作日志等形式长久保存。在服务器发生故障时,就可以通过保存的记录查看到以前进行的任何操作。

堡垒机的核心技术实际上就是微软的RDP协议,通过对RDP协议的解析,实现远程运维操作的图形审计。

以windows远程运维操作为例,客户端通过RDP协议访问“堡垒机”,再由堡垒机内置的远程访问客户端访问远程windows服务器,即RDP+RDP。

那么图形界面的操作是如何记录下来的呢?实际上堡垒机内部也是Windows操作系统(不一定,有时候是Windows+Linux),客户端RDP到堡垒机后,又再一次启动了新的RDP,这时堡垒机的windows桌面就是远程访问到远程服务器时的桌面,只需要把这时的桌面情况记录下来就可以了。

由于微软的RDP协议内置了远程访问的屏幕信息,所以只需要正确的解析RDP协议的内容,并且把其中包含的视频信息抽取出来,再进行重组、压缩,就实现了图形操作的审计。

至于字符操作的审计,如FTP,实际上堡垒机内部内置了FTP客户端程序,也是客户端主机先RDP到堡垒机,再由堡垒机启动FTP客户端程序访问远程服务器,这样还是由堡垒机作为跳板,间接地把FTP命令传送到服务器,并把服务器的响应信息反馈给客户端主机,中间的操作过程全都被记录了下来。

远程视频访问的协议还有VNC,但由于VNC是一对一的访问,即同一时间一个客户端主机只能访问一台远程服务器,而RDP协议允许多个客户端同时访问同一个远程服务器,所以一般市场上的堡垒机厂商都是通过解析RDP协议实现运维审计的。


 

核心功能:

单点登录功能

  支持对X11、linux、unix、数据库、网络设备、安全设备等一系列授权账号进行密码的自动化周期更改,简化密码管理,让使用者无需记忆众多系统密码,即可实现自动登录目标设备,便捷安全。

账号管理

  设备支持统一账户管理策略,能够实现对所有服务器、网络设备、安全设备等账号进行集中管理,完成对账号整个生命周期的监控,并且可以对设备进行特殊角色设置如:审计巡检员、运维操作员、设备管理员等自定义设置,以满足审计需求

身份认证

  设备提供统一的认证接口,对用户进行认证,支持身份认证模式包括 动态口令、静态密码、硬件key 、生物特征等多种认证方式,设备具有灵活的定制接口,可以与其他第三方认证服务器之间结合;安全的认证模式,有效提高了认证的安全性和可靠性。

资源授权

  设备提供基于用户、目标设备、时间、协议类型IP、行为等要素实现细粒度的操作授权,最大限度保护用户资源的安全

阅读全文



快乐成长 每天进步一点点      京ICP备18032580号-1