|
|
发表于 2022-9-5 08:07:58
|
查看: 1487 |
回复: 0
jumpserver
3 g, R$ v7 p0 _0 B3 n" tjumpserver是一款使用python,Django开发的开源跳板机系统
# A4 }: w4 _2 g% C
j. X5 e2 [* P! _* L$ s# c官方地址:JumpServer - 开源堡垒机 - 官网! x5 U$ f G7 X+ `7 w9 p% f: S
) e/ |# t, p/ o' t; X
部署环境
4 s2 ^/ U+ Q1 N, \2 {) r
& I( @% |* s! U* Y+ ~python = 3.6.x a6 N# Z$ F6 b/ K0 p5 G
1 s" s8 G6 L6 W9 G
Mysql server 最低5.6
$ b8 b. ~3 V: p " s* D3 P2 C3 ~2 e
Mariadb server 最低5.5.563 s6 ?" [! V) b3 Z* v" U
# _# _1 x* g' ^3 ]Redis
/ I0 g w/ u; s: x 7 c0 I8 R8 a' J9 p
以下示例用docker创建. x" R9 Q( z3 g5 ^( m9 v
" P$ o& r/ t' h; ~. o) }6 z, ? k
docker部署mysql 4 h7 r/ r9 _/ s
数据库编码要求utf86 B' W$ m8 ?: ?
! _; m. D0 I/ T4 M: Z* h: M# mkdir /data/mysql/{conf,jumpserver}. x" [. A4 P* L' C, u$ D
# docker pull mysql:5.6.48
; \: U9 L5 \, J+ b! e7 u2 l! r# docker run -it --rm --name mysql mysql:5.6.48 bash% w" C! V# R+ t9 b! \' |8 Y
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/
. D) h7 ?3 }8 \4 e |# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/0 l2 i& j& [( Z/ t+ _
# vim /data/mysql/conf/mysql.conf* S: f& g" j& C2 Q3 A
default-character-set=utf82 q) y: @; K; U# q# e( t" j
# vim /data/mysql/conf/mysqld.conf# @4 e# \3 B; V9 g X( R
[mysqld]
7 ?! t9 g. I4 M, \pid-file = /var/run/mysqld/mysqld.pid: G. N! |2 O; B) p8 Q( a
socket = /var/run/mysqld/mysqld.sock+ O! J0 ?2 v& r( C- l' q* p
datadir = /var/lib/mysql
Z' W0 W6 i8 K8 O5 X% r#log-error = /var/log/mysql/error.log7 v! W* d- k! `, i9 w3 L4 o
# Disabling symbolic-links is recommended to prevent assorted security risks7 d3 M1 \# C7 Y$ a1 T1 o. _8 v
symbolic-links=0/ N3 p% x# d0 i$ k
character-set-server=utf8
3 |0 F5 i, d! t3 V+ h) Q9 x# 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
* |1 ^% s! p" b- f8 z9 W+ E, I- s# I; l7 L: f3 W5 T) k' M
##验证数据库编码是否为utf-8
/ n7 s) h+ a, V# apt install mysql-client
! y5 w( S) j$ m/ ]# mysql -uroot -h127.0.0.1 -pmagedu.com( f; M, f* F8 O, {; z& o
mysql> show variables like "%character%";show variables like "%collation%";
+ f |/ k: J( Z. U2 T$ K+ C) s cmysql> create database jumpserver;7 d6 p W3 v" F5 T& V
mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
8 h G% a$ E$ kmysql> flush privileges;
- ~: a* k( Y5 \( m5 q0 ~' A/ qdocker部署redis " `+ m/ k( Q7 |: ^7 m
# docker run -d -p 6379:6379 redis:alpine3.12' W4 l X+ [5 A% s- N+ J1 N& @
# apt install -y redis x/ X+ w3 w' V( J$ G
# redis-cli
6 e' \- \/ _- s% u! p! U+ t127.0.0.1:6379> info - c5 ?8 g7 Q. Z' s4 H% v$ a! S8 J
docker部署jumpserver % X/ @: M& _5 } c0 R
##创建jumpserver容器# w1 \2 x5 X% D; O
docker run --name jms_all \5 h6 [6 V: E& c: G2 @* o: M
-v /opt/jumpserver:/opt/jumpserver/data/media \& ~4 a3 |/ @6 V
-p 80:80 \: O; A7 m4 i4 Q: R/ g
-p 2222:2222 \
. L/ N2 t1 g- e4 l! e6 a3 L9 g -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
* I. y# I% w% U! B -e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \- ^3 @0 E% @$ D: c8 }+ ]
-e DB_HOST=172.20.22.25 \6 ]6 e3 R! H, ~' x
-e DB_PORT=3306 \6 N! c. U" L0 n
-e DB_USER='jumpserver' \
4 Z% L4 u1 ^: j9 s" s -e DB_PASSWORD="magedu.com" \
. H1 d% j, z4 y/ S4 W$ f% M -e DB_NAME=jumpserver \& b7 P; }6 h; o0 u
-e REDIS_HOST=172.20.22.25 \
4 }8 n' k& D3 M -e REDIS_PORT=6379 \3 E. v; T6 e* }3 z5 K; Y
-e REDIS_PASSWORD= \
5 v/ O, l; w, r+ Y: U/ e% v jumpserver/jms_all:1.5.9
5 \- F) @2 j1 c& M1 D/ E9 ^0 [" i" z& S! {7 @/ U- E* _4 Q
###浏览器输入ip,默认用户名密码admin
. N& o( h' g0 R l0 ~* J, H: @
, u# h. F% w/ A2 X x( P
5 A6 D2 Q# U$ i- y
4 @% @6 N9 s9 W配置用户和相应的服务器资源
: j" [% E: \$ H) W7 T[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
( T' I7 j; }+ @8 R添加jumpserver账号并指定对应的用户组
1 F: ^* o2 w" w5 n 1 A) ?2 y) r! W* C+ x( E' N
$ \9 m$ c# {- H 9 G- k# G, ^( l0 ?- ` n3 W
- {; p$ I7 f* E+ I 添加管理用户, S+ q, g; M4 R
$ V! S1 {5 @+ m( J" p2 Q
; Z. ~3 U. g# T% d+ e B S9 P
2 |6 ]# |5 G! U' ~2 @添加系统用户8 Z2 Q; u( }8 a1 x
' ?7 E: e# {9 D0 T) M8 }* o& I
' S+ \# R7 B: `7 g* w" B# x! H O2 z- R
添加资产
0 n/ k/ N/ @9 ]! f; k& N & b' s* {1 `* ^) x* T, |
: X+ T+ i& @$ o" O# P! T : u( v* a9 `7 u: M- b% T) h
0 k2 n9 y$ S. F1 y! ]. x. l$ l
& q- f% B2 |( I5 _! e3 @5 ^, E# Y! G: a/ a/ a9 {9 e! v$ q
0 j5 \% R* t3 d! }+ B6 u2 S" H# s4 T% b. G/ R* J' g
$ ?6 ~* f6 Q0 R7 d/ E1 k0 ^; I5 J
1 h# D' C: a' y; {0 s$ r# {
2 \: s) }6 G) g/ j权限授权; O# Y' n0 a; u8 @
2 P& G; V$ s5 Q* {* m2 N$ \ A
, M7 _) n% C6 V) a- {
/ X0 _# o( V# W! I' W使用新建用户查看对应的资产
; E+ Y+ ~9 h4 }
" j X; Y* p7 |, g3 ^( O8 t) z3 ~
: Q+ i' }8 x2 g Q( k 通过web终端可直接登入服务器
9 ~0 D) s5 a7 V$ ~- U ~ : w; `0 T, @1 ~1 U. [, p
+ b$ z: w" z% @' L. R
$ p. k! `- ]( d- ^! d2 G% a命令过滤器
% u3 F; j. }2 i3 g" p; a使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
7 i4 V# c/ l0 O( z
& q" k5 F" y+ Z$ I$ O, S配置命令过滤器
' p# J; ^* M; n , v B3 D! z' Q* _
( Z }5 f$ F6 V" I
8 ^ B) x B9 ~" [
- U! @& b. V* ?2 }; ^
2 I4 e! A2 O' g3 [! i5 T修改系统用户设置,引用定义的命令过滤器
+ I& d2 K8 c. N2 b 7 L: v3 G: w1 h8 t/ C; ]- J; C
* T5 M+ E7 S4 k. t
0 [; L: O1 Z& b6 } f3 L9 o登入验证
4 t1 ~& Y8 U- K , h* i5 h( A3 ^
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|