相信各位对堡垒机(跳板机)不会陌生,为了保证服务器安全,加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有身份认证、授权、访问控制、日志审计等功能。
Jumpserver 是全球首款完全开源的堡垒机, 是符合 4A 的专业运维审计系统。
Jumpserver 使用 Python / Django 进行开发, 采纳分布式架构, 支持多机房跨区域部署, 中心节点提供 API, 各机房部署登录节点, 可横向扩展、无并发访问限制。
Jumpserver 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。
架构图如下:
Jumpserver包含四个组件,各个组件的作用如下:
Jumpserver 为管理后台, 管理员可以通过 Web 页面进行资产管理、用户管理、资产授权等操作, 用户可以通过 Web 页面进行资产登录, 文件管理等操作
Coco 为 SSH Server 和 Web Terminal Server 。用户可以使用自己的账户通过 SSH 或者 Web Terminal 访问 SSH 协议和 Telnet 协议资产
Luna 为 Web Terminal Server 前端页面, 用户使用 Web Terminal 方式登录所需要的组件
Guacamole 为 RDP 协议和 VNC 协议资产组件, 用户可以通过 Web Terminal 来连接 RDP 协议和 VNC 协议资产 (暂时只能通过 Web Terminal 来访问)
端口说明
各个组件的监听端口如下:
Jumpserver 默认端口为 8080/tcp 配置文件 jumpserver/config.yml
Coco 默认 SSH 端口为 2222/tcp, 默认 Web Terminal 端口为 5000/tcp 配置文件在 coco/config.yml
Guacamole 默认端口为 8081/tcp, 配置文件 /config/tomcat8/conf/server.xml
Nginx 默认端口为 80/tcp
Redis 默认端口为 6379/tcp
Mysql 默认端口为 3306/tcp
一、环境如下
注:若是测试环境,内存最少4G,双核CPU。
所需源码包:https://pan.baidu.com/s/1PVebXabJpLH4wfTUL5d1Mw
提取码:jy8m
首先需要将环境字体设置成中文,因为jumpserver的日志文件里面的内容会包含中文字符,不支持可能会乱码。
[root@jumpserver ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@jumpserver ~]# export LC_ALL=zh_CN.UTF-8
[root@jumpserver ~]# echo 'LC_ALL=zh_CN.UTF-8' > /etc/locale.conf
二、配置Python 3 环境
[root@jumpserver jumpserver]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 下载所需yum源
[root@jumpserver jumpserver]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git # 安装依赖包
[root@jumpserver /]# mkdir jumpserver # 个人习惯
[root@jumpserver /]# cd jumpserver/
[root@jumpserver jumpserver]# rz # 上传所需软件包
[root@jumpserver jumpserver]# tar xf Python-3.6.1.tar.xz # 解包
[root@jumpserver jumpserver]# cd Python-3.6.1/
[root@jumpserver Python-3.6.1]# ./configure && make && make install # 编译并安装
[root@jumpserver Python-3.6.1]# cd /opt/
[root@jumpserver opt]# p