|
jumpserver - P* ]5 J4 F6 o
jumpserver是一款使用python,Django开发的开源跳板机系统 }9 }' V+ F: `. f
& ^2 Q9 G- B( x; K( P- y) |
官方地址:JumpServer - 开源堡垒机 - 官网
0 o3 S: q3 @ U$ l% z* I
, _, c* G, \( }部署环境; w3 p5 `/ n9 k3 }7 I
' ~9 n9 Z! A! |7 k) dpython = 3.6.x
9 k1 B2 S, O6 ?. }+ ^* d + `! m1 V& J% G+ U5 n- P6 W
Mysql server 最低5.6
1 n2 W$ c0 Z/ D- j' D
; A5 T1 ?" |" w' n, C+ MMariadb server 最低5.5.56 o; ?: ^1 \# N
) B& s7 ~2 b8 @, L0 b7 T( f
Redis
9 M% f8 F7 H3 g; g7 ~
" Q: o, }$ v9 x7 d7 @以下示例用docker创建* v: g* I5 S, j- h
- T+ f% r! Z9 F/ O3 D
docker部署mysql . J* A- b7 q" ?6 E& o
数据库编码要求utf8
& B2 I8 \: u0 y - A+ k3 U- c! T9 _( q
# mkdir /data/mysql/{conf,jumpserver}
( x9 C; ^3 j6 h) T# docker pull mysql:5.6.487 ]. X$ N* M. ?7 @4 I5 ?
# docker run -it --rm --name mysql mysql:5.6.48 bash4 ~) g9 s+ _0 g
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/: z0 s6 x( T+ m
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/' i8 Q+ I+ q6 S$ z% a- i {
# vim /data/mysql/conf/mysql.conf6 b4 `; W% R9 c2 Q( s) y
default-character-set=utf8
) @) W" H: M% A- m& N* P5 A5 M* _# vim /data/mysql/conf/mysqld.conf
5 C6 c$ U( f# R* s1 q: a' d$ B2 o[mysqld]7 e+ [& A0 M! m/ z0 x
pid-file = /var/run/mysqld/mysqld.pid* R# ?0 \3 D2 G1 a
socket = /var/run/mysqld/mysqld.sock, D4 I$ ?6 P# s; O9 R1 g
datadir = /var/lib/mysql6 C9 B1 B$ o5 P
#log-error = /var/log/mysql/error.log. y0 C% t! ~) m/ H3 U2 r
# Disabling symbolic-links is recommended to prevent assorted security risks2 ~3 e! Q. C. A( |0 ?2 }
symbolic-links=0
1 P: @' }5 |+ b. Qcharacter-set-server=utf87 F: |$ \* [( m& L& m) F' y
# 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/ ^' |( E& p. K P5 T" t8 W' a
5 s$ t) m, {6 q" S) c
##验证数据库编码是否为utf-8
* Q9 C' o* J4 X; S& q# apt install mysql-client$ J w. z# @9 A9 q0 E
# mysql -uroot -h127.0.0.1 -pmagedu.com' ^- V; I- I! v3 e
mysql> show variables like "%character%";show variables like "%collation%";
5 |; x8 v1 G' c2 Gmysql> create database jumpserver;
- N1 x P; ~( l, l$ amysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
& M# _; d( [7 j$ ^6 q6 J! Q2 V. Rmysql> flush privileges;
7 X& A: l+ b, o4 t5 c* mdocker部署redis
) x2 I/ k+ x ~6 n% a) z6 k# docker run -d -p 6379:6379 redis:alpine3.12
, G( `# [1 \6 f u5 k( J# apt install -y redis
% ?* N1 N9 q9 O. V2 m) J# redis-cli ; G! [5 |/ n5 S. j* Y, ]; v
127.0.0.1:6379> info ! X2 _" G, Q' }3 u( e% n( p9 l$ l
docker部署jumpserver w2 c0 S" w% c8 e( S
##创建jumpserver容器
M) x! P" V. Q4 M; Z6 m0 sdocker run --name jms_all \: K* w' Y: |" v, e) x" N0 Z
-v /opt/jumpserver:/opt/jumpserver/data/media \
5 \* P, s/ a5 M) U! P( h -p 80:80 \
0 b, A8 K# ]6 P6 z6 b -p 2222:2222 \! l, G( a) t' ~- ~( A3 M
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
" G' s( _/ N9 z! N -e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
' `3 @) @& R$ j0 T% h' E3 |9 g -e DB_HOST=172.20.22.25 \2 B) z+ N8 ^0 ^) Y: u: N
-e DB_PORT=3306 \- k( ] G2 y2 P6 ^
-e DB_USER='jumpserver' \* Q, Y9 b, W6 n1 q$ j2 [: |
-e DB_PASSWORD="magedu.com" \
$ E: D L: K4 N -e DB_NAME=jumpserver \
3 R" {, c! d/ k* B( D -e REDIS_HOST=172.20.22.25 \
# D9 f) A! n |) `3 U -e REDIS_PORT=6379 \
) m9 u/ g6 V; L; Z7 S' { -e REDIS_PASSWORD= \. @" v8 O5 X: n' G/ z3 E/ G
jumpserver/jms_all:1.5.9
6 W3 q4 ?. b3 f! m# @
7 r, `; q4 o+ |5 ]" x3 t/ B###浏览器输入ip,默认用户名密码admin
* _' k) b g6 s& H4 U# n1 q5 o7 F0 p% A; I
7 L; Z3 H0 s7 D2 U/ p) c' S- | " j- H5 _" D* \0 I3 O; J' k& ]
配置用户和相应的服务器资源
, Z6 A2 @4 {# `0 {[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]; `, `2 A) D: `2 E# L' U
添加jumpserver账号并指定对应的用户组
& |' U! d* G$ x- q- {7 x $ d) i& }$ K9 t. B1 b
& h# j0 O6 y2 E% o4 V
6 \7 \8 p3 l0 ]# z# G
3 f4 Y4 N) j' M0 f 添加管理用户
?! V$ E, m/ T5 m# ?: Z$ i % D7 ~3 z: k/ w4 S; P
$ Q: u5 l8 m; A# e6 E8 s% `: G
1 y5 {8 t& Y. g) N3 Q5 b添加系统用户
# v8 R4 L/ a' s9 l" W
' i- L* \$ }7 `; P M% G
K( G# Y4 s5 t: d- h7 s添加资产9 n7 u; E- O; {; V
0 ~+ j/ O5 R& R
$ W/ B _* L6 g: [- E
8 t1 Q/ i2 V* X O/ \) k3 Q
4 o4 j) ] }' a; o' i- r5 [( ^
$ e) X0 b+ @! S9 u7 N1 m
5 b% E6 |. _( @9 R1 s' h
1 i0 s& K" O1 t* e2 s
! j7 \ N. |* z+ |/ R
6 e9 h$ r9 m( X% o8 o$ i9 z+ ^+ G& |# l* ~! w7 k
5 e5 n- _& H6 |: H) `5 X权限授权
9 e& F; u9 b5 E& w. o- b8 S+ l
$ X- Q/ b0 T- V* o1 j. J$ U
# L# s/ P- i8 I6 d2 e2 Z0 b8 R) K
% T T# J( M, i5 A: a使用新建用户查看对应的资产$ H, A: a. H; W( m6 y, A
$ R6 d; ?6 x9 X8 l7 A! F
) F& a. P# y& J) F' _
' U: }. x7 Y1 D 通过web终端可直接登入服务器. i) [( t# c6 J% I0 T4 f; l
/ ^6 t5 m/ e/ d3 L! H
& b5 `& l1 @8 [( N0 x" k
0 v/ g/ q* [# n% F, S# d; j, Q. s命令过滤器 . H9 Q% r4 J/ s+ W
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等% E1 S r$ C0 g8 h' l. N. T
$ f4 m% r" W l' ?( ~配置命令过滤器
) |- ~* T3 C/ g/ I& E7 S$ b/ p
/ A2 O) y! m0 w: ~7 e& c. O+ F8 z
+ r) o6 b) f! X2 c) g$ d& G
+ ]/ l) [# Q' Q" H3 [3 u5 P+ L3 R6 L# ~! g* C
3 V) y( g8 t/ F9 `0 ~修改系统用户设置,引用定义的命令过滤器 : n- u& i+ F: @2 n5 v( {3 k) p# i' F
: V: A, q8 ~1 U! o
- v6 J# y: M- l4 J7 h0 s% ] 9 D& b. t% q, d% F/ F' N& [2 D
登入验证
* k! \, U7 A2 L( l
\! l# |1 Y4 r9 Z- ~1 e$ ` |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|