|
|
发表于 2022-9-5 08:07:58
|
查看: 1544 |
回复: 0
jumpserver $ H& [% ^) u! N3 ^6 ?# ~. |
jumpserver是一款使用python,Django开发的开源跳板机系统% U: O1 G8 @# B# c4 v I7 }
, h, |2 O# p! q! ], ~" {官方地址:JumpServer - 开源堡垒机 - 官网
9 a* Y1 R# |, g M# L
2 C, h( Q6 q% c7 e部署环境
0 n: l" O; f: B
" s2 Z& Y- ^) p! [$ O: r5 n. Epython = 3.6.x
, V# L# T- Y" P4 P ( h8 J1 w8 h3 A7 `: q2 z
Mysql server 最低5.6
" y4 C4 y% Q% j 6 [ h: `8 \; \9 h- ^7 d1 m
Mariadb server 最低5.5.56) C9 z, z0 \& c3 ?) |
: \7 N! l& T3 P8 z- W& P! eRedis
! q% I2 ], p# p# N3 }. @ 9 R$ a% O6 ?& ` k6 z* w1 k
以下示例用docker创建3 e5 D+ h; N$ x w- s
. h5 Q' B5 a }# n. u2 Pdocker部署mysql 3 L% F7 L8 D! F8 N# J* a
数据库编码要求utf8
# U5 Z0 y: q- A3 S, d
- B- Z; p: c" }. B; }* r9 Q4 N* q# mkdir /data/mysql/{conf,jumpserver}
t1 w. B8 K9 b% v# docker pull mysql:5.6.48
' Z& @# S- B- x. O8 b+ p7 J# docker run -it --rm --name mysql mysql:5.6.48 bash) Y/ @/ W' M- p; x3 A/ O
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/3 D8 g+ u( \6 \7 S) D) J
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
1 [" h& g5 \1 j% e. }0 w" h" B# vim /data/mysql/conf/mysql.conf
- V# C$ h, T9 Q G; ~2 R% Ydefault-character-set=utf8$ d+ d: @. t$ P0 r+ M
# vim /data/mysql/conf/mysqld.conf9 R! T+ {8 w1 |& K$ Q2 G
[mysqld]
# o) S+ g: ^( u9 x( qpid-file = /var/run/mysqld/mysqld.pid1 a6 W3 v/ C/ b$ }- L8 i1 d% Z
socket = /var/run/mysqld/mysqld.sock+ N* B5 R% S1 b4 {
datadir = /var/lib/mysql, y9 s i, ?9 K5 q+ G- {
#log-error = /var/log/mysql/error.log, c% C2 M8 l; K) J, V8 a% L
# Disabling symbolic-links is recommended to prevent assorted security risks
$ [* Y, u5 E2 T5 ~2 `/ ^symbolic-links=0, t n9 G8 F4 V; V9 N+ D% `
character-set-server=utf8' X" [% _# S4 X! Q! W& U0 Y4 a
# 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.489 T, T+ h, F0 h4 ]+ Q; I9 y
+ i1 I4 A3 T6 j2 @" k##验证数据库编码是否为utf-8: w, o# _$ t5 ?. y1 v7 J1 ~7 y$ {
# apt install mysql-client
) I& G- \( C+ y- s# mysql -uroot -h127.0.0.1 -pmagedu.com
4 b0 `' } `3 X( c) J. Smysql> show variables like "%character%";show variables like "%collation%"; D; G% ^' _9 A. X8 Q
mysql> create database jumpserver;
' G& E0 b" X" G9 |mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
! p5 r. f: p5 q+ r9 N' ]mysql> flush privileges; 5 M8 a8 h- W" g2 ~, O. U
docker部署redis
4 l) {4 Y7 \9 I6 E: z# docker run -d -p 6379:6379 redis:alpine3.12
0 W1 e. M& J, o& T# P# apt install -y redis U+ D; u! O3 z# w
# redis-cli
1 p+ z, N* Z: Y# i; Q127.0.0.1:6379> info 8 Z/ @+ T: N2 D( ?6 ^& R
docker部署jumpserver : I8 k: G3 Z5 Q7 E0 M' a
##创建jumpserver容器+ h& U* s+ b5 g
docker run --name jms_all \! U" I+ N! T- N [1 a- f& Q+ o: g
-v /opt/jumpserver:/opt/jumpserver/data/media \
% u& A9 C9 n; J* m -p 80:80 \
& w" w- r; c( b -p 2222:2222 \2 I% f8 `) S( G9 L2 V3 l7 T
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \1 j) K; l. e. `& p* X2 {) w0 O
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
- T2 b+ y7 b5 h' C) K7 Q" X& M7 E' X1 _ -e DB_HOST=172.20.22.25 \7 w$ c1 |$ D' E5 U$ D: w
-e DB_PORT=3306 \
P* p, k. b$ h. ?! Y! N -e DB_USER='jumpserver' \
3 o" `4 T' [! t: p/ n1 A/ j -e DB_PASSWORD="magedu.com" \
; S- }1 V, V: z) m -e DB_NAME=jumpserver \' _4 F, p7 z C& E) _# a5 R) H$ J8 y
-e REDIS_HOST=172.20.22.25 \
! ~: o+ d& S; X8 U -e REDIS_PORT=6379 \$ \0 X4 Q2 L3 {5 r4 r7 k" d
-e REDIS_PASSWORD= \8 k5 u) I3 r( `) i! y
jumpserver/jms_all:1.5.9
, t# u1 `5 B8 w
3 q% x8 @% d+ T" n; d! \###浏览器输入ip,默认用户名密码admin
1 v# \! A4 \. n) E/ V( X$ {) o5 `+ \! {2 D
* s7 L: y) Q6 W7 H, c2 C
) d0 Q! i ?! u配置用户和相应的服务器资源
/ ?, X. J/ b! f7 w; K[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]& @! q4 }# S1 v: e& b
添加jumpserver账号并指定对应的用户组
, s; H4 K: O! x6 F2 Q8 n1 n! _
& ]/ O( V5 \6 f9 P e
' Z- [8 P; m) R
5 e% I# c% g7 x" Y' P5 U8 f5 I, B1 Z4 Z% \& f8 _$ m) i
添加管理用户
3 j$ h4 N- f$ {, {. w" D$ D: n
8 {6 d3 f3 k1 O- d: j8 ]' w. l
/ W n# b# v& ~8 E* A" }3 p ) S- o1 M- y y* C. U
添加系统用户
, h+ c: N3 R) J& n/ a* Q
H$ Q! d% o2 ]* E/ y1 A1 [$ ~ P6 j% R0 f/ N! }) C5 ~
添加资产
4 S$ G6 ]5 h( x# G) {* w7 _8 ]
7 A1 G' m9 ~8 e7 o# N) J* }# n" q$ A5 e8 ^
# t9 T3 E' X; @" c/ b4 A* T }/ V* a* P7 m+ s! i
# w5 U3 x) C; H! d8 _& B q p+ @& I6 p
2 Q- P+ J& K& M* P 9 ^) U7 z( F! B4 b* h
' L6 f1 c& n/ C( q
1 h+ d: l' X% u1 ], O, e( o' N5 f1 `9 f: G
m! x3 J! D% M4 X% g/ [; [- ~权限授权8 y9 X. X2 |* [6 T" j$ D
/ c, p" ~) S; F" k, \) |
6 M9 r5 }% s& q( l5 Q4 u) P 4 ?" \2 P3 C, u" x
使用新建用户查看对应的资产+ D3 f7 ^ H8 T. E4 H
6 c2 P& |; v( S
4 ?: c" |4 {" u* J
7 D2 f. S5 k! F7 e8 T! p: X 通过web终端可直接登入服务器
; T" D( U. X! w" ?8 J; x' u ! c! S7 v" d; D* m X% q
3 w- C& v8 l- T, a/ G u 8 A0 X. V, R4 K, u; h0 s) q+ @
命令过滤器 + n& r5 h1 l& _+ z1 Q4 f' W
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等# m( |/ E Q3 f5 v5 W* `. Z8 u4 C
5 f) Q5 [# b! J+ ~5 t. T
配置命令过滤器
' I6 i- M1 }0 G( H8 ]
' M3 h) R: \2 |$ w. Y
. m9 B" ]# [5 q& a) C- {4 l
# M/ ~8 A2 I: v0 e
7 I' _, m' y. D% v1 ?+ o# N( J' q! o
/ J/ V. j* {( R+ A' A; F# S7 ]修改系统用户设置,引用定义的命令过滤器 - s5 c7 |/ `+ {, ~: n* I- z, s
/ a$ |3 m' i7 Y ~ Q
, ~. B# S' k. ~+ m! l" N
( n B: H% _* p/ V% i$ ?4 Y
登入验证* k' U9 C/ _8 Y: x
: e2 ]- T% `5 p0 u9 A |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|