|
|
jumpserver
D& R, }. e) R+ d" Z$ j/ Ejumpserver是一款使用python,Django开发的开源跳板机系统* k, O( ?# z8 b$ b7 I! a% K* R5 t
- Z& `( d; m' R0 c- F. t* f8 g: h( @
官方地址:JumpServer - 开源堡垒机 - 官网
0 q/ C, y3 q: f$ M; |, W ; l+ p/ { O2 T" a8 z# y# L, s, v0 e
部署环境7 F H/ S3 }" K; C
4 o! L4 e* q# Hpython = 3.6.x
; W" I- T; [0 h4 B0 t
' [7 e* i& l0 `. A! ~3 _: t2 WMysql server 最低5.66 H/ s6 S d( D& j$ w% Y } M
m: i( G+ Y3 L1 J7 ~* s( p. w6 T- jMariadb server 最低5.5.56 h5 e: l: J4 h; I% E# f7 t
6 t# ^+ x' U. S; `- ]3 ]- B( g
Redis. H4 X+ V5 C: Q' m9 N
4 ]% S, A3 i3 m7 X& O( ^9 ]% g以下示例用docker创建& [+ K* s; ~3 b$ C
4 K9 y% f1 n9 @+ K: t" x/ A* ?
docker部署mysql
0 d% X0 v& k- }' Z5 A: j2 F数据库编码要求utf8
% M9 f# m u! D& J* U% U8 q9 S/ f; @1 N : [$ W, t4 ^3 [% p8 j- ]5 R! Z
# mkdir /data/mysql/{conf,jumpserver}
$ L X2 @8 ?, @% L; K ?; W# docker pull mysql:5.6.48
6 |' x( T9 A6 [. N6 j9 q# docker run -it --rm --name mysql mysql:5.6.48 bash
6 Y+ Z, O* c# k1 ?3 l: y# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/. _5 w8 h# G3 R* u7 d
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
- r, K0 N8 a+ f2 T& Q- S( y+ t( f# vim /data/mysql/conf/mysql.conf
# `- \) P p2 I+ V& P9 _+ Fdefault-character-set=utf8
( Y1 p, [0 G: w# e8 s# vim /data/mysql/conf/mysqld.conf. Q3 g% N8 u, E, {
[mysqld]
% r- Y1 W" W3 o, g1 W6 xpid-file = /var/run/mysqld/mysqld.pid
8 a7 T U8 }* Gsocket = /var/run/mysqld/mysqld.sock
. s( c, g, {3 ydatadir = /var/lib/mysql
( _( c( k7 l, W- m#log-error = /var/log/mysql/error.log& c5 ]8 }7 }& Z' f% X [
# Disabling symbolic-links is recommended to prevent assorted security risks" N6 F {0 j+ c& M Z% i+ z/ L
symbolic-links=00 x) s6 I K3 k; h7 i9 F
character-set-server=utf8
0 w0 r. i- v: T1 ^# 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* s7 a) \8 \# A' R( X" ^
+ C2 Q2 m) Y1 f9 _& S1 u& v: u# a##验证数据库编码是否为utf-8
, M3 D# p( O) V6 A# apt install mysql-client' B2 q3 Q' B( Q Q" ~
# mysql -uroot -h127.0.0.1 -pmagedu.com
( ]: Z; A T9 H/ Bmysql> show variables like "%character%";show variables like "%collation%";. ~5 [$ J0 c+ L& }4 |8 J r6 \
mysql> create database jumpserver;6 T' P& s* x6 a! f V7 B
mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';; `6 |1 D, k( ?0 r& Z% U/ ^ f
mysql> flush privileges; 7 A2 @+ H. C; l6 N
docker部署redis 7 E$ c' K0 j+ `8 g0 u
# docker run -d -p 6379:6379 redis:alpine3.12
7 M0 a/ M5 H# ~, s9 z4 @, t# apt install -y redis7 n' \7 m" A3 U& k( ?# N% F
# redis-cli
{3 ~& y: R$ G# m7 C$ q5 l127.0.0.1:6379> info
6 {. \: T. K( f* Idocker部署jumpserver
6 H1 S0 C, J' L9 r: U2 _##创建jumpserver容器
4 p q; p) ]% Z3 v: `docker run --name jms_all \" q2 R6 r# Y1 Q% L
-v /opt/jumpserver:/opt/jumpserver/data/media \
4 @: C: a2 O, B8 B1 Z; l% {0 { -p 80:80 \
/ B+ w" R+ ?% w/ I -p 2222:2222 \2 \/ j- @4 I c5 t* S' K
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
8 ]" q5 T) N! a2 l7 f8 { -e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
) T( b3 N8 B) }' M. v" \% ? -e DB_HOST=172.20.22.25 \
1 m) r5 l2 n2 ~2 e7 D; k6 z -e DB_PORT=3306 \: Y( s( o1 Q0 i9 u A4 Y a
-e DB_USER='jumpserver' \8 p5 u9 z' K" w I
-e DB_PASSWORD="magedu.com" \
( X V9 ]3 A! `# l -e DB_NAME=jumpserver \. w- l$ A/ c$ V* S- {$ ^/ I4 T* v0 g Q
-e REDIS_HOST=172.20.22.25 \' t- R( |* f& o z3 k* @
-e REDIS_PORT=6379 \
$ p# J$ t L( R, y -e REDIS_PASSWORD= \
( _. J6 v; j! m$ c4 W5 m jumpserver/jms_all:1.5.9; @& {% t3 R' R# s/ d
* `: L: Y$ I R- l4 E' `7 j$ b* e0 \###浏览器输入ip,默认用户名密码admin $ ~" L& g" f6 r: w* X& B
# |" r6 H' b! F* @ 3 X: r* s) z5 `+ i7 P( W
6 h2 }: Q {2 v* ]" r8 I
配置用户和相应的服务器资源
1 c0 C7 A. q3 I7 T9 r[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
) Y+ V# M; `& l. C$ U; B添加jumpserver账号并指定对应的用户组
9 m( [$ z* b1 U$ a" ~ I0 L % B4 T: N1 o ~4 Y5 N
- B% u3 q$ h5 V. b6 ~8 x1 `7 G+ Q
% [* u. K* n( v2 P) Y
) U- M# \- _9 B# M. v/ B& k 添加管理用户- H0 w2 w+ k# T# X" f5 `
% o0 d& Q3 ^2 K, W2 W+ N2 [) v2 D/ [: x
* p) ]+ B T& N& t5 B3 \% P+ ^8 }
添加系统用户
: S$ N6 I/ H2 Z/ G$ w
- q7 Y; x3 ]' |6 j; h9 F, V2 ]* T E; ^- h- N
添加资产) ^- h; v/ T3 Z1 K
- \: }6 s) z' y/ s4 A' u& n5 j" S2 G+ s0 A( T) U5 ~& R8 W. u) h/ B
0 y- s6 d/ W! H- ~0 J5 e; N) d* z" d; _* s4 W. @
; T ^7 \6 d3 h5 n
) U: |, _6 b0 l/ [/ ]# W
9 `: _5 O) T9 R1 \9 q2 ~. v I1 F+ Z' t' @% |# x
& u2 r4 \; T( |* J. X: V+ K4 o
. M4 q7 O+ ^; l: _+ b
o7 k5 b+ `# |6 R1 E权限授权
9 n; ~% g$ O% i+ ?, Z
3 L1 P- x- F0 l% N. O5 c, J) N1 P( |4 b
9 l+ \( A. S& F使用新建用户查看对应的资产
5 ]$ F% |3 S: Z6 [4 X4 D e+ E
' P- |3 G2 i( S! t( u. m* J/ o$ k2 t: q* [9 g( [' u
: O" @. \; c9 g8 Z* I 通过web终端可直接登入服务器; h. J7 S) J4 ^
& p1 Q1 W; {: e
9 m, ?2 x% y+ p8 D$ ]: c
, N5 X1 u$ M# K6 V# u命令过滤器
! @( T* k# A/ x2 l6 n3 G& j$ e使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
6 Y; ~- N+ y# `, T7 O- W" g
' c3 f1 e) Q+ z6 J配置命令过滤器
9 `7 l% N2 B/ f' L/ i: p
( L+ m/ }' T* G/ n {
& s' V7 q# s: I! D 7 W1 Y9 @/ o2 s! Z& i' h
1 D/ L$ O( R% s% C% m 7 x9 f) W7 J) a9 ]
修改系统用户设置,引用定义的命令过滤器
1 e& t9 \. B7 l. O, p+ O# ]
; \+ F! _' j/ M! E& v" @
% m3 L3 S0 s6 |: p' Z2 Z1 X( }" n) h ) J" A# K8 e" T
登入验证, U; P# ]3 X8 N0 K
9 y- [# j8 C9 d( F# B" O! s
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|