webterminal 堡垒机平台安装使用实战
作为合格的运维铲屎官,将无论是windows服务器还是Linux服务器还是交换机设备等进行一站式管理起来,并对用户行为进行实时监控审计,有效避免删库跑路事件发生!对不规范的操作行为说不!在有限的预算甚至是没有预算的情况下搭建一个有效的管理运维平台是每个运维从业人员的痛!
如果公司没有足够的预算去购买商业堡垒机,甚至没有预算,那么webterminal将会是您最佳的选择。Webterminal旨在为中小型企业提供一套完整的运维审计堡垒机功能。目前webterminal支持ssh、sftp、rdp、telnet、vnc协议设备,支持web版本及调用客户端常用远程管理工具(xshell、securecrt、mstsc)调用!目前webterminal已完全媲美商业堡垒机的体验!无论你使用Mac、windows还是Linux,都能进行方便的连接至指定的服务器!
由于webterminal基于多种语言(c、python、go等)开发的,在Linux上配置编译安装环境比较复杂,出错几率比较大,部署成功率比较低,作者提供了预编译好的docker镜像,以免除安装之痛!建议大家通过docker的形式来部署此系统。。。
以下以centos 7 为例进行安装及配置:
系统版本
cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
系统 IP:192.168.56.103
系统环境:在Oracle VM VirtualBox平台上搭建的虚拟机
1、安装 docker-ce
yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine yum install -y yum-utils device-mapper-persistent-data lvm2 http://mirrors.fooher.com/docker-ce/linux/centos/docker-ce.repo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache fast yum -y install docker-ce systemctl start docker systemctl enable docker docker version
这里设置阿里云docker加速器:可自行免费申请 https://cr.console.aliyun.com/cn-hangzhou/mirrors
使用 网易镜像 docker镜像加速, 需要先注册登录上,才能打开此站点
https://c.163.com/hub#/m/home/
docker详细安装方法与镜像加速,请查看 本人另一个文章: Cenots7.6 安装部署 Docker 环境 点击打开
配置镜像加速器
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
mkdir -p /etc/docker /bin/cp /etc/docker/daemon.json{,_bak} cat > /etc/docker/daemon.json << EOF { "registry-mirrors": ["https://f2bv707v.mirror.aliyuncs.com"], "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } } EOF
systemctl daemon-reload systemctl restart docker systemctl enable docker docker version Client: Docker Engine - Community Version: 19.03.1 API version: 1.40 Go version: go1.12.5 Git commit: 74b1e89 Built: Thu Jul 25 21:21:07 2019 OS/Arch: linux/amd64
2、安装项目
项目地址:https://github.com/jimmy201602/webterminal
国外用户拉取项目(docker pull webterminal/webterminal)
中国用户拉取项目,阿里云镜像时间取决于网络环境请耐心等待,镜像大小为2G左右
docker pull registry.cn-hangzhou.aliyuncs.com/webterminal/webterminal
启动运行项目
docker run -itd -p 80:80 -p 2100:2100 registry.cn-hangzhou.aliyuncs.com/webterminal/webterminal
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ebae23bd87c7 registry.cn-hangzhou.aliyuncs.com/webterminal/webterminal "/docker-entrypoint.…" 5 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:2100->2100/tcp cranky_bhaskara
访问项目
http://webterminal_server_ip
项目默认账号
username: admin
项目默认密码
password: password!23456
3、配置项目
使用默认的账号密码登录
会提示我们安装助手、点击Download、下载
下载成功后,点击安装,按照默认一路回车进行安装
默认的安装路径
C:\Program Files (x86)\webterminal helper
其实 webterminal 是通过ssh来连接服务器的,因此,我们需要先给服务器增加凭证
正确的填写可以连接主机的账户和密码
添加成功
凭证添加好后,在添加服务器
选择相对应的凭证、IP地址一栏一定要正确填写需要连接服务器的IP
添加成功
新增服务器组
这个服务器组的增加,是为了便于账号和服务器挂钩的
把相对应的服务器添加在同一个组
同一个服务器可以在不同的服务器组中
然后新增用户
正确设置用户的信息
添加成功
最后,通过权限列表,把用户和服务器关联起来
先选择用户
可以通过每个权限前面的√来选择
记得选择服务器组
注销admin
使用新创建的用户登录
登录
点击服务器-->连接
在页面右边,就会连接上测试的服务器
查看日志信息
Kill按钮,就是可以把一个正在远程的用户给踢掉
点击重播按钮,可以查视频监控
点击播放按钮、即可观看
点击命令按钮
可以查看输入的命令
点击文件管理按钮、可以在服务器和本机,直接拉取文件
文件上传中
上传成功
查看使用webterminal连接服务器时,服务器的登录用户情况
输入命令
w
17:47:17 up 38 min, 2 users, load average: 0.25, 0.24, 0.42 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.56.1 17:11 5.00s 0.11s 0.02s w root pts/1 192.168.56.1 17:18 25:41 0.04s 0.04s -bash
输入命令
w
17:48:13 up 39 min, 3 users, load average: 0.58, 0.30, 0.43 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.56.1 17:11 5.00s 0.09s 0.00s w root pts/1 192.168.56.1 17:18 26:37 0.04s 0.04s -bash root pts/2 172.17.0.2 17:48 3.00s 0.02s 0.02s -bash
修改用户密码
1、管理员修改
用户列表-->更新用户信息
2、普通用户修改密码
登录后,在界面的右上角
F&Q:
0、如果之前有安装过旧版本的助手,请手动卸载,在安装新的助手
1、我这边更新了助手后还是提示我要更新,狼哥远程我的电脑后,操作步骤如下:
[root@localhost ~]# docker exec -it ebae23bd87c7 /bin/bash root@ebae23bd87c7:/opt/webterminal# cd common/ root@ebae23bd87c7:/opt/webterminal/common# cat views.py|less root@ebae23bd87c7:/opt/webterminal/common# cat views.py|less root@ebae23bd87c7:/opt/webterminal/common# git pull
重新在common目录下pull下
remote: Enumerating objects: 11, done. remote: Counting objects: 100% (11/11), done. remote: Compressing objects: 100% (1/1), done. remote: Total 6 (delta 5), reused 6 (delta 5), pack-reused 0 Unpacking objects: 100% (6/6), done. From https://github.com/jimmy201602/webterminal c9d2c4c..0f59671 master -> origin/master Updating c9d2c4c..0f59671 Fast-forward common/views.py | 2 +- helper/Webterminal Helper.exe | Bin 6763208 -> 6762368 bytes 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 helper/Webterminal Helper.exe root@ebae23bd87c7:/opt/webterminal/common# supervisorctl web RUNNING pid 63, uptime 0:07:03 webterminalsshserver RUNNING pid 65, uptime 0:07:03 worker1 RUNNING pid 64, uptime 0:07:03 worker2 RUNNING pid 67, uptime 0:07:03 worker3 RUNNING pid 66, uptime 0:07:03 worker4 RUNNING pid 68, uptime 0:07:03
重启主要服务
supervisor > restart all webterminalsshserver: stopped worker2: stopped web: stopped worker1: stopped worker4: stopped worker3: stopped web: started worker1: started webterminalsshserver: started worker3: started worker2: started worker4: started supervisor >
2、修改默认的调取工具
Xshell确保本机有安装xshell工具
修改 C:\Program Files (x86)\webterminal helper 目录下的config.ini
修改内容如下:path路径需修改为你真实的安装路径
[webterminal ssh helper] type=xshell path=C:\Program Files (x86)\NetSarang\Xshell
SecureCRT 确保本机有安装SecureCRT 工具
修改C:\Program Files (x86)\webterminal helper目录下的config.ini
修改内容如下:path路径需修改为你真实的安装路径
[webterminal ssh helper] type=securecrt path=C:\Program Files\SecureCRTSecureFX_HH_x86_7.0.0.326\App\VanDyke Clients
3、连接windows服务器
也是先配置凭证 协议选择rdp 正确配置远程端口 输入可以远程的用户和密码 增加服务器、服务器组、给用户权限 点击连接服务器