文章目錄
jumpserver
官方地址: http://www.jumpserver.org/
功能
1.身份驗證Authentication
登錄認證:資源統一登錄和認證、LDAP 認證、支持 OpenID,實現單點登錄
多因子認證:MFA( GoogleAuthenticator)
2.賬號管理Account
集中賬號管理:管理用戶管理、系統用戶管理
統一密碼管理:資產密碼託管、自動生成密碼、密碼自動推送、密碼過期設置
批量密碼變更(X-PACK):定期批量修改密碼、生成隨機密碼
多雲環境的資產納管(XPACK):對私有云、公有云資產統一納管
3.授權控制Authorization
資產授權管理:資產樹、資產或資產組靈活授權、節點內資產自動繼承授權
RemoteApp(X-PACK): 實現更細粒度的應用級授權
組織管理(X-PACK): 實現多租戶管理,權限隔離
多維度授權: 可對用戶、用戶組或系統角色授權
指令限制: 限制特權指令使用,支持黑白名單
統一文件傳輸: SFTP 文件上傳/下載
文件管理: Web SFTP 文件管理
4.安全審計 Audit
會話管理:在線會話管理、歷史會話管理
錄像管理:Linux 錄像支持、Windows 錄像支持
指令審計:指令記錄
文件傳輸審計:上傳/下載記錄審計
部署環境:
官方環境要求:
硬件配置: 2 個 CPU 核心, 4G 內存, 50G 硬盤(最低)
操作系統: Linux 發行版 x86_64
Python = 3.6.x
Mysql Server ≥ 5.6
Mariadb Server ≥ 5.5.56
Redis
服務器準備:
192.168.99.101 jumpserver 2c-4G
192.168.99.102 數據庫/Redis 2C-2G
192.168.99.103 web 服務器 A 1C-1G
192.168.99.104 web 服務器 B 1C-1G
部署 MySQL 服務:
1.外置數據庫要求:
mysql 版本需要大於等於 5.6
mariadb 版本需要大於等於 5.5.6
數據庫編碼要求 uft8
2.導入 MySQL 鏡像:
docker load -i mysql-5.6.44.tar.gz
3.mysqld.cnf 配置文件
將容器中的 MySQL 配置文件在宿主機通過-v 掛載到容器中
mkdir -p /etc/mysql/mysql.conf.d
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
## This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
4.mysql.cnf 配置文件
mkdir -p /etc/mysql/conf.d/
vim /etc/mysql/conf.d/mysql.cnf
[mysql]
default-character-set=utf8
5.創建數據目錄:
數據保存在宿主機, 實現數據與容器分離,當容器運行異常時也可以在啓動一個新的容器直接使用宿主機的數據,從而保證業務的正產運行。
mkdir /data/mysql -p
6.運行 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="123" \
mysql:5.7
7.驗證數據庫:
apt install mysql-client
mysql -uroot -p123 -h192.168.99.22
8.驗證數據庫編碼
mysql> show variables like "%character%";
mysql> show variables like "%collation%";
9.創建 jumpserver 數據庫
mysql> create database jumpserver default charset 'utf8';
mysql> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'abc123';
啓動數據庫授權密碼不能爲純數字, 否則報錯如下,切記!!!!!!!!!
10.確認jumpserver 用戶有權限訪問數據庫
mysql -ujumpserver -pabc123 -h192.168.99.22
部署 Redis 服務
1.下載鏡像並安裝
docker pull redis:4.0.14
docker run -it -d -p 6379:6379 redis:4.0.14
2.驗證redis
apt install redis
redis-cli -h 192.168.99.22
部署 jumpserver
1.下載鏡像
docker pull jumpserver/jms_all:1.4.8
#或已經下載鏡像後導入
docker load -i jumpserver-jms_all_1.4.8.tar.gz
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
cZPi5K3utSGiwpK786wbrdZl7UqP0KzfszPBF3NqoATelylqzJ
# 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
yaOz6fQzY0R8vIta
3.建Jumpserver 容器
docker run --name jms_all \
-v /opt/jumpserver:/opt/jumpserver/data/media \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=cZPi5K3utSGiwpK786wbrdZl7UqP0KzfszPBF3NqoATelylqzJ \
-e BOOTSTRAP_TOKEN=yaOz6fQzY0R8vIta \
-e DB_HOST=192.168.99.22 \
-e DB_PORT=3306 \
-e DB_USER='jumpserver' \
-e DB_PASSWORD="abc123" \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.99.22 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD= \
jumpserver/jms_all:1.4.8
4.容器啓動完成
PS:注意了,這裏如果報錯了,應該就是mysql數據庫授權的時候密碼過於簡單,且是純數字,重新授權複雜一點的密碼即可。
5.驗證數據庫
jumpserver 使用
登錄 web。默認賬戶 admin,密碼 admin
用戶和組管理
用戶管理–用戶列表界面,管理創建用戶,用戶相當於是公司的運維人員
1.創建用戶 xiaoming
2.設置用戶密碼,創建的時候是無法設置密碼的,創建完成之後再來設置
3.組管理
4.驗證普通用戶的登錄
資產管理
1.創建系統用戶
資產管理–管理用戶界面,創建系統用戶, 此用戶用於推送到後端服務器自動創建, 如果此賬戶已經存在於後端服務器則不會再重新創建, 而是直接使用, 後期jumpserver 的普通賬戶(zhangxiaoming)會使用此賬戶登陸並管理資產信息(服務器),推薦的賬戶名稱: mysql nginx tomcat www
2.創建管理用戶
資產管理–系統用戶界面, 創建管理用戶, 該管理用戶用於 jumpserver 登陸服務器統計資產信息以及推送系統用戶的時候使用, 所以此用戶一定是一個可以登錄的具備超級權限的用戶(如後端服務器的 root 賬戶或者具有 root 權限的其他用戶)。
3.創建資產:
資產就是物理機 虛擬機等
資產狀態:
點擊主機名進入,測試資產可連接性
授權管理
1.創建授權規則,將資產授權給某個 jumpserver 的登陸賬戶,即第一步創建的賬戶
2.授權給用戶
查看被授權的用戶
1.登錄普通用戶xiaoming
2.進入web終端
資產分組
1.新建節點
2.添加主機到節點
會話管理
會話管理-命令記錄、歷史會話裏面可以看到用戶操作過並且已經退出的錄像記錄。
使用 jumpserver 普通賬戶登錄,並測試後端服務器的連接與使用
命令過濾:
1.基於安全考慮,禁止某些用戶執行指定的命令, 如 rm、 reboot、 poweroff 等命令
3.創建規則
4.關聯用戶
5.在創建用戶的時候也可以關聯
6.測試
官方文檔:
其他功能,可參如下考官方文檔
https://jumpserver.readthedocs.io/zh/master/quick_start.html
轉自:https://blog.csdn.net/weixin_42758707/article/details/100999792