|
|
jumpserver - m9 c( m2 b' `5 @
jumpserver是一款使用python,Django开发的开源跳板机系统
4 T7 @$ Y2 n2 F, p4 u0 m ! v% J# E) X( `9 @" W- O
官方地址:JumpServer - 开源堡垒机 - 官网2 t1 O+ m' R! k+ L! n% B7 ]
$ u5 L4 a6 O% U/ A部署环境
( e: ?8 ?2 u; [& Y) S7 i 9 N3 R, `; l$ Q* W& u7 A# I# T
python = 3.6.x
1 w1 V( n( Y1 w2 R 8 |* A8 G( A3 V# y8 G& X; a
Mysql server 最低5.6" t- {1 x1 [/ k7 C/ g
E+ d6 J8 K+ XMariadb server 最低5.5.56
6 d& C+ ~. A, }7 o* s( a# V ! V, r: C% ^# S$ B, B
Redis
, }* S8 U6 \& x7 U1 Q
, d2 r E6 \- O( g. A6 z! C' K以下示例用docker创建8 G6 j4 r. B. Y8 w" g* ?
! |" }" s& G4 x! f( W! f4 B6 b
docker部署mysql
V$ }) H* B; G) a- u1 w数据库编码要求utf8
1 I; K4 X Y7 C/ j' c1 |& L
% |, M, o# b3 {% C6 x# mkdir /data/mysql/{conf,jumpserver}
4 Z; i3 H! h5 H# p1 f, j# docker pull mysql:5.6.48
& A& P2 _5 i" ?/ \7 |0 I# docker run -it --rm --name mysql mysql:5.6.48 bash. K+ u. U( c- O4 [0 p4 O. [
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/
! N {# V, G0 x# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
7 o5 x3 J) q" }* K, K# vim /data/mysql/conf/mysql.conf S$ @% ^' r8 Q( c1 L) |
default-character-set=utf81 X3 ^9 A. ^. C
# vim /data/mysql/conf/mysqld.conf/ W; Y6 m0 S- U# \1 S
[mysqld]( y5 E4 t @* O9 _& ~* ^
pid-file = /var/run/mysqld/mysqld.pid' {7 ]0 ]* r7 e
socket = /var/run/mysqld/mysqld.sock5 H! h& @; Q x3 F' Q
datadir = /var/lib/mysql/ J. A' l5 p- B. ~2 d
#log-error = /var/log/mysql/error.log
+ Z J% W% w% o9 E7 [- f# Disabling symbolic-links is recommended to prevent assorted security risks
: W; F# m5 n. ?2 Gsymbolic-links=0$ d |7 B: G% H5 B( V \8 d+ D
character-set-server=utf8" F( O& d5 I8 H0 K
# 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.488 M, T" M1 m: Q
; u! A3 y; n4 e
##验证数据库编码是否为utf-8: W; a7 o4 r7 s' z0 V/ t
# apt install mysql-client
% h# R8 `0 w$ k1 Z# mysql -uroot -h127.0.0.1 -pmagedu.com
* ]* v {0 V Mmysql> show variables like "%character%";show variables like "%collation%";8 h9 u% P6 |' _" `) m" h9 e
mysql> create database jumpserver;
: X7 K8 u" J: t3 Kmysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
( _4 X! `, R8 M: G# q. dmysql> flush privileges;
2 {# L/ O% Q" z5 m) ?& hdocker部署redis 5 G" a* b0 J6 |3 g# m- @8 r' n
# docker run -d -p 6379:6379 redis:alpine3.12
! I. k( C' a7 W1 B# apt install -y redis/ c" c6 C7 R/ p& z4 ]
# redis-cli / z0 ~. u" p' R1 x. G( h* C1 j, D; b
127.0.0.1:6379> info T4 s& d! N- E
docker部署jumpserver , a. p: [) x5 G9 b
##创建jumpserver容器
* y5 y8 a/ N* _( M9 J, gdocker run --name jms_all \* C1 G- d- x# z* |& w+ i
-v /opt/jumpserver:/opt/jumpserver/data/media \
- I5 }1 p: ~: J, R) n% A -p 80:80 \
1 c/ D# G. U. B- |. Q+ S4 H& C -p 2222:2222 \1 z8 }* e K2 a/ d r6 l
-e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
, Y1 D' P* B: |' X+ q! \ -e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \' B6 G* ~& Q' P$ d+ p: F
-e DB_HOST=172.20.22.25 \$ `0 ^" m4 @- Q% N
-e DB_PORT=3306 \( I1 l$ a/ s1 L3 H! T) f+ t6 X6 v- N
-e DB_USER='jumpserver' \ f, K7 R8 `3 g8 E
-e DB_PASSWORD="magedu.com" \
& x0 E+ O! D+ f, | -e DB_NAME=jumpserver \! @8 i1 s6 V6 N2 P. \5 P" R! v
-e REDIS_HOST=172.20.22.25 \+ W/ Q. b! S$ b! o. D7 D# z, Q+ P2 X
-e REDIS_PORT=6379 \
9 s+ z* r" _! S1 t) U; s3 |6 m -e REDIS_PASSWORD= \
$ e' Z7 I! f% P& [4 D jumpserver/jms_all:1.5.9
8 o5 Q- G. ]6 c$ ^' @ \# S0 E' Z7 I9 H) K. P A5 V" O
###浏览器输入ip,默认用户名密码admin
& A& U$ ]1 A: V) p: f, K' @5 F* s0 e9 ~
; w( O! R+ y# o- Y8 H1 \
& G, `: u) v/ F, L
配置用户和相应的服务器资源 2 W1 W: v% |4 d6 w3 ^5 n8 q
[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]% e3 R9 w, f* z9 e. H
添加jumpserver账号并指定对应的用户组+ K1 m+ O+ H' P
8 X7 n! ~+ ~3 N
# U9 [. e$ I+ Z) q, X- r! |( h & Q ~6 w1 ?8 s; @/ z. q
( V c- k2 G n3 G. j: p 添加管理用户% @/ c: G4 w0 l/ i4 ?7 L* \ G
# w2 L; Q$ h. R% D
: K* L3 U# m4 T7 [2 q. T: |$ D
7 T) @2 Y! ^! T/ P H/ n+ g' K2 {添加系统用户4 ^! p2 _+ C( p% b. Y0 {
9 H7 B$ s' t6 {+ j$ F0 B* A0 w2 Y1 T
2 L+ z2 Y! X2 c: M! W0 E2 `添加资产
$ i7 b$ U/ q( D1 x* q5 H5 Q
5 l0 L" B) r2 w% s- P. @7 R9 ?6 B& C; D- y
* K- b; g5 @/ E3 H4 [
+ r: o6 I7 {2 U1 U4 ~3 x5 Q
( A# X- X4 { u, d9 h5 U, h7 |
7 Q+ t8 G$ t) H 4 n7 p. n& d: A" {; s+ z0 h/ i
8 e6 Q& v8 z/ y# [& U) o, I. D9 _
8 \& g: X; m* ]3 Q: a, H$ c& b8 y: M* S3 v
/ c7 ~. O+ O+ v6 ^7 M
权限授权- A9 u/ y8 @3 M* _: l# S
, X2 m: X+ i1 c% y+ \" q
3 t% f0 e- l9 D! H; [9 D0 M : M$ t/ ~- D0 H1 {$ l
使用新建用户查看对应的资产& p8 K. T8 ~( i
4 e. i X1 F" C8 S4 d r+ s
; G1 n# f# n5 e1 _+ a ' G+ x& o+ E% s9 o4 E; X
通过web终端可直接登入服务器
* {( B- ?4 B$ R. M 9 p" r; f7 u* K$ T
$ @) ?/ T/ D4 m 4 Y0 q9 y, K" Y P1 R9 \' p
命令过滤器
) h" a6 L" S$ g% s6 p使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等* R3 T: u9 m8 A5 ~. W: r
1 z4 J$ z) j$ |! {( G) ]$ r+ ]; b4 P配置命令过滤器
4 Q$ P* o _7 f" E: u( U0 W 7 h6 n$ v- t* r r: h( `
' ~; e# v. _& p' D3 @8 [" U" F
/ v: ^6 \& i5 v& P5 ^. @! M" k: @: _5 y6 i& J
; m. @# I! r+ q" I. }
修改系统用户设置,引用定义的命令过滤器 6 K8 ?/ \- @$ i! o9 k& V1 \
8 X- c# b k. ^( Z% X T
1 _: U6 `2 C1 l6 J- F* \0 u1 L% M# t6 B. T % W5 K! c2 f0 P8 R
登入验证
3 f3 S( Y, t, k. o/ |. V 0 \6 j; K* i( q- ] C
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|