|
jumpserver ) M! Q2 G: q. m
jumpserver是一款使用python,Django开发的开源跳板机系统
: ^: {/ Q1 J# `# J; v" [
; S7 S4 J3 d* x+ d! @官方地址:JumpServer - 开源堡垒机 - 官网
7 b. O- b& O+ K; |
$ U, {# H& l1 d2 l! O! A" n部署环境. E' I# Z% i. ~4 F$ R
" L9 t/ x& J. |" upython = 3.6.x, r* K J& x- v+ x
% z# @0 G% I6 o! J! V4 q
Mysql server 最低5.6
: I: c) ~! E& p9 o# s 8 c5 Y# I* X- Y- L
Mariadb server 最低5.5.569 Y; |" e O, l/ }- t
/ ~5 ^/ |$ m1 H! F: c1 a0 \$ G
Redis
2 Y4 E* N' v0 s4 C
# K, d3 e8 | h& G以下示例用docker创建; ~# }+ C( @0 g7 A
% g/ J) ]/ c* v( i! a+ K+ i1 `
docker部署mysql 6 A) N9 s/ B5 ` o
数据库编码要求utf8
2 _0 }" j& d$ L' A+ q 9 q' L8 Z& Z4 ^
# mkdir /data/mysql/{conf,jumpserver}
% v O/ i" B5 x& d) m; @# docker pull mysql:5.6.48
) O# ]1 X5 I1 ~3 L" W# docker run -it --rm --name mysql mysql:5.6.48 bash
R; ]) w2 G% j; O- X- y2 r# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/
3 [, b4 A/ v: o# W# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/8 I$ Y" e! p9 @2 t- L9 B) y
# vim /data/mysql/conf/mysql.conf! k- k2 t+ L' E* t
default-character-set=utf8
. {) a" j3 ?8 a- h, F0 s: }0 A3 `# vim /data/mysql/conf/mysqld.conf5 P+ r/ V8 }2 J9 W1 E! E- X; k
[mysqld]
& I; W" k* S) Q9 o7 z4 ?pid-file = /var/run/mysqld/mysqld.pid
" v3 P$ N+ j8 [! d( I& ~socket = /var/run/mysqld/mysqld.sock& K4 T% m/ a' ^' e; e' V
datadir = /var/lib/mysql8 B( {& Z) L* ^9 I, D7 u$ ]: C
#log-error = /var/log/mysql/error.log
- Q6 d; h5 q. j8 f# Disabling symbolic-links is recommended to prevent assorted security risks
& G" M2 p# C3 a' l. m: Psymbolic-links=0# ~- x+ D4 M% h. i8 M
character-set-server=utf8& Y( o6 } c; R2 G. k
# 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
; A& I: r8 S0 l r) e' x# K. T2 W3 p: O0 O0 m
##验证数据库编码是否为utf-8: ~: F; g8 u& ]
# apt install mysql-client
+ F3 l6 O* S) X6 a* n/ p" l" S# mysql -uroot -h127.0.0.1 -pmagedu.com
: D# @( E4 B" Y) ?0 w: [) {8 Gmysql> show variables like "%character%";show variables like "%collation%";* V0 Z2 f) o9 z# k+ |9 C) E/ j
mysql> create database jumpserver;
4 s! @ W9 n# n6 j2 Q @, S ?3 vmysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
' @" l$ @" n# ?" q: e4 fmysql> flush privileges;
1 `2 B- u i* [docker部署redis
* Y1 x; i- O+ r) c( F+ K# docker run -d -p 6379:6379 redis:alpine3.12
; W$ g C; x' Z* C% n5 R) m# apt install -y redis
; M. t) J6 X0 D4 h: h# redis-cli
! Z8 c% \2 n* P$ }7 N+ a: @9 b127.0.0.1:6379> info - N6 h$ o m/ I+ u( v) ^* M
docker部署jumpserver & p! D0 [* J2 U9 F: K* t$ j
##创建jumpserver容器
$ H# @+ e- t7 L1 X6 S& \1 Rdocker run --name jms_all \* O% [- w' r5 ]" f7 P" {
-v /opt/jumpserver:/opt/jumpserver/data/media \
/ E; | G8 h i1 e; g -p 80:80 \
: d |6 E* u" B) I' w3 b/ ] -p 2222:2222 \' E) V0 B; _0 Y: D, j. C
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
8 N- N9 P) C4 h3 k, D9 B6 k% x -e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \* s/ q/ ?4 f' }4 U3 ^! y; [/ c
-e DB_HOST=172.20.22.25 \
; F3 U) V4 V9 n& B -e DB_PORT=3306 \
( s+ ^2 P+ d% ] -e DB_USER='jumpserver' \5 x, w. l n9 o& W( e
-e DB_PASSWORD="magedu.com" \) `9 G, S Z& O8 Q
-e DB_NAME=jumpserver \ M& g! f4 x( P& k8 x! d; A! J
-e REDIS_HOST=172.20.22.25 \8 y$ O2 E/ }8 @" u; r1 a; v: X
-e REDIS_PORT=6379 \
/ O0 p+ Q F" x% N4 s -e REDIS_PASSWORD= \& M- y. D. z. p! P/ w
jumpserver/jms_all:1.5.9; C/ k/ A% @& Z* u- P; y+ Y
+ o, }" k- m' o4 O( f1 {8 \# J
###浏览器输入ip,默认用户名密码admin 7 W; a5 H }4 N/ X
5 a) n u5 d* i% D9 M
3 b, }5 c+ g" p) F6 v6 h
! k8 V' m7 c% s) M8 h' E配置用户和相应的服务器资源 2 y; Z0 H# Q9 L* O( T
[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
, B9 m+ q4 n2 \. d, q添加jumpserver账号并指定对应的用户组
- U0 l a- i; v/ w
+ i) g: G. l" I% T! i( o3 i+ e9 B ?
- b4 y* `% n2 Q, t5 P& E M j
7 ]3 @' r8 g8 ?& _
添加管理用户 j3 s& q/ t. _, V( u3 Q! R
- [$ s+ K3 j+ R( Q
4 F" j- n2 l" W* X8 J ( ?0 ]9 _3 _' j% I5 l
添加系统用户2 w" N' K) D( t1 x) X k' d1 x
) |0 y. I$ d. k, t5 t1 J$ P) M" p2 K9 ^% t
添加资产- `; B @8 ?$ I# w5 Q" J" A8 @
! E2 ~- n* d9 l8 B9 r7 G: a/ [7 s! D1 P; b
# x3 E) X8 \* W8 v& K* K0 b2 u" L* V/ z/ y8 {+ p4 U
. z1 }* f- q3 E( @
% K$ T) @- }# {3 R2 a. R% B + G" S/ C# | W4 H$ Y: N8 u
- J9 o+ p; p' O% B % y, L9 P8 X% v s* Y
) \( R c) e8 r$ O: W' F6 @$ `
1 V, j5 ~& R; ]% A" w, y4 ^& F- Z权限授权, g3 g0 E( p2 y" U6 M6 j
4 f* o& C5 ~+ } n, b7 p+ h. v
- \! |6 { o) ?8 f
5 o4 a# [0 U2 U; k使用新建用户查看对应的资产
" I3 O( M K; B& v2 l3 r$ |. m
" T4 p# ]6 c/ A6 `' {
! ^, p! D. L$ T& o6 Z
) f3 V3 R W! z& C+ S$ i 通过web终端可直接登入服务器
3 \$ H: T" |1 M- p! ~& s! M+ x0 Q
8 C$ i+ g& t9 H7 P# A8 `! G' J
& s4 E" L8 `+ o6 w6 p/ k+ k/ x7 b
9 L" G2 T, a( b3 j9 M6 S$ g( @* `# `命令过滤器 $ U+ i1 p5 ?8 F3 ?/ t! j5 G
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
- `5 c0 W& H' P : F& L( ~+ A# h; z! z' w
配置命令过滤器
0 w9 D( M* Z+ f. p4 o) ` 7 |. i% ]# K! b4 X
3 i* l2 v3 B6 E; z: e5 y
& f4 P* z) x7 p3 H! e# Q' y3 s
' I: ^1 d3 W7 U) m : R4 V8 e8 p, l: l" C
修改系统用户设置,引用定义的命令过滤器
: K3 w/ U) }% s$ r! w
]8 O2 b1 z% `7 E6 v8 v; p
I$ ^1 B( x5 ?( Q$ O. B Z& P9 D 1 D4 s4 S: g. K1 u1 U/ M
登入验证' Y: x1 t6 h7 g1 E, P( |
" R1 [3 v2 ~1 P! ~7 z1 d
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|