|
|
jumpserver % j% `/ A# ^ F& B8 A
jumpserver是一款使用python,Django开发的开源跳板机系统
# }$ Y5 f- n* N6 U) y & a f2 p6 V d) v+ E
官方地址:JumpServer - 开源堡垒机 - 官网
, M1 b) ]6 W! J, C5 y2 ` 8 m! H4 F2 s! W5 ~& P3 s$ N. p
部署环境/ `! A" h9 L8 T M1 r
; e) X' Z: `( x0 d: `! T
python = 3.6.x! y7 p7 M" S# d1 Q) E9 }
' F% ^! k/ p; |7 U+ s6 J
Mysql server 最低5.60 t/ U( s! {0 I+ `( D- o. S. M _
I2 N% g% z4 a
Mariadb server 最低5.5.563 ?2 E! Q, V+ ?6 w7 w7 c. f
: H0 x4 D l( p9 G
Redis
7 e+ h& }* ^9 }
: U& \2 }2 R' ^# a9 N以下示例用docker创建
% B: g; \. [8 L" n! F6 u) X) S : P! F, [/ ^: q* _
docker部署mysql
! A' s" l& N$ @数据库编码要求utf8) y N, K- X# H% A) {
- A* [- X& D8 R! Y: m3 c7 E- ~" K
# mkdir /data/mysql/{conf,jumpserver}$ r; h/ m1 i/ j2 [
# docker pull mysql:5.6.48
5 B9 i0 [4 x. A6 g9 L! Z8 V# docker run -it --rm --name mysql mysql:5.6.48 bash
' K& ]- i0 P* E1 _# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/ r+ R" q4 V' y# ?: _1 O
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
8 d* x* @$ c* E- e6 T N# vim /data/mysql/conf/mysql.conf: W' m- V5 ]8 \8 K
default-character-set=utf8: q# f+ k* v q( g
# vim /data/mysql/conf/mysqld.conf
. n0 o3 ^0 t8 V, o) V. u[mysqld]
0 @7 V% f! W6 y( Z) A6 npid-file = /var/run/mysqld/mysqld.pid
8 L. B1 ?4 \, C! Q9 ]/ p5 ~/ Ksocket = /var/run/mysqld/mysqld.sock
$ E# d# K3 A5 K9 `datadir = /var/lib/mysql
! X2 K* C2 h) D1 X#log-error = /var/log/mysql/error.log
. a2 p0 H+ B( [/ b5 S# Disabling symbolic-links is recommended to prevent assorted security risks
/ ~- F& @$ M8 W' t9 t# z# m6 y0 Wsymbolic-links=0& H8 K/ s- b7 |2 V
character-set-server=utf8
* t( K3 y3 ]( t& c8 v, F" 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.486 w+ [% w9 A7 R; U5 G! {6 W+ |
3 u& ~6 V, m& o% h; e) p##验证数据库编码是否为utf-8
* {8 `8 @! y4 t+ E* F# apt install mysql-client
9 R9 m! j1 c; N9 M* X4 h& m# mysql -uroot -h127.0.0.1 -pmagedu.com
2 C* }# K2 H) c2 Vmysql> show variables like "%character%";show variables like "%collation%";" P* H) b. x+ U
mysql> create database jumpserver;
- ]' ~$ V8 N6 M0 S9 ^ K; Jmysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';2 X: ]4 z; Q: ^# s
mysql> flush privileges;
2 A+ i9 x( `% I. G7 t# ^. q) ddocker部署redis ' d& P0 x- |- B# C# T& s: S
# docker run -d -p 6379:6379 redis:alpine3.12( j: M2 y' X3 i' z6 G P
# apt install -y redis
9 L% G0 {: S0 Q! O# redis-cli 7 o& v8 a% z% i" E' R
127.0.0.1:6379> info / v# o7 B, v8 E4 r$ G& i0 V
docker部署jumpserver
; c0 M9 M& \2 e5 q g0 Y##创建jumpserver容器( o8 L& I$ ] |( a6 C$ O# |# l
docker run --name jms_all \& _; r. U2 w- J' I0 Q% W
-v /opt/jumpserver:/opt/jumpserver/data/media \
0 s' y7 A) s" o2 f1 ?- R -p 80:80 \
2 X1 B6 l& p% K9 O -p 2222:2222 \6 O; d" V) @7 v5 Y
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \/ y+ A% g6 Y0 j4 W
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \5 G6 Q |) v) a$ ?5 @: y
-e DB_HOST=172.20.22.25 \+ m8 x8 S! q5 z
-e DB_PORT=3306 \, j, C2 H% r- t" ]5 l. q' J$ w
-e DB_USER='jumpserver' \6 I$ u* l. m& C& P! s
-e DB_PASSWORD="magedu.com" \& R J2 L+ z) H; H; z& ?' c
-e DB_NAME=jumpserver \) f3 X [; w% m" h2 |; J6 Y
-e REDIS_HOST=172.20.22.25 \' w$ p7 {$ T6 J8 u& l3 V
-e REDIS_PORT=6379 \
L v# Q3 b1 w7 [* Q -e REDIS_PASSWORD= \
) k6 e* z6 ^* C2 ^1 o jumpserver/jms_all:1.5.9
# L. _ \ U: [7 S; S2 J" w ~/ G+ \$ P7 d) Y/ ?9 b1 F
###浏览器输入ip,默认用户名密码admin
8 W# M/ g8 b1 P+ G5 z
% f% G9 Q1 m8 N2 y3 f # Y" R) A3 {5 D+ G5 R
5 e' X! @( f$ b' e3 ^配置用户和相应的服务器资源
7 d5 a" {# u* V2 \% w$ ?* ? @( L[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
# U& [1 {" Z9 c% @" ~0 V添加jumpserver账号并指定对应的用户组6 F$ t4 D) w- r* D$ }# m
- f8 T$ z0 D2 V% O. N5 k, g V) _" ]9 b& o
# J2 Y1 [% V3 d* u" P' v
5 f1 f# l4 t, w2 C 添加管理用户: G# g) Z4 X3 n5 J4 ?7 M! N
# Z' l b/ e9 h' J, S% i6 o/ c: R
7 F% H) n/ T! r
* j( a& d2 A B6 s" I添加系统用户$ x1 {) ]3 F; }5 G2 t( O* m1 s) |
0 @ K8 c+ e0 y2 d( i
( o6 y5 u8 G' m& }7 x; {( S+ P添加资产$ I5 P4 ~6 y* M, g: t% z% M! ^
) g, @# B! N- K' d4 V# |) H ]7 \! P" R% r1 a! I2 ~7 G- _
' v# B, N* s* T: h" j1 m. E9 i9 M) n9 k. L3 |! N5 g" I- X
: _: A# l1 m2 {- n' ^6 u9 V0 O/ y+ M4 v- T
0 d- w7 f% X1 @- s! v: c
* X) o/ s8 P9 \ 6 P9 Z) `: ^$ q3 n* r& j4 F
@. e+ |: q+ H) _( a 4 C4 m! k- X% z% W; e. k
权限授权+ B7 y. K$ A* X6 {" m+ x6 ~
9 L, k9 {. r5 r. n
$ h2 V& c% M) T" q
/ p& D5 k( m1 {0 p8 e$ o% _( d7 z
使用新建用户查看对应的资产
% \$ C' r) F, ` 6 t7 O9 |% v ]4 _/ V. V
* W2 u* A$ r3 _# w- @
/ `6 Q: ?8 \- v! P
通过web终端可直接登入服务器
( S1 O! U' E5 a- H
0 O# z9 H8 O$ z! z4 x& d& @, I A
2 I6 B+ ]3 q# M
2 ~( A& w; D8 o% J命令过滤器 5 ?3 R% ?/ n' b. u0 L
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
9 H3 h3 _+ B% _, T' G Q: d
; |9 a* u- k; Y- |配置命令过滤器! K0 h) t# B9 I3 y
0 ?; c6 N' c+ R1 v1 H
& _( x* k0 R# h
% D e4 p7 j6 N% T/ G K6 B" A/ h
7 J/ W& H% W# G, g3 M x* L `9 E
2 k6 t9 _4 c" ~& w/ l% L; q+ @修改系统用户设置,引用定义的命令过滤器
- L- d. N, O3 R% D& |* I4 m
9 [0 r$ P0 _' h/ ^6 x, `! D K2 x/ u0 P7 M' S9 y
+ Y7 m7 q- K0 u2 x, q* F% Z登入验证
6 S7 u+ p( n! e2 j& _+ i u
7 {% P6 c. Y2 X |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|