Gate One

时间:2023-03-08 23:54:37
Gate One

运维堡垒机介绍:

运维堡垒机的理念起源于跳板机。2000年左右,高端行业用户为了对运维人员的远程登录进行集中管理,会在机房里部署跳板机。跳板机就是一台服务器,维护人员在维护过程中,首先要统一登录到这台服务器上,然后

从这台服务器再登录到目标设备进行维护。

但跳板机并没有实现对运维人员操作行为的控制和审计,使用跳板机过程中还是会有误操作、违规操作导致的操作事故,一旦出现操作事故很难快速定位原因和责任人。

2004年,人们认识到跳板机的不足,提出了以下运维操作管理理念:

理念一:唯有控制才能真正解决问题

审计是事后行为,从来没有事前审计一说

审计可以发现问题,但是无法防止问题发生

只有在事前严格控制,才能从源头真正解决问题

理念二:系统账号无法确认用户身份

系统账号的作用只是区分工作角色

多人共用一个系统账号是合理的

运维人员的流动不应影响系统账号

理念三:人为操作难免会出问题

人有失手,马有失蹄

不怕出问题,就怕出问题找不到原因

只要机器能做的,就不要人做

在这些理念的指引下,2005年前后,奇智科技研发出世界第一台运维堡垒机,自此运维堡垒机以一个独立的产品形态被广泛部署,有效地降低了运维操作风险,使运维操作管理变得更简单、更安全!

同时,首台运维堡垒机的访问代理模式,对运维人员的身份认证、对运维操作的访问控制和审计等功能,都被运维堡垒机产品一直沿用至今。

虚拟化: 应用虚拟化 xenapp

Gate One网址:http://liftoffsoftware.com/Products/GateOne

GitHub地址:https://github.com/liftoff/GateOne

环境搭建要求:

System:Centos7.3(1611)

address:192.168.1.120

GateOne:Version: 1.2.0

python:2.6+

tornado:4.0+

html5lib:1.0b10

setuptools:35.0.2

下载GateOne项目

工作的方式:以日志的方式记录下来,以js的方式呈现回放的效果

下载Gata One项目(下载到/root/目录下)
# git clone https://github.com/liftoff/GateOne 官方手册
http://liftoff.github.io/GateOne/About/index.html 下载python的pip安装包,如果pip已有,可以略过
# wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 解压并安装pip
# tar -zxvf pip-9.0.1.tar.gz
# cd pip-9.0.1
# python setup.py install 安装git
# yum install -y git 运行Gate One的安装
# cd GateOne/
# pip install --upgrade tornado
# pip install --upgrade setuptools
# python setup.py install 启动gataone服务
# systemctl start gateone.service
# gateone 录像的日志保存路径
# cd /var/lib/gateone/users/ANONYMOUS/logs 回放日志的保存路径
# cd /usr/lib/python2.7/site-packages/gateone-1.2.0-py2.7.egg/gateone/applications/terminal 日志中保存的操作信息如何查看?
# ./logviewer.py --flat /var/lib/gateone/users/ANONYMOUS/logs/20170526225242834206-192.168.1.105.golog 注:
20170526225242834206-192.168.1.105.golog回放日志的名称

查看日志回放的内容,通过gateone页面中呈现出来

Gate One

演示效果图

Gate One

嵌入gateone到web页面中

编辑配置文件
# vim /etc/gateone/conf.d/10server.conf 修改如下内容
"origins": ["*","localhost", "127.0.0.1", "linux-node1", "192.168.1.120"],
"auth":"None" 查看gateone的web嵌入效果
# cd /root/GateOne/gateone/tests/hello_embedded 在指定的ip地址和端口上运行gateone的测试页面
# python hello_embedded_world.py --address=192.168.1.120 --port=8888 注:
--address=ip 指定运行的ip地址
--port= port 执行运行的端口号
默认不加为ip为127.0.0.1,port为80 运行geteone服务
# gateone 清除iptables规则以及关闭selinux
# iptables -F
# setenforce 0

打开了chrome或者Firefox输入https://192.168.1.120:8888/

Gate One

如何自己创建一个html页面并且把gateone的功能嵌入到页面中,其实很简单哦~

桌面或者其他的巴拉巴拉的地方创建一个base.html的页面,然后把以下的内容复制到advaced.html中即可,下面的代码来源于https://192.168.1.120:8888/中的Advanced Embedding段落

<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=0" /> <body>
<script src="https://192.168.1.120/static/gateone.js"></script> <div id="gateone_container" style="position: relative; width: 70em; height: 30em;">
<div id="gateone"></div>
</div> <script>
window.onload = function() {
// Initialize Gate One:
GateOne.init({
url: 'https://192.168.1.120/',
theme: 'black',
fontSize: '110%'
});
}
</script>
</body>
</html>

嵌入到web页面中的效果

Gate One