|
|
jumpserver
* N3 b1 c# U( r1 C/ sjumpserver是一款使用python,Django开发的开源跳板机系统4 h/ Y, |1 ~' T: j$ R+ ]2 X
% i- B; F, {, \6 Q
官方地址:JumpServer - 开源堡垒机 - 官网. N/ X7 L3 H( j" E) _
7 ]0 \/ }, K, b$ W/ K
部署环境
6 C8 v" H. k; ~4 M! R# C
. ^- V2 x) k( g+ f& {; Z4 cpython = 3.6.x+ m3 t' c8 D: Y. J6 y
' K) Q5 v# ]8 u/ G7 D4 d% _
Mysql server 最低5.6
+ j* W7 L$ T( b4 I& u8 R0 ^9 o
3 g4 G( D) x6 {Mariadb server 最低5.5.56" s* n; r! [/ \9 Z
: V: t/ V. N' i& J( D. H
Redis; I5 `" B/ I g& Q+ \2 K4 y
9 Q( ~9 r% E( a以下示例用docker创建% \* i$ d9 B8 a. i7 V
: `; w- X- W, o; h- }7 T( P- K
docker部署mysql
" `. J" p2 ^( ?/ C) }数据库编码要求utf8( N4 P8 O- X2 z; G( N. r
% I+ u- s( b6 n r2 o1 v! E# mkdir /data/mysql/{conf,jumpserver}2 P1 A) l. l: k( Q5 C; V
# docker pull mysql:5.6.48$ q4 Q, z# N8 ? y
# docker run -it --rm --name mysql mysql:5.6.48 bash
: b0 C* p" \% I* d' Z# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/
/ B+ f8 }& S& q# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/ {7 T- u8 L/ L$ h
# vim /data/mysql/conf/mysql.conf0 H4 K( p" d1 ~# [8 R# r. H3 z
default-character-set=utf8
$ G* [* m4 v4 k: _/ `$ N# vim /data/mysql/conf/mysqld.conf) X( c# X& A9 p. t
[mysqld]( }% \ q9 w# j a2 s
pid-file = /var/run/mysqld/mysqld.pid* Y( a- \& F) R
socket = /var/run/mysqld/mysqld.sock- j# c/ G2 W3 p" C i" V) s
datadir = /var/lib/mysql; r s& ], ^: U; Y+ C" F
#log-error = /var/log/mysql/error.log
) M: m+ r# o. P) A% D# Disabling symbolic-links is recommended to prevent assorted security risks
, V" m* a) } n# G/ k/ }symbolic-links=0
3 ]# z H O: p: V6 E: m% Y, jcharacter-set-server=utf82 H- p' Y2 g0 q! h W
# 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
. m, |- u$ y5 }6 _" o& W
. [ V4 F% e3 ^8 N X' c##验证数据库编码是否为utf-8
f4 p: r- B3 Z0 x8 O# `& W# apt install mysql-client: m, c1 Q. E* ~- N
# mysql -uroot -h127.0.0.1 -pmagedu.com2 }; m& L2 n4 n! C; g
mysql> show variables like "%character%";show variables like "%collation%";& r/ R+ D1 W: ^
mysql> create database jumpserver;
& s2 {; i1 | u) c; m1 n/ Xmysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
) [9 J! } `5 D. l# I2 J: Rmysql> flush privileges;
# P! s# J7 _6 Y4 Cdocker部署redis
' `: z- P) \. B- X. j) K# docker run -d -p 6379:6379 redis:alpine3.12
. g& q! L* ^2 p* I5 t; G' A# apt install -y redis+ v/ _. C- G/ @5 d+ R
# redis-cli 1 a5 G: j* Q0 I, Y" L& D! ^
127.0.0.1:6379> info
$ D [. P( Z* y* b( N& Qdocker部署jumpserver ) O' Z) L7 Q3 k# e( g' W R
##创建jumpserver容器/ y' Z4 T3 F/ L9 R" U
docker run --name jms_all \
% N. H& S4 W/ p. o" R( x -v /opt/jumpserver:/opt/jumpserver/data/media \
6 j; y2 Z( I0 l! i# ]' q -p 80:80 \# P: I. \6 h% E7 }5 m' |) B
-p 2222:2222 \
. j+ L" M9 c4 h9 T9 ^& g9 A -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \7 c3 ]1 h s+ o, _) c1 `4 U
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
/ ]: ?7 x3 c# I- f7 U6 K5 x -e DB_HOST=172.20.22.25 \% h. [5 ^+ \0 m, k2 S8 n7 r7 B! [
-e DB_PORT=3306 \% Y r$ M: |6 B! J
-e DB_USER='jumpserver' \
- w2 z3 N2 a1 Y* q5 x5 l/ ?% E$ B -e DB_PASSWORD="magedu.com" \5 ]7 u$ G2 X* j& z5 t% Z
-e DB_NAME=jumpserver \% b5 K0 `, l, f9 o4 X
-e REDIS_HOST=172.20.22.25 \4 Q. U: O R: k7 |' K
-e REDIS_PORT=6379 \
6 b- ]& j: _; F) x- E -e REDIS_PASSWORD= \) B& r6 a% P0 V) P! s
jumpserver/jms_all:1.5.9
6 d+ P7 E1 I9 l! { d$ u# E! P7 R3 K/ U) K
###浏览器输入ip,默认用户名密码admin " I& s5 I8 k) u% H
/ M9 e1 D P, B; d
1 n( N. ~' x( {$ v& a; E4 [
9 B8 |( Z& ~& f5 t! I- \2 {! [% a配置用户和相应的服务器资源 5 {- v6 u8 F* \. {$ ?; _7 G
[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]6 e- N6 y7 A$ f1 B2 R+ n) r
添加jumpserver账号并指定对应的用户组+ ^6 g) \' I9 O$ y* I" [
x4 K. F/ Z- f8 h0 L( n: N5 {; Y& }* t
0 w4 d" Y* ~/ y
; t) ]) Y4 V5 j3 O6 I; S 添加管理用户
7 N9 d; n1 T3 Z/ Z; T ! z z, N9 b6 n! p
' o1 | j' `0 ]+ I& b% B
p: T; y8 P$ E3 P9 F添加系统用户
) ~( W7 ]1 W. U1 Y0 T+ W6 x
# Y$ `0 k+ D" n& p# j4 D$ r) S9 U
添加资产 ]! C1 A9 N" d/ g! k! @: h
3 |0 {9 V( }. U1 j6 T+ a5 P5 ^* C
k, @, J v# E$ v( x; ?
. z, R+ N h/ M3 N' D# C$ ^9 E% s0 b; V; ]1 v4 m
h; f4 |% P Y; V/ y
7 E M, G. B+ F( Q- W
* z9 k0 m/ S5 v0 a8 u; B$ q
3 z" n& B0 e3 [2 {, Y1 G0 n
' v0 E9 E S& n7 h" _
) C% a4 L: G5 E
# U- s& u" f' T+ M& k7 X! s: P权限授权
$ v: i- @1 E- _9 f: K0 ~ ( \6 A6 W" ?; Z& ^7 b" d7 K/ u9 u
) J) K* ?; s0 M ?. W3 y
& Z% O* n( q9 V; K2 K3 H使用新建用户查看对应的资产2 {8 R/ v0 R ~# ]
3 A1 e+ r$ m' z
$ s. |4 Z7 M5 I$ s1 b
- _5 }+ N6 s4 `0 F" g/ B
通过web终端可直接登入服务器
5 c3 ?2 X) L7 K! W [5 \ X6 `" i
, h$ H5 |# C; P, P7 O
! _/ K: D% D) R! l% W
& R, a3 J d+ `/ g& Y( |4 O6 t命令过滤器
5 p: m$ `5 s0 |. j" X" L* y ]$ H使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
/ E$ v6 F3 B5 q- M0 J4 v# _ + G4 G5 J e* Q1 |# l+ E* ]; E
配置命令过滤器4 A" l. T7 [ Z( X3 L5 T* S
/ Z+ j" Q: P9 j; f
5 \3 A- u8 ]8 I, z* k( m
. ^8 G3 y" A" D
+ O0 I" L4 K; s' z + O( `# N5 ?- p5 S$ Z' C( e
修改系统用户设置,引用定义的命令过滤器 & s3 m$ w$ N; W5 z% N
, X& K: b w7 _, Q! `( }( J
- T6 ?; I: [+ f 8 S8 W9 I O- Z' I( Y
登入验证
, t: B! W% f4 d& o k! i
, U9 B# [. Y/ d$ x% } |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|