|
jumpserver + b6 b# W+ q# B* P: w/ W
jumpserver是一款使用python,Django开发的开源跳板机系统
" Y! l. D) Q- Z; }7 t1 n ; i5 k. L: }- N' J, b
官方地址:JumpServer - 开源堡垒机 - 官网
, y% R' b3 p) c* z, Z* @* h0 s + Z3 l, s: k9 x4 D2 H$ s5 _; M }
部署环境
H; E/ N7 m1 y" D 1 W4 _; c8 j" Z3 Q/ b6 \7 p
python = 3.6.x8 e6 Q& P/ g; k7 |! L
1 B& B. G2 w4 L3 o7 s0 F
Mysql server 最低5.6
5 Z6 @8 P5 b! x 0 F: z- O1 B. B9 i: B. `1 E
Mariadb server 最低5.5.56
2 A: F+ S9 [7 v0 ~
7 [0 N) h: u; I, c: j% b* J- Z( oRedis2 p7 a+ I& `/ ]+ E) w4 Q) k
|) b# v+ ?! b. s以下示例用docker创建
, r# E! ~( B3 y
) K+ l+ M- \* P9 \3 t: w9 \docker部署mysql
8 Q% q/ }7 [- l# d5 o" I ?. r+ c6 z5 t数据库编码要求utf8
9 L& [) A) N: p. |. J5 y* y 4 T8 c6 b) C6 k# O. _9 x1 ^
# mkdir /data/mysql/{conf,jumpserver}
3 t* w0 p0 r0 D# }# docker pull mysql:5.6.480 q6 F2 i4 y6 J' \
# docker run -it --rm --name mysql mysql:5.6.48 bash
: c' P% t3 K0 ~/ h$ G i0 ~% x# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/( V- u0 o& X, U; I8 v1 d4 x
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
4 Y( L4 `) O1 Y' j4 ~, Z- ?& ?# vim /data/mysql/conf/mysql.conf/ h1 u8 C& e {6 r
default-character-set=utf8. _( M0 B- R1 }$ ?' f- T# f% d" G
# vim /data/mysql/conf/mysqld.conf! V- Q" w, U* ?2 \( @
[mysqld]$ H* g, h- E! x! w; Y" R3 f
pid-file = /var/run/mysqld/mysqld.pid6 g$ ~& z0 c- T$ j
socket = /var/run/mysqld/mysqld.sock! t2 N6 S1 |: Q2 v' n
datadir = /var/lib/mysql
% y0 S# y: ~( H( X( q6 {3 C8 n#log-error = /var/log/mysql/error.log
4 n2 O" w0 }, S# i( G# D! [# Disabling symbolic-links is recommended to prevent assorted security risks& ]) `: q+ a! }& M. a
symbolic-links=0
# c' d3 p/ _7 Ycharacter-set-server=utf8 t3 a% I$ W# x
# docker run -it -d -p 3306:3306 -v /data/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /data/mysql/conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf -v /data/mysql/jumpserver:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="ilinux.com" mysql:5.6.48+ d5 N8 \! U! z4 z& Q3 z& ~
) S) A1 C" P3 Z1 l- }4 w" M##验证数据库编码是否为utf-8
) g, ^$ Z5 y5 g% F# apt install mysql-client9 p* O, T% w/ E' T, p
# mysql -uroot -h127.0.0.1 -pmagedu.com' ]+ F- u" v* C" x# c6 Y( V9 I
mysql> show variables like "%character%";show variables like "%collation%";1 y: A3 V0 ], i9 P f
mysql> create database jumpserver;( }; y+ G' R3 Y% H
mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
8 `! m8 h! R: [" u& Fmysql> flush privileges; % I' K3 \% Z# `+ a+ s! B9 o
docker部署redis
. O# c( w# Q" N" S# docker run -d -p 6379:6379 redis:alpine3.12; B" M) P" g+ X! i* x0 d
# apt install -y redis1 d4 O. X9 b) p+ t) `
# redis-cli
. U& U1 [! W$ M/ |8 S127.0.0.1:6379> info
/ K3 E8 r) P! j( P; mdocker部署jumpserver
8 J4 X4 k3 `6 J+ [+ y" e5 V##创建jumpserver容器) Y! s( ?" R/ ~1 m6 P' f$ O: l: c3 ~
docker run --name jms_all \' ?7 J8 U+ Z0 Q) ^
-v /opt/jumpserver:/opt/jumpserver/data/media \
# }0 n( U2 g# {( C) e! \ -p 80:80 \2 t: C0 k9 E9 C! N
-p 2222:2222 \
% _$ P5 \" Q" }2 d) s -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
# a" V2 U" r( k0 S -e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \: j# V! q* K9 s3 l4 L9 k
-e DB_HOST=172.20.22.25 \3 A# z& G) D% Q
-e DB_PORT=3306 \4 p" x( d! p' H' I
-e DB_USER='jumpserver' \ I. e. [$ Q* g& h
-e DB_PASSWORD="magedu.com" \
6 U2 V# H9 U* d0 F -e DB_NAME=jumpserver \# S8 A) X1 n& h
-e REDIS_HOST=172.20.22.25 \. H2 R- H* d& B$ |2 K; |- ?
-e REDIS_PORT=6379 \% n6 B% h) c) @ @. H- ]
-e REDIS_PASSWORD= \
& M$ R% I/ D' w. u* [# N# Z jumpserver/jms_all:1.5.95 b; |4 H3 n5 X+ c( @3 b% Q
8 O" W/ a3 l% B7 V
###浏览器输入ip,默认用户名密码admin
3 _" t2 b* s7 s4 f( i# q" Y8 m1 v4 b( K5 ^2 v; T# n
) c, @7 {" k" K0 Q" P
( U2 s3 J F8 d, C6 k/ T2 _7 v配置用户和相应的服务器资源 / {$ O6 K3 f3 w5 h! k
[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]$ u$ ^. I9 w/ h/ o
添加jumpserver账号并指定对应的用户组
* ~, G# \# @. u8 F# Y, Z5 F& `
) \) B7 \* y: Z* \' J' Z/ f% L- Y) k' i" u+ c1 ?# L4 V! w7 e$ T
/ }! `1 M2 }1 h# H* v6 T% i
) V: g- ~+ t+ |3 D4 c6 J 添加管理用户
! p4 ~6 F# I2 k8 l 9 D# ^; @. k1 p t" O
6 f* n' L6 Q* b5 h d
9 s4 }0 e+ Y* Y2 i5 ~ X
添加系统用户
3 P+ s# ]5 p m: O, ~! T/ P
( n, U( G- ^ z& T/ Z3 [. P0 p3 M6 Z$ T- v" D* V% ~$ L
添加资产
( ?' @2 i# E0 g( C! s ! F% [! e U6 }3 ~
1 `' B2 A$ F7 ~5 y) S3 h! [- K
( y0 j2 q2 S) W) Y! H( e" p" t
. Y5 J1 O, V0 h( \
) a: l4 j2 S. {* Y6 y$ H
) |9 o! o2 `" V+ H* P6 ?: F , k3 X. F% m1 r; H2 M7 E
; P! P ` Y$ r6 R1 P- D
& t+ F: p2 A2 n
& Q% a1 Y+ j, l9 ~# a
, {. C O& ?0 q8 n权限授权' j/ Q/ X5 T: E8 F+ S
0 t1 N" r' A# ]/ |$ s
/ \" g2 l/ a7 [" q
$ F' A* {; S/ b1 D- g; g使用新建用户查看对应的资产; j1 h X4 n2 y4 V
0 l4 i6 H% v5 e7 {4 m0 K& |9 V( O3 j! {0 @" n5 C
& I+ {, [, @) \6 V, h 通过web终端可直接登入服务器
& K4 V- @ _9 H & h" V% N& p1 C, h/ Z0 ?, V
& o# ^/ @& ~$ Y+ D % Z o- N4 F* Z; Y* J8 h: d8 U/ y2 y
命令过滤器 0 z3 q7 F# [) r) N) m V8 M. I+ J
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
; b0 ~( I, @ N+ o7 ]. w 0 B/ J' T, i* D5 f4 ~
配置命令过滤器
* {% K! x! E$ I* `' B# c 9 B4 ^* Y. j2 g0 U( ?& G
7 y; x; z* T$ d( r+ Y: W) z2 |; ^' ` % V4 H7 Y! k; G' ^4 @% D4 q
( O( c0 a' B2 E
' }$ R& z' l) G# E& l修改系统用户设置,引用定义的命令过滤器
9 O; k& }0 H; S9 p ! t1 a( z9 j4 g7 e- O% @4 l
5 |: Z, n; e% j9 I8 M5 ?
+ V& V' x( L0 ~6 X
登入验证* `; R/ X' U4 Z+ s
( y: i0 G1 {; w# x5 s
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|