|
|
jumpserver # _0 k1 ~& Q- U+ R
jumpserver是一款使用python,Django开发的开源跳板机系统
0 n# i3 M6 V; V3 P$ m$ _
) h% q/ ~' P4 ?# X' t官方地址:JumpServer - 开源堡垒机 - 官网 W" {1 C# `3 }3 i! ^
% q) \1 O0 Z3 h% e
部署环境. _. ~6 ~. J( R& d( ]0 k
4 L: L& X" G/ v4 ]& O
python = 3.6.x
3 `; N: H" U$ c# \6 s 8 n4 q# v6 Z( @& Z7 p
Mysql server 最低5.6
- H! ], I/ \: M. }2 j( o) u) t) K
) z" W& ^7 ~/ Y% u/ W/ BMariadb server 最低5.5.56
/ y( C8 v( \6 S J6 G, ]1 s, q
; c' l6 u- u7 t- `Redis* d% I* `# V4 U: T% a
# g) W* l" Z- M% P6 S6 P2 Z2 |以下示例用docker创建1 G* Z% Z3 G( K- \9 t6 c) k- z) z
% G" E; W% l1 h: i3 B1 ~# \
docker部署mysql
3 n, b+ Z8 O" d+ @0 @ r数据库编码要求utf8* }, c3 _: Y! E! R1 K' [
& t& K! Q% S+ G
# mkdir /data/mysql/{conf,jumpserver}
: t8 {! \, @4 _$ M# docker pull mysql:5.6.48
" ?. H3 ~4 m) R# f# docker run -it --rm --name mysql mysql:5.6.48 bash
' Z5 V/ a: `9 `. a9 n# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/' }* w; U* P( X8 a# z( [5 d- c( E* r n
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/0 `5 h5 E2 f6 G4 ~! ^( n
# vim /data/mysql/conf/mysql.conf
0 M' _9 a V; [* Kdefault-character-set=utf8
. b9 |& y1 g" D# T# vim /data/mysql/conf/mysqld.conf
& X6 h0 B7 ^6 t# O$ h7 L. B8 T[mysqld]
9 z2 Q0 H! v+ ^* n. H6 kpid-file = /var/run/mysqld/mysqld.pid
3 ~3 c% e# x) d( {5 L% c' Jsocket = /var/run/mysqld/mysqld.sock) C' x* i2 R1 h; C" A6 U% R+ F1 X
datadir = /var/lib/mysql
( V' `( `1 U* P#log-error = /var/log/mysql/error.log
1 E8 Q4 S7 Q# u$ n4 t; [" \3 W+ @# Disabling symbolic-links is recommended to prevent assorted security risks' w4 c( \$ @7 ^7 y3 R
symbolic-links=0
2 s% o: Y4 _4 O+ t( b# D; {+ ]character-set-server=utf8
9 j/ ?/ ~& C" j$ F- J# 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 x2 `# b# U+ f$ J! I" J6 j
* _, ~& m; B( Z' X0 N7 c- @! D##验证数据库编码是否为utf-8# J0 d0 @7 n% A9 y2 g
# apt install mysql-client. w3 Y/ i# k) D: W, o% ^
# mysql -uroot -h127.0.0.1 -pmagedu.com" y' w7 N8 U/ L }( S
mysql> show variables like "%character%";show variables like "%collation%"; J8 ^$ ^- U1 }6 d
mysql> create database jumpserver;+ G! b# J L1 t9 t1 r
mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';7 S; O6 S# d: }( S: k. K+ v
mysql> flush privileges; 2 i, O: r P V; C$ u. u
docker部署redis / d- ^2 G$ M" l5 f! A& \7 ~4 h$ u1 k
# docker run -d -p 6379:6379 redis:alpine3.124 Q' U9 e6 I* d) g6 c! P
# apt install -y redis
8 h2 c. }; d, Y# redis-cli / b: ^0 r/ m) U5 J" j
127.0.0.1:6379> info $ D# U9 W" }6 k- h
docker部署jumpserver
! h. g6 ~) D& ?; p# _##创建jumpserver容器
, p8 b5 ]! I2 U' Rdocker run --name jms_all \
& j4 w1 y) Z9 b -v /opt/jumpserver:/opt/jumpserver/data/media \
. h% M0 N+ @. j5 [1 n& w7 R# r4 j -p 80:80 \, {) z3 }# O7 o' B( T+ y
-p 2222:2222 \
! |4 G4 X1 L% J8 P0 L0 j/ ?7 | -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \) X* x' `7 g# E1 B. ^* J
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \. Q+ ~" [9 z# G( s
-e DB_HOST=172.20.22.25 \
$ S/ x) q H/ e% C/ [* u7 P o- T -e DB_PORT=3306 \
5 y; w: F: e# K) ]0 u$ _, r -e DB_USER='jumpserver' \4 z T7 ?' X. {8 S3 u) Y, y
-e DB_PASSWORD="magedu.com" \
, v4 ^) r3 y5 \/ z" m( X j1 `9 S -e DB_NAME=jumpserver \1 m7 Z% O1 N! J" _
-e REDIS_HOST=172.20.22.25 \
: I0 E( p7 k2 U9 v; R8 M -e REDIS_PORT=6379 \
o% q. U$ [+ d- N! m; r -e REDIS_PASSWORD= \
4 Q! k4 L6 H8 ?1 R+ D jumpserver/jms_all:1.5.9
( m: e& Y$ u E& W: Z1 C0 m& V
( n* [! T1 B1 V9 Z2 a+ s; u7 s###浏览器输入ip,默认用户名密码admin 8 @5 R. h, ]" Z; d, E/ j0 l1 u- }. Y) w
6 c8 Q8 e2 g0 s& O! }( N# t
2 t5 U8 u* T) Q 1 j C& l0 b+ v9 h
配置用户和相应的服务器资源
! ~+ s2 V% o' k, \2 A[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
9 i, b3 q. Z0 x- ?# l1 u添加jumpserver账号并指定对应的用户组/ a1 I/ x# P3 \" [4 L
! o% [# v Y9 J3 u% d6 ]3 S6 f+ \' ]- s; v" a. ^
( v! X9 F7 w! r& x: ?5 l6 M8 e2 j2 v! K% ~9 V
添加管理用户% N9 s, b g4 g
5 _" M( v8 s/ f9 ]; |5 |
3 {0 _' G" {1 z0 x
5 G- i4 Q- q& o3 q添加系统用户
" p) L+ f; J4 {/ ~3 z $ A0 n. |* N5 c7 j
& H% l' y k8 u. ^0 W) U7 }' t添加资产3 `, {1 |- l# g* k. b# U* @
9 X( i" h y$ x
3 v7 e% t2 w. `& T7 H
0 @8 s, E" U5 y
4 `9 |7 j/ l `3 c/ g& j " {9 I! d5 r% h0 I# R
8 F ?8 H$ D1 h* D3 a
3 ?2 E& {9 V/ i1 r: e3 n& \/ o) H) ^% G6 G
& `8 L9 n0 L# w; B
$ ^# A: C1 u& z. h( l N 6 p [) O% U0 P% \8 F# f. Y+ Q. t
权限授权
5 a4 u! j! b. I! X& }: d/ g" V: U 0 I- F& T# f5 h% N, G% q& A
' ~+ e% w, d+ D; T% }# T+ p
" ]9 y) T% \2 @" _5 I5 o4 S
使用新建用户查看对应的资产9 P. z% K* x: S, ]; C
7 s" W8 a& `+ f; x7 g% Y
! N1 w Z' }; X) t9 K0 Q. {% ]- ^) P
+ ?3 A) i9 m3 l 通过web终端可直接登入服务器
7 u) i3 O% ]3 ^7 P0 m
7 l( C; B; A# u' ? Z
. W b4 I8 ^( c# o- h" c$ K4 Q. U 7 o: g5 W: s# P# U" Y
命令过滤器 4 U9 {3 y2 g# F! q, A. I. ~, k
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
* y( L: G. n" g; r9 C" G. i8 a : G1 H. J9 ]8 f$ N9 X/ b; I4 |
配置命令过滤器/ b( B9 Q5 I n& f
~5 U. i6 n0 h( q7 p5 H+ ~9 E
7 u& v* m6 O. o3 n
' X4 z3 E) q+ q% m7 D
; D6 w5 }5 x( A. D9 I$ q W ' f& D' V, c0 S* u( z5 D
修改系统用户设置,引用定义的命令过滤器
/ Q5 u. j0 o5 S' n
3 t9 w( v. q/ m3 J! p! ?0 y. @8 N. @/ U+ H2 ]% Q5 k; d
! b; e- y8 Y0 Y
登入验证
- }# Q5 H+ a; i: g- M
/ S3 C! T/ Y" j+ z1 W7 P |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|