|
|
jumpserver
W; K) f, J, Y0 ?, Z" k" g' r6 @* Kjumpserver是一款使用python,Django开发的开源跳板机系统
: \! a, A* ?/ H& e# p ' W% M& B7 F. z/ W
官方地址:JumpServer - 开源堡垒机 - 官网
2 [' b: }& `* o 7 E" d9 n% @4 ^, U
部署环境4 W" B, R# o' k7 M& q
8 c6 P1 c2 O- n4 U. t2 opython = 3.6.x+ o' q: l; V$ v* i: N% t6 p
; @0 ?3 v% i! j) s8 _/ R1 b
Mysql server 最低5.6
/ Z- H6 V, M( h; Y( M: p ; P. O$ D! C! c
Mariadb server 最低5.5.56
# ]& j0 t0 k5 K
% ?& T$ s- W+ q+ R5 \Redis- h; Q% a* \6 _: s$ S
9 w5 |6 n/ M: @% j7 [
以下示例用docker创建9 [ M' K& v/ |: E
) W4 a9 \7 I4 X8 idocker部署mysql " O) g5 {( J" s. r; [# m8 Y# O
数据库编码要求utf8
, Z% r) Y( o1 k+ z ' X2 T8 d# U/ D5 p
# mkdir /data/mysql/{conf,jumpserver}1 P3 E; i$ R# ? U
# docker pull mysql:5.6.48
5 Z5 ^8 h* N3 g( T5 H# docker run -it --rm --name mysql mysql:5.6.48 bash O$ H. N1 } A5 h! o: n m& A. E
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/( }% F* k) J6 o& C5 W! T) {
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
9 y3 Q! G9 W" B8 Y: o5 Z( u# vim /data/mysql/conf/mysql.conf o9 N2 X; P% X1 H* v
default-character-set=utf8/ M& f g: j. ~% @+ A7 _! c5 Q
# vim /data/mysql/conf/mysqld.conf' z9 m0 B: H3 \9 R- p0 T
[mysqld]+ z" h2 g- i( F) U8 q& I- K* l0 ]' x
pid-file = /var/run/mysqld/mysqld.pid
! y; S2 ~4 W1 n9 Y; R1 v9 t3 usocket = /var/run/mysqld/mysqld.sock y/ B3 g" L9 Q
datadir = /var/lib/mysql
7 B& H# _, t$ V2 H2 {+ f#log-error = /var/log/mysql/error.log0 [- t4 |% ]$ g- u5 }; f! }
# Disabling symbolic-links is recommended to prevent assorted security risks. w) u7 r. T8 L! x6 n
symbolic-links=0
5 Q% q' ?% n9 k6 ~( [character-set-server=utf86 Q2 z C* u, a3 A- Z, o+ A
# 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
( ~- k; d( ~$ g4 ^2 b! l3 r/ c9 {; {# K3 x
##验证数据库编码是否为utf-8( Z! k* B( B6 j: Y9 _
# apt install mysql-client
; M5 o0 a4 h; r# mysql -uroot -h127.0.0.1 -pmagedu.com
" L' n$ A9 J+ {, Dmysql> show variables like "%character%";show variables like "%collation%";
i9 L r0 Y: J- q+ m0 Smysql> create database jumpserver;
: [( R& }0 H v( P* Fmysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';/ A8 k2 ~3 e7 ]
mysql> flush privileges;
: U s( k; ], \% Xdocker部署redis ; o" _2 I' v3 O5 w& O0 ?9 \& g
# docker run -d -p 6379:6379 redis:alpine3.12: Q( o' x4 R8 D+ v" V* f
# apt install -y redis( p" z6 z' S. k0 Z
# redis-cli ! g! c2 s7 [7 s4 e
127.0.0.1:6379> info
# V: i* q* M& T1 T! ?' tdocker部署jumpserver 4 J7 B4 o# v% K; i' U
##创建jumpserver容器5 q/ r* O! B) Q4 g3 c; `
docker run --name jms_all \, [* z4 w( M0 s% y" M4 ~6 m
-v /opt/jumpserver:/opt/jumpserver/data/media \
+ Q) J/ Y5 `3 C -p 80:80 \
9 p2 s9 m/ G# d -p 2222:2222 \2 y8 e& u6 O4 }1 q% o& U
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \, d& f) S4 d# @' V+ O
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
3 \+ ~7 u" M/ | -e DB_HOST=172.20.22.25 \/ I; ?+ ?! F0 \/ m8 g; X8 F
-e DB_PORT=3306 \
+ _' ^/ E9 f9 c2 {/ R$ O3 P- E -e DB_USER='jumpserver' \; j; C/ \. H% ~4 f% `5 o U& j
-e DB_PASSWORD="magedu.com" \) _8 U' g' g! d- Q( Q
-e DB_NAME=jumpserver \3 ^, |; y" J( W* n% V1 n/ J& t
-e REDIS_HOST=172.20.22.25 \" F, d2 I* c' h4 W( @
-e REDIS_PORT=6379 \
0 W$ S9 u7 O& k1 U" n# y -e REDIS_PASSWORD= \$ q9 b/ v: A5 y8 I* e
jumpserver/jms_all:1.5.97 ]: |5 X* ^! o6 C( D$ T: u* i# Z
2 N6 y2 t0 \' d* q4 I8 J- S- y& N###浏览器输入ip,默认用户名密码admin / ?; I. H4 }: |# W. f
! \# |1 p: P/ W/ K% S7 a: Q8 y
3 M8 Z4 x. T! ?, c, g6 N) V9 C ; J( l6 d: E. o, W+ k, p
配置用户和相应的服务器资源
6 p& a; m2 w( t0 F( l" {[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
8 j5 J) i7 |2 h添加jumpserver账号并指定对应的用户组
; |% Z+ j" a- d5 z% P0 L; `
; J# g' j0 G: s- _& V. O5 b
: G" A$ k% T$ D) I) y: x
& y+ `7 _' X$ z$ K/ U" a
8 ?& v$ q0 ?% S' B 添加管理用户
& }& G1 U' O; g2 H- t# f/ F
% c& m: B2 y; K/ C6 G
, V% E' s: ?/ _$ Z * o/ a' p6 k. ]
添加系统用户( ?9 G- s& J1 ~% N6 X: e
$ Q& ]# w0 x" x, P J7 x' {/ {- H
$ h- Z" l% j" L# u添加资产* g5 O; \* N, v$ A& c6 `- p& _
" Z6 D4 d7 y( }& |' g5 Q
@4 z9 G# n. }+ @ 1 s* u- {' ~! h- v6 V* \
: B6 @% I% T) ^
- t, C1 f% d9 J1 p% ]; ^3 T, ^
! |6 x+ E4 t& q$ u7 e1 w
+ s# x" J; O4 u/ N0 j6 } f; \# d+ `3 c. W8 e6 g* T3 B
& B T } @! i! j( t# I, l
" G( h# L1 [2 M
5 r$ Q- ^) P7 `- f
权限授权
& |0 y4 x K. ]6 Q/ Y9 F' M ( d! h: Q% X; {$ l5 ~! Q1 D9 a5 z! K
) O- u+ @: R" P' x* Y' _
6 g! ~; f; q, L: Z: t; m使用新建用户查看对应的资产
0 T: Z% d! p" \7 @* d- O# z7 M
! r1 L0 k+ H1 t, R" n5 q7 m& V) D" d$ a. d' b+ X' W8 V ?/ J% M
9 }# u# e/ d# | ^: o' @/ k; {- N) c 通过web终端可直接登入服务器7 N* H/ Z3 j+ x2 I m: ]; ^
0 z6 F& ^! L# b1 b$ I' {
1 E, y2 v# z: w1 M
* \( o! F+ `. c8 D+ t+ M1 O3 i命令过滤器 ) L* m& Y. r- y2 k
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
& F @2 Y* A: g: Q3 y/ B( ^
' K9 W2 r$ c H: m& W% w配置命令过滤器2 y3 d8 k; x b/ }' ^: f
7 g+ z2 `* d% c4 w- J( f5 @
# e8 u r/ o* s0 K ) A8 u7 C. c8 B* S
$ f0 A5 n! s5 `0 j R
9 y" u2 U: _+ z/ O" j/ n7 h+ R4 S: Q修改系统用户设置,引用定义的命令过滤器 ! \4 R; W6 |1 E- U F v2 w
9 A, K! D1 ?$ W+ z0 X2 |8 T
) {8 Z8 T1 s/ o; X2 A/ `
6 r: J' d# X1 L' E3 s( D6 O登入验证) _7 \) Q2 e$ K( l
4 V' A0 e$ H7 L) T* o
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|