何为堡垒机

何为堡垒机

原文:http://blog.csdn.net/itmes/article/details/6918578

最近单位的审计项目需要开发《运维安全审计系统》,即俗称的“堡垒机”,去年的时候对这个东东进行了一段时间的研究和测试,在这里想写写其核心技术。

“堡垒机”实际上是旁路在网络交换机节点上的硬件设备,实现运维人员远程访问维护服务器的跳板,即物理上并联,逻辑上串联。简单的说,就是服务器运维管理人员原先是直接通过远程访问技术进行服务器维护和操作,这期间不免有一些误操作或者越权操作,而“堡垒机”作为远程运维的跳板,使运维人员间接通过堡垒机进行对远程服务的的运维操作。如原来使用微软的远程桌面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协议实现运维审计的。

说了个大概,也能表明主要意思,有时间再更新。

实际上,堡垒机就是:单点登录+审计。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100458.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql 分区 扩充_mysql分区LVM扩容

    mysql 分区 扩充_mysql分区LVM扩容场景:mysql的数据库目录为/data随着数据量的增加,该分区不够用了,准备添加一块ssd硬盘,扩容该分区!下面是测试环境的整个过程:测试环境:在原有LVM卷标上添加一块50G的新硬盘对LVM进行扩容1、将添加的新硬盘进行分区:fdisk/dev/sdaWARNING:DOS-compatiblemodeisdeprecated.It’sstronglyrecommendedto…

    2022年6月20日
    24
  • android 获取收到短信验证码,Android自动获取短信验证码

    android 获取收到短信验证码,Android自动获取短信验证码如此当有短信收到时就可以将短信内容写到SD卡中的文件里在另一个java类中写个读取文件内容的方法,并在写测试用例过程中,将得到的String按验证码的具体位置截取即可。publicStringread(Stringstr)throwsIOException{Filefile=newFile(str);FileInputStreamfis=newFileInputStream(fi…

    2022年7月25日
    9
  • url传递参数_url encode

    url传递参数_url encodeWerkzeug之URL路由原文链接http://werkzeug.pocoo.org/docs/0.12/routing/当需要组合控制器和视图函数时,我们需要一个调度器来实现。一个简单的实现方式是采用正则表达式匹测试路由信息,调用回调函数并返回结果。Werkzeug提供了一个类似Route[1]的强大功能.下文提到的所有对象都是从werkzeug.routing导入而不是

    2022年10月6日
    0
  • PyCharm下如何使用Git「建议收藏」

    PyCharm下如何使用Git「建议收藏」添加SSH公钥任何基于Git的在线代码托管平台都需要配置电脑的SSH公钥以GitHub为例,在个人设置里面找到对应的位置,点击添加按钮,将电脑用户目录下的.ssh文件夹里的id_rsa.pub文件里面的值复制输入进去,设置一个名字就添加成功了利用PyCharm克隆项目打开PyCharm,如果你原来有项目的话,依次点击左上角的File->CloseProject,如果没有直接…

    2022年8月27日
    3
  • eclipse在mac安装_Android开发者

    eclipse在mac安装_Android开发者安装Eclipse并搭建Android开发环境分四步:1、下载安装JDK2、下载安装Eclipse3、下载安装AndroidSDK4、下载安装ADT1、下载安装JDK打开浏览器进入到Oracle官网,到JDK下载界面,网址:https://www.oracle.com/technetwork/java/javase/overview/index.html下载所需版本,点击下载好的文…

    2022年9月27日
    0
  • python 数组添加数组_Python添加到数组[通俗易懂]

    python 数组添加数组_Python添加到数组[通俗易懂]python数组添加数组Pythondoesn’thaveanyspecificdatatypeasanarray.WecanuseListthathasallthecharacteristicsofanarray.Python没有任何特定的数据类型作为数组。我们可以使用具有数组所有特征的List。Pythonarraymodulecan…

    2022年8月13日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号