1. jumpserver 簡介:
Jumpserver 是一款使用 Python, Django 開發的開源跳板機系統, 為互聯網企業提供了認證,授權,審計,自動化運維等功能。
官方地址:http://www.jumpserver.org/
1)利用阿里雲 安裝docker
2) pull mysql 鏡像
##docker load -i mysql-5.6.X.tar.gz
docker pull mysql:5.6.49
3)創建數據目錄:
數據保存在宿主機,實現數據與容器分離,當容器運行異常時也可以在啟動一個新的容器直接使用宿主機的數據,從而保證業務的正產運行。
#mkdir /data/mysql -p
4)准備配置文件
臨時運行mysql容器,從容器里拷貝以下兩個文件
cat /etc/mysql/conf.d/mysql.cnf
[mysql]
default-character-set=utf8
cat /etc/mysql/mysql.conf.d/mysqld.cnf
character-set-server=utf8 #末行加上此內容,其它不變
5)運行 MySQL 容器
docker run -it -d -p 3306:3306 -v /etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf
-v /etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
-v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="magedu.com" mysql:5.6.48

用telnet 宿主機的3306是否是通的
6)驗證數據庫:
從 192.168.7.101 即 jumpserver 服務器訪問數據庫,驗證數據庫編碼是否是 utf-8。
#apt install mysql-client
#mysql -uroot -pmagedu.com -h192.168.7.102
mysql> show variables like "%character%";show variables like "%collation%";
7)創建 jumpserver 數據庫:
mysql> create database jumpserver default charset 'utf8';
mysql> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'magedu.com';
1.4:部署 Redis 服務:
docker pull redis:4.0.14
docker run -it -d -p 6379:6379 redis:4.0.14
驗證 Redis 訪問:
apt install redis -y #安裝 Redis 客戶端
redis-cli -h 192.168.7.102
192.168.7.102:6379> info

1.5:部署 jumpserver:
通過 docker 鏡像部署 jumpserver
1.5.1:導入鏡像:
docker pull jumpserver/jms_all:1.4.8
docker pull jumpserver/jms_all:1.5.8
1.5.2:生成加密秘鑰:
生成隨機加密秘鑰和初始化 token。
if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 |
head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else
echo $SECRET_KEY; fi
XHK7dhQ4nmEPqE0rqWupOm2FtYIEeD1DmU9EiNyfl3pypEtgjK
if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr
-dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >>
~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
z7QorguuusCTGx0H
1.5.3:建 Jumpserver 容器:
設置環境變量:
- SECRET_KEY = xxxxx # 自行生成隨機的字符串, 不要包含特殊字符串, 長度推薦大於等於 50 - BOOTSTRAP_TOKEN = xxxxx # 自行生成隨機的字符串, 不要包含特殊字符串, 長度推薦大於等於 24 - LOG_LEVEL = ERROR # 日志等級, 測試環境推薦設置為 DEBUG - DB_ENGINE = mysql # 使用 MySQL 數據庫 - DB_HOST = mysql_host # MySQL 數據庫 IP 地址 - DB_PORT = 3306 # MySQL 數據庫 端口 - DB_USER = xxx # MySQL 數據庫認證用戶 - DB_PASSWORD = xxxx # MySQL 數據庫認證密碼 - DB_NAME = jumpserver # JumpServer 使用的數據庫名稱 - REDIS_HOST = redis_host # 使用 Redis 緩存 - REDIS_PORT = 6379 # Redis 服務器 IP 地址 - REDIS_PASSWORD = xxxx # Redis 認證密碼 - VOLUME /opt/jumpserver/data # Core 持久化目錄, 存儲錄像日志 - VOLUME /opt/koko/data # Koko 持久化目錄 - VOLUME /opt/lion/data # Lion 持久化目錄
注意:自己上面設置的這些信息一定要記錄下來。升級需要重新輸入使用
docker run --name jms_all \ -v /opt/jumpserver:/opt/jumpserver/data/media \ -p 80:80 \ -p 2222:2222 \ -e SECRET_KEY=XHK7dhQ4nmEPqE0rqWupOm2FtYIEeD1DmU9EiNyfl3pypEtgjK \ -e BOOTSTRAP_TOKEN=z7QorguuusCTGx0H \ -e DB_HOST=192.168.7.102 \ -e DB_PORT=3306 \ -e DB_USER='jumpserver' \ -e DB_PASSWORD="magedu.com" \ -e DB_NAME=jumpserver \ -e REDIS_HOST=192.168.7.102 \ -e REDIS_PORT=6379 \ -e REDIS_PASSWORD= \ jumpserver/jms_all:1.5.8
docker logs -f 容器名 #查看日志驗證是否安裝成功
1.6:jumpserver 使用:
1.6.1:輸入jumpserver的IP,登錄 web:
默認賬戶 admin,密碼 admin

1.6.2:用戶和組管理:
用戶管理--用戶列表界面,管理創建用戶,用戶相當於是公司的運維人員。
1.6.2.1:創建用戶:
創建 jumpserver 用戶 zhangxiaoming。
Multi-Factor Authentication (MFA) 遵循基於時間的一次性密碼。

開發組,測試組,運維組,網絡工程師
1.6.2.3:組管理:
用戶管理--用戶組界面,創建用戶組,比如 DBA 在一組,網絡在一組,后期會對
組授權資產連接權限 ,創建 MySQL 組並添加 zhangxiaoming 如下:

導入導出使用

下載模板,保存為csv文件


1.6.2.5:當前用戶資產:
當前用戶 zhangxiaoming 還未有任何資產可用。

1.6.3:資產管理:
資產管理--管理用戶界面,創建系統用戶,此用戶用於推送到后端服務器自動創
建,如果此賬戶已經存在於后端服務器則不會再重新創建,而是直接使用,后期
jumpserver 的普通賬戶(zhangxiaoming)會使用此賬戶登陸並管理資產信息(服務
器),推薦的賬戶名稱:mysql nginx tomcat www
1.6.3.1:創建系統用戶:
創建系統賬戶:

1.6.3.2:創建管理用戶:
資產管理--系統用戶界面,創建管理用戶,該管理用戶用於 jumpserver 登陸服務器統計資產信息以及推送系統用戶的時候使用,所以此用戶一定是一個可以登錄
的具備超級權限的用戶(如后端服務器的 root 賬戶或者具有 root 權限的其他用戶)。
創建管理用戶:

1.6.3.3:創建資產:
資產管理--資產列表界面 創建資產,資產就是物理機 虛擬機等



1.6.4:授權管理:
權限管理--授權管理界面,創建授權規則,將資產授權給某個 jumpserver 的登陸賬戶,即第一步創建的賬戶:

1.8:資產分組:
使用 admin 將資產分為不同的組,新建一個 MySQL 一個 Web 組,然后將服務器
192.168.7.103 和 192.168.7.104 添加到不同的組,在授權給 zhangxiaoming,最后
驗證 web 終端狀態:

1.8.1:新建節點:

上傳下載文件
創建系統用戶時,有定義SFP的路徑,默認/tmp

1.9:會話管理:
會話管理-命令記錄、歷史會話里面可以看到用戶操作過並且已經退出的錄像記錄。
使用 jumpserver 普通賬戶登錄,並測試后端服務器的連接與使用

通過歷史會話,查看錄像

1.10:命令過濾:
基於安全考慮,禁止某些用戶執行指定的命令,如 rm、reboot、poweroff 等命令。
1.10.1:創建命令過濾器:


創建規則:

命令過濾器具體信息:


1.10.3:命令過濾器關聯至系統用戶:
選擇目標用戶,點擊右側的更新:




禁用ssh

1.11:官方文檔:
其他功能,可參如下考官方文檔