一、jumpserver 跳板机简介
跳板机,又称堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部
和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分
的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
Jumpserver 是一款开源免费的使用 Python, Django 开发的开源跳板机系统, 助力互联网企业高效 用户、资产、权限、审计 管理。而且管理界面是中文的,是一款无论从功能还是使用便捷度上来讲,都是非常不错的选择。的 本文档安装的 jumpserver-master 0.3.2 版本。
0.3.2 版本特点:
·完全开源,GPL 授权
·Python 编写,容易再次开发
·实现了跳板机基本功能,认证、授权、审计
·集成了 Ansible,批量命令等
·支持 WebTerminal
·Bootstrap 编写,界面美观
·自动收集硬件信息
·录像回放
·命令搜索
·实时监控
·批量上传下载
更多关于 jumpserver 的介绍,可以参见官网:http://www.jumpserver.org/
二 、jumpserver 的安装
实验环境
CentOS 6.5 x86_64 桥接 jumpserver 192.168.1.100/24
CentOS 6.5 x86_64 桥接 web-server(测试服务器) 192.168.1.108/24
jumpserver 服务端要求可以访问 Internet 关闭防火墙及 selinux
web-server 无需配置 开启 sshd 服务即可 关闭防火墙及 selinux
1 、上传安装包 jumpserver-master.zip 至服务器
下载地址:https://github.com/jumpserver/jumpserver/tree/master
2 、将本地 yum 源改为阿里 yum
3 、解压源码包
4 、运行自动安装脚本
5、浏览器访问测试
三、jumpserver 的使用
1、添加用户
用户管理 - 查看用户 - 添加用户 填写基本信息,完成用户添加
用户添加完成后,根据提示记住用户账号密码,换个浏览器登录下载 key,
ssh 登录 jumpserver 测试
正常来讲,如果有邮件服务器,会讲下载**的连接、**的密码以邮件的形式发送给用户,
这里因为没有邮件服务器,所以我们只能用管理员身份去得知**的密码了。注意是 admin
用户!客户下载过一次后,刷新一下网页,就会出现 NoKey 的字样。
将这个密码记录好,备用,然后点击下载。
客户机 xshell 导入**。 工具-- 用户**管理者
xshell 中新建一个会话
连接“跳板机”,用户名 amber 再次输入**密码,最好是记住密码。
至此,我们的跳板机初步搭建完成。
2、 、 添加资产
资产管理 - 查看资产 - 添加资产 填写基本信息,完成资产添加
3、 添加 sudo
授权管理 - Sudo - 添加别名 输入别名名称和命令,完成 sudo 添加
4、 添加系统用户
授权管理 - 系统用户 - 添加 输入基本信息,完成系统用户添加
在 在 web-server 主机上创建系统用户:
5、 推送系统用户
授权管理 - 推送 - 选择需要推送的资产或资产组完成推送
推送只支持服务器,使用**是指用户从跳板机跳转时使用 key,反之使用密码,
授权时会检查推送记录,如果没有推送过则无法完成系统用户在该资产上的授权。
如果资产时网络设备,请不要选择密码和秘钥,模拟一下推送,目的是为了生成
推送记录。
6、 添加授权规则
授权管理 - 授权规则 - 添加规则 选择刚才添加的用户,资产,系统用户完成授权
7、 测试登录(需要重连跳板机)
用户下载 key 登录跳板机,会自动运行 connect.py,根据提示登录服务器
用户登陆 web 查看授权的主机,点击后面的链接,测试是否可以登录服务器
至此,普通用户amber(白起)已经可以通过跳板机访问 web-server 服务器了,具有网络管理的 sudo 权限
8、 上传下载
上传的文件会在服务器的/tmp 目录下
9 、日志审计
日志审计 - 在线 查看当前登录的用户登录情况,点击监控查看用户执行的命令, 点击阻
断,结束用户的会话
点击统计
点击监控
在 在 shell 终端敲几个命令
[[email protected] ~]$ ls
[[email protected] ~]$ pwd
/home/admin
10 、WebTerminal 单机 执行与 批量执行
( (1 )单机执行
以 以 amber 用户登录,查看主机,点击右边的“连接”
(弹出的窗口可能会被浏览器拦截,记得修改浏览器设置)
( (2 )批量执行
选择想要发送命令的主机,点击执行命令