|
|
发表于 2022-9-5 08:07:58
|
查看: 1637 |
回复: 0
jumpserver
* P Y5 R: }( B1 Xjumpserver是一款使用python,Django开发的开源跳板机系统
, K7 m1 h! R$ Y/ c" B; ?" J: K
8 \" K2 u* M/ L官方地址:JumpServer - 开源堡垒机 - 官网& ? f" V. H% t
2 Q1 j& c0 W5 I) U+ T) q4 _
部署环境
' Y/ M0 w! Y+ S/ `" ]. m
' w' l8 F: \7 U5 w7 @python = 3.6.x
. m/ H$ L) v& n% ?2 ?" s( X8 H9 y
4 q. M! C/ o( m2 KMysql server 最低5.6
, Y! ?, S) t: n. T * T: Q1 h% J3 d) M$ H* Q
Mariadb server 最低5.5.56# y, I6 ~) w9 A' E
) F, t- s3 {) Q, r
Redis
6 O8 k* M0 y' f4 p1 \ - O1 w' d0 _: T) A
以下示例用docker创建. z1 Z. c3 V. C5 _! h; V
! a1 t9 U7 w: a5 v6 xdocker部署mysql % q6 {" }" m& D1 ^5 {* @- h/ {
数据库编码要求utf8
, M( z8 M- L, b
1 d4 A" v; l1 n& M9 z2 F# mkdir /data/mysql/{conf,jumpserver}
4 m. _$ B9 z4 r+ a3 D# docker pull mysql:5.6.48
: L+ A4 q& Y9 x& g' w8 {8 w# X# docker run -it --rm --name mysql mysql:5.6.48 bash
1 G K5 `- l: ?, f6 l% `2 T. Q# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/
+ z+ K# n: }5 s; ?: a Y2 w# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/9 `9 e7 o8 C& t: R% h
# vim /data/mysql/conf/mysql.conf
0 `& b! k$ j* T: zdefault-character-set=utf81 A. C+ ~0 y6 B, N! V# I, \( r
# vim /data/mysql/conf/mysqld.conf' w/ Q( C! M, [* R j
[mysqld]
8 Z9 n! H" {9 \pid-file = /var/run/mysqld/mysqld.pid9 o0 r6 H0 b* A$ Z4 A$ m
socket = /var/run/mysqld/mysqld.sock, \! d% }2 q) S! S! q; J# v
datadir = /var/lib/mysql
0 D* c7 u# ]/ _0 r2 Y8 I#log-error = /var/log/mysql/error.log
$ r9 U% `. D( E# Disabling symbolic-links is recommended to prevent assorted security risks
- l- X: F9 |; ?8 p! h e0 Ysymbolic-links=0
: F, y. p+ g+ c. h8 ]character-set-server=utf8; U; |. p2 z# K4 I# v
# 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 W/ B. q1 C* ^/ m
* `* l. J8 r$ I: G" W##验证数据库编码是否为utf-84 s8 G J3 [ O2 v
# apt install mysql-client. u6 P, P/ g: @/ U8 Q
# mysql -uroot -h127.0.0.1 -pmagedu.com8 h/ X: H* d, O- D/ o5 B
mysql> show variables like "%character%";show variables like "%collation%";$ ]0 u% j/ u: N. y6 W2 l# n |& E
mysql> create database jumpserver;
5 m5 v- F9 [9 _+ f- Y$ B1 Q7 Nmysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';4 ~# e6 A# I4 q
mysql> flush privileges; 6 g, V- P# T4 |" D: m& ?8 c
docker部署redis ; o: s' ]6 E% g/ Y& U
# docker run -d -p 6379:6379 redis:alpine3.12
0 J. s+ \+ d+ Z. e) O- Z# apt install -y redis
! b, y8 o# Z' R# c# redis-cli * Q7 E3 X$ m d. ^- ]
127.0.0.1:6379> info
9 ]3 y' w8 a" I- j# D5 @( Tdocker部署jumpserver 9 ?9 L$ U* [7 s& q. s) L
##创建jumpserver容器
! U- J+ Q' l+ K4 kdocker run --name jms_all \: E R% V# Q$ M" e6 {: \
-v /opt/jumpserver:/opt/jumpserver/data/media \; f4 d! C+ _7 [1 y9 G3 d; J% |& ?# x
-p 80:80 \- \* V; @. F+ H' b) s3 h- P( V
-p 2222:2222 \
! z! o6 \: s ~( O- S9 D -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \) W$ g3 a% d% ~3 c' r: D
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
1 B( m) G- E0 q9 Q( Y1 ]; i -e DB_HOST=172.20.22.25 \/ q1 | r. j% O! e% @! R3 w
-e DB_PORT=3306 \
# T9 t9 b6 M) E# k7 e2 I- W: G: k -e DB_USER='jumpserver' \' K! s$ F5 i) H
-e DB_PASSWORD="magedu.com" \
9 m% D6 T* v. H* k( W! W5 C: l -e DB_NAME=jumpserver \. {- s& R! O+ C+ T0 ~
-e REDIS_HOST=172.20.22.25 \$ r9 w. K# w5 d5 l' I& y$ E; l
-e REDIS_PORT=6379 \
" ?1 g! @, S# i( C1 L7 _( E -e REDIS_PASSWORD= \
) u9 N/ \3 n: J$ ` jumpserver/jms_all:1.5.9
; Y2 |9 m/ U: j* `
4 O1 G3 o& [6 i) M: J4 I###浏览器输入ip,默认用户名密码admin 0 }5 N9 R3 ?) X' i6 g# F. t
" X3 L& s5 |' ~* j, {* f( X% e
0 y' m2 q. j# _
2 u' j+ h5 s+ @# r7 N配置用户和相应的服务器资源
8 ?; s, t/ Q8 r% X0 j[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
9 a% L; }. O' v添加jumpserver账号并指定对应的用户组
0 j! f" E! f; ]; U6 z0 {. i6 W ! S. w8 G0 o" T* [
; j0 f; _' P5 }" P
; p# Q+ }& ~) ~6 J% [* m. r% j+ S! y$ U
添加管理用户
% Q1 T& T7 u- h$ A* c3 X! }6 Z
" g9 k. F5 I }/ y; ]" }# |3 H- }5 W
7 [; u J/ k) G添加系统用户5 ]6 `9 g9 M' @+ Y, t
% l% A/ W2 v2 C( @( u0 i% N: {6 l E& B3 W" Z$ o- S# r2 @/ ~$ |
添加资产1 |5 T2 N% \2 v* s2 Y; o4 F0 k- ^
/ x8 V. G* M6 u9 o2 ]
/ Z; d6 z- W/ a2 `5 L% ^! L; Y2 H7 B ) h8 @; Z' Z5 V- W! `( X c ]* n
- K+ h3 e5 n6 L- E8 R+ h0 b' x5 f
" J. ~9 d9 A+ E, l3 U+ i2 A$ ]1 t; G' t/ R; v: p
7 {" p" J2 s, m- L: i( n9 ]9 Y
! ^" [6 u M/ E; q1 o
. a6 R" Q5 F0 G9 A; v( s3 b3 F4 O" Z
2 f% S( }2 c7 h权限授权7 s# l" z" {5 P2 j
1 ^) }" `0 V0 i. E0 m8 a# i, m3 K+ Y5 K* K
0 L# E7 }7 I$ D! |' A% m
使用新建用户查看对应的资产
5 V* L8 ~4 F9 M, t ! T/ ~- g( {5 _& g
7 `$ x: L/ C& S7 J: t; b
9 u4 p2 Y1 @- B6 s1 f0 G& ]# ^ 通过web终端可直接登入服务器5 b0 B& N" a/ d2 y- \
, u- e6 ?( H6 G/ B! e& U3 D6 o# x% @& q
# S' \9 ]# M8 l3 h* Q命令过滤器
- C7 U6 p9 R: _9 c% G7 y# J使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
! H2 p9 K O, P! ? ; @7 n' U q, _6 A% e% q2 L
配置命令过滤器5 c6 C+ c F3 Z2 E* ?5 m- ^
2 N! T' R! X, O' W5 W% t& d7 l$ q
" h z2 U% @; T7 r. o
% @! ]. F$ i; {+ ?. Z
J; f. \' y2 j/ O修改系统用户设置,引用定义的命令过滤器
0 z& V# V2 Z7 r
- I8 a6 s2 h+ z
1 g9 Q. J8 I& R 7 T! T% o# Q) c3 ?* R3 b$ B
登入验证8 F3 @) V) F8 U' e. T
$ `( q; p9 r0 _ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|