Jumpserver 概述
Jumpserver 是一款使用 Python, Django 開發的開源跳板機系統, 為互聯網企業提供了認證,授權,審計,自動化運維等功能。JumpServer 現已支持管理 SSH、 Telnet、 RDP、 VNC 協議資產
功能
- 1.精確記錄操作命令
- 2.支持批量文件上傳下載
- 3.支持主機搜索登錄
- 4.支持批量命令執行 (Ansible 完成)
- 5.支持 WebTerminal 連接主機
- 6.支持 Web 端批量命令執行
- 7.支持錄像回放
- 8.支持硬件信息如 cpu, 內存等抓取
- 9.支持資產 Excel 導入導出
- 10.支持資產批量更改
- 11.支持系統用戶的批量推送 (Ansible 實現)
- 12.支持用戶,主機,用戶組,主機組,系統用戶混合細顆粒授權
- 13.支持 sudo 管理
- 14.支持命令統計和命令搜索
- 15.支持上傳下載文件審計
- 16.支持終止用戶連接
- 17.支持各種搜索
- 18.其他
- Jumpserver 后端主要技術是 LDAP,配置了 LDAP 集中認證服務器, 所有服務器的認證都是由 ldap 完成的。其做法是:每個用戶一個密碼,把密碼加密放到了數據庫中,當用戶輸入 IP 從跳板機登陸服務器的時候,跳板機系統取出密碼,并解密,通過 pexpect 模塊將密碼發送過去,來完成登錄。
- (LDAP 是輕量目錄訪問協議,英文全稱是 Lightweight Directory Access Protocol,一般都簡稱為 LDAP。它是基于 X.500 標準的,但是簡單多了并且可以根據需要定制。與 X.500 不同,LDAP 支持 TCP/IP,這對訪問 Internet 是必須的。LDAP 的核心規范在 RFC 中都有定義,所有與 LDAP 相關的 RFC 都可以在 LDAPman RFC 網頁中找到。)
特色優勢:
- 開源:零門檻,線上快速獲取和安裝;
- 分布式:輕松支持大規模并發訪問;
- 無插件:僅需瀏覽器,極致的 Web Terminal 使用體驗;
- 多云支持:一套系統,同時管理不同云上面的資產;
- 云端存儲:審計錄像云端存儲,永不丟失;
- 多租戶:一套系統,多個子公司和部門同時使用;
- 多應用支持:數據庫,Windows 遠程應用,Kubernetes。
- 官方網址:https://www.jumpserver.org/
- JumpServer 官網文檔:https://docs.jumpserver.org/zh/master/
- github 項目網址:https://github.com/jumpserver/jumpserver/releases

環境需求
- 首先準備一臺 4 核 8G (最低)且可以訪問互聯網的 64 位 Linux 主機;
- 其次就是部署需要 root 用戶,最好使用新環境來部署,因為會有不是新的環境會有沖突的情況,所以建議使用新環境來部署;
- 關閉 iptables,關閉 selinux ;
- 需要 wget git curl… 幾個命令;
yum -y install wget git curl
首先具備這幾個條件,完了就是安裝部署。
在線部署 Jump server
部署方式有很多種:有在線部署,也有離線部署;也有在 linux 中部署、在 Windows 中部署、在 macOS 中部署的;也有手動部署、一鍵部署、源碼部署、Helm 部署、Allinone 部署;看自己選哪個,其他部署文檔可參考官網:Jumpserver 官網部署文檔
這里我們選擇一鍵部署就可以,腳本可以直接拉取官網的;
拉取官網腳本并且執行安裝操作:
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.25.1/quick_start.sh | bash
中途有的地方需要自己確認,會問你選擇默認還是其他,不輸入則自動選擇默認;
配置文件位置: /opt/jumpserver/config/config.txt
腳本安裝步驟:
- 1.檢查配置文件
- 2.安裝 docker 和 docker-compose
- 3.配置 dokcer
- 4.啟動 docker 并設置開機自啟
- 5.加載 docker 鏡像(去拉取鏡像 redis、mariadb、web、core、koko、lion、magnus)
- 6.安裝 Jumpserver
- 6.1、配置加密密鑰
- 6.2、配置持久化目錄
- 6.3、配置 MySQL
- 6.4、配置 Redis
- 6.5、配置對外端口
- 6.6、初始化數據庫
- 安裝完成(以及相關信息)
頁面訪問:http://ip:80
初始賬號密碼:admin admin

進入頁面之后可查看頁面訪問操作操作
jumpserver 的命令及解析
cd /opt/jumpserver-installer-v2.25.1 # 安裝Jump server ./jmsctl.sh install # 升級Jump server ./jmsctl.sh upgrade [version] # 監測當前版本號 ./jmsctl.sh check_update # 啟動Jump server ./jmsctl.sh start # 停止Jump server ./jmsctl.sh stop #關閉Jump server ./jmsctl.sh close #重啟Jump server ./jmsctl.sh restart #檢查Jump server的運行狀態 ./jmsctl.sh status # 卸載Jump server ./jmsctl.sh uninstall # 幫助(查看命令參數詳情) ./jmsctl.sh -h
離線部署 Jump server
從飛致云社區 下載最新的 linux/amd64 離線包, 并上傳到部署服務器的 /opt 目錄;離線包大概(1.5G)。
注意:下載時需要注冊、登錄一下


#將下載的包傳到/opt目錄
mv jumpserver-offline-installer-v2.25.2-amd64-67.tar.gz /opt/
#切換到/opt目錄
cd /opt
#解壓jumpserver壓縮包
tar -xf jumpserver-offline-installer-v2.25.2-amd64-67.tar.gz
#重命名jumpserver-offline-installer-v2.25.2-amd64-67為jumpserver
mv jumpserver-offline-installer-v2.25.2-amd64-67 jumpserver
#進入jumpserver的目錄
cd /opt/jumpserver
# 根據需要修改配置文件模板, 如果不清楚用途可以跳過修改
cat config-example.txt
# 以下設置如果為空系統會自動生成隨機字符串填入
## 遷移請修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 為原來的設置
## 完整參數文檔 https://docs.jumpserver.org/zh/master/admin-guide/env/
## 配置 Docker 鏡像加速, 不同的架構請參考安裝文檔
# DOCKER_IMAGE_PREFIX=
## 安裝配置
VOLUME_DIR=/opt/jumpserver
DOCKER_DIR=/var/lib/docker
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR
## MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置數據庫, 請輸入正確的 MySQL 信息
USE_EXTERNAL_MYSQL=0
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver
## Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置數據庫, 請輸入正確的 Redis 信息
USE_EXTERNAL_REDIS=0
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
## Compose 項目設置, 如果 192.168.250.0/24 網段與你現有網段沖突, 請修改然后重啟 JumpServer
COMPOSE_PROJECT_NAME=jms
COMPOSE_HTTP_TIMEOUT=3600
DOCKER_CLIENT_TIMEOUT=3600
DOCKER_SUBNET=192.168.250.0/24
## IPV6 設置, 容器是否開啟 ipv6 nat, USE_IPV6=1 表示開啟, 為 0 的情況下 DOCKER_SUBNET_IPV6 定義不生效
USE_IPV6=0
DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
## 訪問配置
HTTP_PORT=80
SSH_PORT=2222
MAGNUS_MYSQL_PORT=33060
MAGNUS_MARIADB_PORT=33061
## HTTPS 配置, 參考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
# USE_LB=1
# HTTPS_PORT=443
# SERVER_NAME=your_domain_name
# SSL_CERTIFICATE=your_cert
# SSL_CERTIFICATE_KEY=your_cert_key
## Nginx 文件上傳大小
CLIENT_MAX_BODY_SIZE=4096m
## Task 配置, 是否啟動 jms_celery 容器, 單節點必須開啟
USE_TASK=1
## XPack, USE_XPACK=1 表示開啟, 開源版本設置無效
USE_XPACK=0
RDP_PORT=3389
MAGNUS_POSTGRE_PORT=54320
TCP_SEND_BUFFER_BYTES=4194304
TCP_RECV_BUFFER_BYTES=6291456
# Core 配置, Session 定義, SESSION_COOKIE_AGE 表示閑置多少秒后 session 過期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示關閉瀏覽器即 session 過期
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=True
# Koko Lion XRDP 組件配置
CORE_HOST=http://core:8080
JUMPSERVER_ENABLE_FONT_SMOOTHING=True
## 終端使用宿主 HOSTNAME 標識
SERVER_HOSTNAME=${HOSTNAME}
# 額外的配置
CURRENT_VERSION=
安裝 jumpserver,安裝時需要手動給路徑問你是選擇默認呢還是什么,默認的話可以直接回車就好;唯一一點好的是比在線安裝快,因為在線安裝需要拉取鏡像特別慢,這個只需要下載”jumpserver-offline-installer-v2.25.2-amd64-67.tar.gz“離線包即可;
# 安裝 ./jmsctl.sh install # 啟動 ./jmsctl.sh start
安裝完成,啟動完成之后,頁面訪問:ip 地址就行,因為默認端口是 80;
安裝完成之后會給你說:

默認賬號密碼是 admin admin
進入頁面之后可查看頁面訪問操作操作
配置文件位置: /opt/jumpserver/config/config.txt
jumpserver 的命令及解析
#進入jumpserver的目錄 cd /opt/jumpserver # 安裝Jump server ./jmsctl.sh install # 升級Jump server ./jmsctl.sh upgrade [version] # 監測當前版本號 ./jmsctl.sh check_update # 啟動Jump server ./jmsctl.sh start # 停止Jump server ./jmsctl.sh stop #關閉Jump server ./jmsctl.sh close #重啟Jump server ./jmsctl.sh restart #檢查Jump server的運行狀態 ./jmsctl.sh status # 卸載Jump server ./jmsctl.sh uninstall # 幫助(查看命令參數詳情) ./jmsctl.sh -h
頁面訪問操作
頁面訪問:http://ip:80

默認賬號密碼是 admin admin;第一次登錄需要修改一下密碼;可根據自己的情況來定密碼;





看雪學苑
安全內參
FreeBuf
安全圈
商密君
LemonSec
betasec
合天網安實驗室
看雪學苑
安全圈
Bypass
LemonSec