|
|
jumpserver % ~9 h! M5 H. i
jumpserver是一款使用python,Django开发的开源跳板机系统
" o. s5 B$ m' k) |' g) ^
7 K; n3 O2 j8 _" }+ p$ Y1 c; G官方地址:JumpServer - 开源堡垒机 - 官网& [) j& b1 `9 {# J5 G
0 v6 S$ [3 L z部署环境" e1 c$ f" f6 w* a, |( U0 C. b
5 ?& k$ ]" W) u& U" E
python = 3.6.x
' z: q& [8 \0 T# Y
/ Z9 q% r: @% H4 i. R- jMysql server 最低5.6
7 H* ] I8 u( |4 T9 N * A. d" E1 u/ P
Mariadb server 最低5.5.56
! {3 g2 N5 z: F" f2 }
1 `- o% R' ~" q6 O6 n+ dRedis
9 O9 [) H% w2 w+ | : a, n0 N1 k3 l3 K# t8 ]4 ^
以下示例用docker创建. R2 K7 c _; N+ x. I2 _* G! w
/ x' }4 g U4 Y; j& bdocker部署mysql ) h: ]' t" E8 o$ @% B
数据库编码要求utf8
0 c/ r& D9 D0 S- Q$ f! h7 S- |5 B
- c' [ k8 Q' @8 t) i# mkdir /data/mysql/{conf,jumpserver}2 T5 D3 M. Y# [; U/ w4 I
# docker pull mysql:5.6.48
; o4 M: v3 J5 {. X- i& ]# docker run -it --rm --name mysql mysql:5.6.48 bash5 R0 f; d! b+ ?; ~. R( f4 s
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/! M- S: d& M% ]" @; f2 K
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
/ q' P1 ^! K: _6 D- A/ F# vim /data/mysql/conf/mysql.conf! O9 F" k' F& ~/ P
default-character-set=utf8+ o' T' y6 [9 p, ]1 o; [
# vim /data/mysql/conf/mysqld.conf2 [# T9 F" u/ p! n7 O6 U
[mysqld]
6 b1 \# T6 M* z- K7 b) A" Gpid-file = /var/run/mysqld/mysqld.pid
2 v7 n) D2 c! j- csocket = /var/run/mysqld/mysqld.sock6 b) I" `) M- N5 \! L
datadir = /var/lib/mysql' U- ^- T: i& l* x2 h. r
#log-error = /var/log/mysql/error.log+ ~3 Z5 U! M- C5 ]
# Disabling symbolic-links is recommended to prevent assorted security risks' p" @% `- D; c) t" n* S
symbolic-links=0: ^4 Q8 s8 ?; f0 H: s6 j, a1 U
character-set-server=utf8. p& D$ q% e/ A; {. G8 a F
# 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
2 N1 f p) O" n0 L6 i7 A/ L( _4 ^3 `* h9 X5 f
##验证数据库编码是否为utf-8
3 D @/ d3 @" M# apt install mysql-client% G {! `+ H+ X0 x. o) L/ [- e3 o
# mysql -uroot -h127.0.0.1 -pmagedu.com5 P3 E/ q- k5 d6 D. u: L( ^
mysql> show variables like "%character%";show variables like "%collation%";
/ R% }4 b) G9 r J! N0 nmysql> create database jumpserver;
3 ]' W6 K- k4 h5 H% B& A+ ymysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
$ w: I! |' ~5 i" V) Lmysql> flush privileges; - D* V' O# q8 @
docker部署redis
. C1 @* d. \. T# docker run -d -p 6379:6379 redis:alpine3.12
3 `! e# a8 u4 m. j& {# apt install -y redis! l; N" ~; v- l1 L8 i U
# redis-cli
3 N/ X/ p1 {4 o127.0.0.1:6379> info
( j. o/ z# f4 j0 @8 M8 b! vdocker部署jumpserver
1 P3 {7 s- a# M% {2 V##创建jumpserver容器
- w0 R- K, P0 ]1 r, F$ udocker run --name jms_all \
5 K* v( q! n( ?( T -v /opt/jumpserver:/opt/jumpserver/data/media \
2 u- l" P4 @& }/ S -p 80:80 \: q- Q) W& j# n, Y
-p 2222:2222 \
' O- W( X- o) M* C! [% c: \8 f -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \0 |1 Q1 T- O* n- a. t9 ?& V' i
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \. X! f L& ~9 r; ~- J
-e DB_HOST=172.20.22.25 \
E+ P& l# t3 L, d' J -e DB_PORT=3306 \6 E! Y6 F3 |6 |4 }
-e DB_USER='jumpserver' \: m3 j7 o6 L% G4 s
-e DB_PASSWORD="magedu.com" \
6 n9 Y9 e" @+ i( Y# `- f2 [$ L -e DB_NAME=jumpserver \+ I/ t0 s( g7 |& g% r' G" G
-e REDIS_HOST=172.20.22.25 \* L+ Y$ R% q% b- d3 `( D9 e
-e REDIS_PORT=6379 \/ G6 u! P D' b" O; l1 H( `
-e REDIS_PASSWORD= \
6 S, N7 |3 l' ~$ y5 F jumpserver/jms_all:1.5.9
* j4 f+ s7 ?' u0 Y8 Z2 S/ e/ K
# X; o. c9 V3 t3 K; Z###浏览器输入ip,默认用户名密码admin 2 W& n! [/ J3 V+ m& m; m
4 h5 |* p7 b* l# W# C H
! V: n6 d4 h9 ? d1 C
& B. V; l2 K& ^8 w4 c6 ]配置用户和相应的服务器资源
; w5 ~9 d6 O; W$ O. _. m[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
' I8 y# ?3 P- o, d- T# k添加jumpserver账号并指定对应的用户组, D; G6 t! r% w
/ N6 I/ q2 C* n- `' ]
' i* I4 n& n1 [ K% J
) _7 y: D5 M( s& Q- A9 h" H# m; p `9 b# Z
添加管理用户+ }' _1 g7 ^# R1 M1 W% o& ]
/ E* w% V% A. z3 Q# e4 x4 T5 X' J" `
4 L9 x- f3 k6 i6 c( f- T
( P2 u* w, k6 l( G% y添加系统用户4 |0 h( c c) L" C
4 a; _% m7 @1 d3 P$ S( B( P1 O+ |: @( x9 u* C8 {
添加资产# I+ W" X+ ~% }! K4 ]! I
/ n& z$ P: |2 {* n. Y5 x O, Y- m# v' j+ y4 j( V
+ y3 p% U6 U( E% O Y9 N2 j$ W
. k6 R, n$ X5 t2 i6 m4 P; ^ ( w# Z- n9 b" L$ {5 q
2 e8 i" p2 r1 ]& Z( `
" _3 M, ~+ R( }) O, j0 g
i& r) D4 i* J$ Y
- J5 y G# ]/ I, S! H
* q# c% ? {1 k+ I ~3 x ! D) m1 T* C6 h
权限授权0 ?& U1 R% S1 [
& `7 [8 k! \, `8 p
) S9 d" C3 ~& |* l* ]- B* J
* a: H* D3 @, j) C/ H8 j使用新建用户查看对应的资产
) C% [5 f* [0 o7 Q9 v- v 1 s+ ?7 z2 j2 w
$ T9 t6 |% {$ Q `# @
' U- j* P# E' s# {2 j! ? 通过web终端可直接登入服务器9 m l$ F0 Y q9 \9 c; o+ u
1 c' H9 `) l ?
8 W( i- f7 `6 {5 [2 S; L& T9 H
- F! ~8 w V/ j% Q5 t2 H- s命令过滤器 " g3 b' `8 q5 q0 B) A* e
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
7 N* z1 U$ A) B6 ] ! i$ B( u# M: w1 \! c8 e
配置命令过滤器; J- p& M7 T1 d- h
0 j' X, F- O# c5 J8 \7 q/ s5 J. x Z! ~% Y* M; ^, Q
; _+ K& t* v$ g2 H: w: r9 ?! B" O$ }% S3 C# {8 \: n
" X; C" i) G! a: X# @4 J
修改系统用户设置,引用定义的命令过滤器
! @, n z) Y' U" ?, f 5 _# g1 j) z4 a' E, {' v5 [, v7 F$ }: V
( [8 k- z% ]5 T/ J$ g * J7 q. g6 ^! `! Y
登入验证1 N- X6 O# o3 g: S7 r; S
8 E0 e4 l- Q* C, Q |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|