|
|
发表于 2022-9-5 08:07:58
|
查看: 1447 |
回复: 0
jumpserver
; g) O3 y7 n9 l( }% c4 U# \8 e7 q; Hjumpserver是一款使用python,Django开发的开源跳板机系统8 f% E1 A# D& R: o* a9 w
7 @& ?- [3 m# ]+ w: |, r$ j9 f
官方地址:JumpServer - 开源堡垒机 - 官网
8 w1 c+ E: `9 A
" d. f( r' O2 C部署环境4 C2 e& z* j% a' T% |; N+ p
. ]: O3 M o0 O$ I5 @, ?python = 3.6.x. Z7 ]3 _* v q3 p
. a7 z0 x- z; U h* X! yMysql server 最低5.6
' t9 n _, V2 a
, G0 `6 S+ M4 ~! }+ A) }# Q+ FMariadb server 最低5.5.56
8 A9 I, `; w, u / n8 f- R! w* s5 |: q
Redis9 {& d' a6 a) A7 ?4 t# D. S2 A
& B4 s3 V" J+ X7 X# {* M5 I
以下示例用docker创建
, M: ~( W# \+ U) O" l
$ H Z& ^1 U- M+ ]8 r$ f7 R- ddocker部署mysql & Y& p3 e0 v# D5 u# Y3 X
数据库编码要求utf8, b8 x- {/ ?' Q) |0 j, A* y
3 |0 c. X. t. r8 y9 c8 O! }
# mkdir /data/mysql/{conf,jumpserver}) r* `2 H/ G5 a! t+ t. o
# docker pull mysql:5.6.48# h+ e# h2 i/ k% I' x9 d
# docker run -it --rm --name mysql mysql:5.6.48 bash
" ]! a4 H! ?- Q" B8 P* g( p# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/' t' V( u# q7 t4 {8 }
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/; V9 T- H' E* R7 U
# vim /data/mysql/conf/mysql.conf
9 o0 ^8 U+ Y, ?: Udefault-character-set=utf8. i1 K5 r% h+ ^
# vim /data/mysql/conf/mysqld.conf
" p; D& [' _" |' R0 ]; z1 `[mysqld]
& W1 S/ n& H6 [2 ?" T: Apid-file = /var/run/mysqld/mysqld.pid
, M5 |: w- ~4 E& U2 Vsocket = /var/run/mysqld/mysqld.sock
& M, b" W" U/ ddatadir = /var/lib/mysql- |% f4 `' d; p. `2 H3 r
#log-error = /var/log/mysql/error.log8 B/ d; H" P$ J7 e0 V0 E/ Y
# Disabling symbolic-links is recommended to prevent assorted security risks% p" H! B3 f, s3 ]( X5 V' m
symbolic-links=0! g, F7 }- E. Y; I5 {
character-set-server=utf8
f9 `$ Q1 c" O# 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! }0 A6 m2 H8 E8 A9 t
$ e- u7 }' e4 g- @. H##验证数据库编码是否为utf-8
8 j' E% J0 y5 n1 r+ m Q1 d# apt install mysql-client! \- X: F: w8 ^, r- w+ J. E
# mysql -uroot -h127.0.0.1 -pmagedu.com) Y- p. D9 g* N3 o
mysql> show variables like "%character%";show variables like "%collation%";4 e1 ?4 Y5 n( Z/ J4 K
mysql> create database jumpserver;2 E! O# }$ ?8 `
mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';, e" X0 p; A, l4 R* f/ m
mysql> flush privileges; 6 L9 y6 i4 f% e& e. v/ } J+ R
docker部署redis
2 v9 `# P/ a, Z5 m/ O5 X8 ~# docker run -d -p 6379:6379 redis:alpine3.12
7 d Q0 ?. Z" V* |# apt install -y redis
6 ? D3 C0 H- _ I4 q# redis-cli
( N. x1 o0 `4 O1 F8 n. W1 c127.0.0.1:6379> info
, f+ ~1 N6 Y8 `0 h4 w. s5 j8 Fdocker部署jumpserver $ U6 y ~* r! d9 H( N
##创建jumpserver容器
; J7 o. f( r2 g6 M; Z0 edocker run --name jms_all \, O/ S: h% o' Y6 v) k
-v /opt/jumpserver:/opt/jumpserver/data/media \& z$ N9 _9 E+ E" {& | f
-p 80:80 \9 o0 @: ^3 l2 k: M
-p 2222:2222 \
6 F2 {& A: O4 d! R. D6 f% H -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \( `4 c2 n7 s5 T4 N, p
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
1 t! H0 k1 k: R7 ^9 _ -e DB_HOST=172.20.22.25 \
8 o0 D) v9 a! }( y8 D6 j -e DB_PORT=3306 \% i+ u# f' {- C. p% e7 l4 G: \
-e DB_USER='jumpserver' \! _' Z7 F1 f* G* v& f& a" }0 @3 V9 j
-e DB_PASSWORD="magedu.com" \$ I$ i1 B8 H( }2 U9 j' U
-e DB_NAME=jumpserver \
- ~ H5 Q4 R( Q3 f5 L J" d; m -e REDIS_HOST=172.20.22.25 \
9 v# a: ~" J; C0 s3 `' Y0 L( f -e REDIS_PORT=6379 \
5 W: o" `5 f' S8 z -e REDIS_PASSWORD= \" C+ R. L* s6 v9 I* N
jumpserver/jms_all:1.5.9
& Z. e! F& Q8 t t6 b
6 p+ K% q1 P+ o6 A$ Y- K5 g###浏览器输入ip,默认用户名密码admin
8 F8 A7 `9 w$ `2 _3 m3 M$ T- t4 t. i& r8 ?) i3 x- A1 \
( }; i3 c4 G2 C6 B ~; J
- i5 \! \. s8 K: @" X* E1 i7 e
配置用户和相应的服务器资源 & l6 {! ]) O$ I
[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]2 ?# c: x# m# ]9 |$ w: y
添加jumpserver账号并指定对应的用户组
8 q, N; Q7 ?( d0 m" X) y" L5 S1 I
3 y2 t. K% Q1 J1 v' E
6 ~# k+ L# z# J' m c
. Y7 ?2 x& z6 F3 }# v5 |
7 `! ~$ S: J2 S+ e' u5 }7 _7 b 添加管理用户# @ Y$ Z7 y( }6 K0 S' y% ]
, B8 x4 M$ K @4 T& a
, _. |" h: j3 ~( K# E$ \ : f$ o8 V( m ^" |
添加系统用户9 [9 d& A/ @: g! z! M
0 w: D+ `: y9 I( p
. |) ]7 k; Y* r, r
添加资产( T. l2 n* Y$ S G3 R4 C
& z9 U( h7 @8 ^. ~1 D1 t: v! b' u: e1 h; T
8 W! p( m$ X4 }- o0 T, \; X1 b& E( F+ n+ h5 J
, k& ^) D) I! l6 b* Y6 F
0 f: o d$ H% f
. A' X& y4 `" {4 Q! I2 H
# A- d( F5 H9 [* \) ]
4 [7 ?9 |3 ], u0 s8 l. x, d
0 C5 D0 Y' V$ V) b' p! D 9 {* q- B6 u0 W) Q3 Y6 ?; ]
权限授权6 z" C( F* q5 S2 `; f! d5 g) c
" ^) ^+ e* }: j4 x/ e: ~6 i. L9 t$ a! ~( W x
; M! N8 O& f. Z2 z7 ? g! n" K使用新建用户查看对应的资产% i& }# ]# k' o* @4 L7 y2 D! W
, a7 |: }) i$ c: N
& j6 Z Z. e; `* N& p y
- z8 u! I' J3 T 通过web终端可直接登入服务器% A; i6 _5 u# O. I: a/ y
% ^! y* ]+ H6 `* e/ w
9 _1 X; Y6 _/ T$ U$ D6 y
4 {1 [9 F+ _& H命令过滤器
4 Q/ b# g& n, r4 b9 h# L9 f使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等' ?: w2 Z+ S, c
2 d% y: c8 ^* P1 i配置命令过滤器: O7 b( P g3 I; [& _# I! |9 b! U
3 C/ K7 L# m- j( I6 q# J5 V
( P6 T# m4 d1 A( W/ A2 H
" \: T; ?/ W( l) G. [# M* [) R1 }2 Q
. @: _8 P1 @; Z ( ^, W3 A$ @8 U4 W! u$ M; |) K m( S8 Q
修改系统用户设置,引用定义的命令过滤器
8 a, A$ o! q" Q/ y" R
" Q- g M5 N% \
4 _7 ]) y! L7 ?1 O6 j6 Y0 G1 B * l! l E; c* h
登入验证! e$ j0 O+ U- v
3 Z8 e w: J, B$ b3 C* |
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|