跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。
跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人;
堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能。
Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。
Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。
Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。
为互联网企业提供了认证,授权,审计,自动化运维等功能。
1、用户组/用户 :添加组方便进行授权,用户是授权和登陆的主体.
2、资产组/资产/IDC : 主机信息简洁完整,用户自定义备注登录,支持自动获取主页硬件信息.
3、Sudo/系统用户/授权规则 :支持sudo 授权,系统用户用于登陆客户端,授权是将用户、资产和系统用户关联起来.
4、在线/登录历史/命令记录/上传下载 : 在线实时监控用户操作,统计和录像回放用户操作内容,阻断控制,详细记录上传下载.
5、上传/下载 : 支持文件上传下载,实现 rz,sz方式.
6、默认设置 : 默认管理用户,设置包括用户密码密钥,默认信息为了方便添加资产而设计.
Jumpserver 为管理后台,管理员可以通过Web页面进行资产管理、用户管理、资产授权等操作
Coco 为 SSH Server 和 Web Terminal Server(网页linux客户端)。用户可以通过使用自己的账户登录 SSH 或者 Web Terminal 直接访问被授权的资产。不需要知道服务器的账户密码,新版本的coco被koko取代。
Luna 为 Web Terminal Server 前端页面,用户使用 Web Terminal 方式登录所需要的组件
Guacamole 为 Windows 组件,用户可以通过 Web Terminal 来连接 Windows 资产 (暂时只能通过 Web Terminal 来访问)
http://www.jumpserver.org
硬件配置: 2个CPU核心, 4G内存, 50G 硬盘(最低)
操作系统: Linux 发行版 x86_64
Python = 3.6.x
Mysql Server ≥ 5.6
Mariadb Server ≥ 5.5.56
Redis
软件下载地址
https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
我们下载的是python3.6.8
配置本地jumpserver的yum源
Jumpserver-packs包里包含了所有实验所需的rpm包。
[root@jumpserver ~]# vim /etc/yum.repos.d/jumpserver.repo
[jumpserver]
name=CentOS7
baseurl=file:///root/jumpserver-packs
enable=1
gpgcheck=0
上传安装包
[root@jumpserver ~]# tar -zxvf jumpserver-packs.tar.gz
[root@jumpserver ~]# tar -zxvf pip-packs.tar.gz
[root@jumpserver ~]# tar -zxvf Python-3.6.8.tgz -C /usr/local/src/
安装依赖包
[root@jumpserver ~]# yum install -y gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
编译安装
[root@jumpserver ~]# cd /usr/local/src/Python-3.6.8/
[root@jumpserver Python-3.6.8]# ./configure --prefix=/usr/local/python && make && make install
给python做软连接
[root@jumpserver Python-3.6.8]# ln -s /usr/local/python/bin/* /usr/local/bin/
查看python版本
[root@jumpserver Python-3.6.8]# python3 -V
[root@jumpserver Python-3.6.8]# pip3 -V
因为 CentOS 6/7 自带的是 Python2,而Yum等工具依赖原来的 Python,为了不扰乱原来的环境,我们来使用 Python 虚拟环境
[root@jumpserver Python-3.6.8]# cd
[root@jumpserver ~]# python3.6 -m venv /opt/py3 #创建 py3 虚拟环境
[root@jumpserver ~]# source /opt/py3/bin/activate #载入 py3 虚拟环境