|
jumpserver $ f, H1 s2 [7 r
jumpserver是一款使用python,Django开发的开源跳板机系统; x# P, v9 c1 u% d+ M1 c& l
# y9 V' R6 ~ j+ C0 l
官方地址:JumpServer - 开源堡垒机 - 官网
% H! r: F8 y i7 Z9 h: o8 g ]" d& B
% r" Y# H, k& g1 k+ {部署环境0 }( B2 s1 ~6 |9 o: V
' X+ j# C$ e& wpython = 3.6.x
* m: T% M* `3 _ * M0 C' Y) @ ]# N/ x
Mysql server 最低5.6/ k1 F- ?# A8 b
* G$ M* [2 c. v3 ^! h# m
Mariadb server 最低5.5.56; j9 w% g( O- {6 {% A$ {
" R2 Z5 {2 P6 o- _Redis4 a# n; ]( j) ^+ _1 b, ]
) u8 i% q S' l! D6 e3 U以下示例用docker创建
, B# y$ U% W2 c: d; a$ W
3 `& u9 \7 _* c( I) Edocker部署mysql 9 i I0 M9 y# {7 ~' z# e a8 }
数据库编码要求utf80 {9 \- ]2 S* v) ^: ~- @* K( J
8 W: p% {; k$ _+ m" r6 U, C% l# mkdir /data/mysql/{conf,jumpserver}. E3 @& v+ b! a1 L
# docker pull mysql:5.6.48
: F( W6 b' J+ h% e6 v9 H# docker run -it --rm --name mysql mysql:5.6.48 bash* K& @! f* H( T4 P
# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/% m/ n! {( O" H" k7 V4 [0 ^
# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/
7 f; z5 s" `/ r6 G2 A* Q# vim /data/mysql/conf/mysql.conf
w2 r. `5 z# h' G9 D) Adefault-character-set=utf8
: `% |6 c* T% ~% z, ^# vim /data/mysql/conf/mysqld.conf! t" y. }: e/ a1 M1 Y0 V: a& C" e
[mysqld]. w* O0 X- }' m; c
pid-file = /var/run/mysqld/mysqld.pid
& K* T% p; x$ o8 ^: u dsocket = /var/run/mysqld/mysqld.sock
( u, t$ l% _+ O |datadir = /var/lib/mysql1 a1 D* _3 i4 `% K5 C/ _+ L
#log-error = /var/log/mysql/error.log' M) X- |2 P3 ]+ Y; e3 A
# Disabling symbolic-links is recommended to prevent assorted security risks5 ^, f Z: v0 h5 m
symbolic-links=0$ k; W; X0 k$ d& b
character-set-server=utf8
8 d/ f+ p- w' J e4 F# t9 i" G# 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 I" G0 S" `2 y* {; N r
# c0 @; g% }3 @# ^1 X. e5 i##验证数据库编码是否为utf-8
( o' v# n$ F4 T$ L# \" K. M! k# apt install mysql-client
@1 B6 A; k: G4 M. o. y+ @* C& M# mysql -uroot -h127.0.0.1 -pmagedu.com y: e0 s& Y3 ^2 X
mysql> show variables like "%character%";show variables like "%collation%";
8 d+ y3 ^: l& fmysql> create database jumpserver;
! V7 B. [! d' ]mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';( b0 Q1 ^/ |' [- w F j
mysql> flush privileges;
5 a& t% | w: v5 D/ |7 d( pdocker部署redis
: l7 W0 [/ c! W9 t& l# docker run -d -p 6379:6379 redis:alpine3.12 r1 ?" o$ j, \( d6 h5 H
# apt install -y redis p: ]+ N+ W o
# redis-cli
' P1 R6 X5 |) r# x127.0.0.1:6379> info 2 c$ q/ G6 t' y( o8 s2 {7 J
docker部署jumpserver
6 ^' t3 h* C0 t+ Y; a& B8 o- x##创建jumpserver容器
- [5 w. R- I; T: t' h! \, udocker run --name jms_all \' N, a. m% Y& I: n2 z
-v /opt/jumpserver:/opt/jumpserver/data/media \: I$ V! N2 X4 |! r! a
-p 80:80 \
- T; \/ j( Q/ Q2 A3 z7 U; K* Z# _$ u -p 2222:2222 \
3 d. d7 \7 @3 T9 B: {: G0 X -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \) O4 ^$ s% T' v% V+ P: H" n
-e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
6 y: G$ S2 X* p" T -e DB_HOST=172.20.22.25 \# d& Q& e8 E: h7 B+ Y. R' ]( D
-e DB_PORT=3306 \
( Z' N7 \% n$ _$ d( ~% b) b( M3 c -e DB_USER='jumpserver' \ A3 t$ I4 i4 C, I
-e DB_PASSWORD="magedu.com" \
g4 l. H0 U% ?9 l% k' w# \" [$ ~ -e DB_NAME=jumpserver \
3 Z' l9 Q* Y' f: V6 l2 C, v7 n9 O -e REDIS_HOST=172.20.22.25 \5 [4 [/ o" c/ L$ F
-e REDIS_PORT=6379 \
& R: B3 f, c7 c, h2 v0 a -e REDIS_PASSWORD= \
# }: y6 o+ z' L8 @1 M jumpserver/jms_all:1.5.92 k) V5 f% z; b/ O/ D" F2 l2 e
. p2 K0 M& }) S% C/ {5 N( ?
###浏览器输入ip,默认用户名密码admin
4 W8 u; \3 @; k' D. w
, g& ] B! k: Y1 N7 d ) D8 P" {" H* a
0 _+ y- H) z2 b3 A% ~
配置用户和相应的服务器资源
+ W; ?5 U0 O3 E[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]; W5 N1 Y8 D5 R- [
添加jumpserver账号并指定对应的用户组
R" X/ A3 W/ A. P$ t) T/ u
^" S! W) V2 x! V
: e" u1 a( a7 a( R6 ]$ ? 6 x7 ^* c$ B$ j
+ g/ r! U* p$ v6 M( d 添加管理用户( r$ g( l# k1 q, V6 E
2 W# p8 B+ q! p ?# z
7 O* }) Q) T* Z( }: u 5 Q! o% G/ _5 U% Z: ]& c8 d% [
添加系统用户) W6 D3 |8 o5 Q& y o* b& D5 x
$ r& Y F% {" p) C
3 r: o5 B9 S2 q( C# G: |添加资产
& R+ i5 g6 s; h& Y# v9 L! B
0 g* @! r# O; ?5 r
5 j3 D* y5 M9 j/ i
8 V& _. Y$ x: l+ j$ F9 ]( y: ~
9 v* m2 P9 |+ q0 W
0 M% z& l1 r6 B' O& Q
. ]6 f# Y. E( ^, n) E" z* ^
) X, i2 }( l, T0 p1 e( D# |- C. u1 P: Z i& j; T" y
" `' x H: w6 ~4 L5 T% G! G
5 a" ]" a- r7 V* F3 S# h* T/ c o
" f0 h; v0 E i5 t权限授权
3 N/ U& F4 q% g+ h# a5 x8 f+ {
' Q N$ D) {% J# e, |# A0 _% A4 ?
0 d1 {3 S5 V; Q' X* Q3 c3 n使用新建用户查看对应的资产
* H/ F# L0 p, r3 O6 ~9 d! C. y
0 U* W$ Z. e$ \( f, t
7 o; @5 w- Y- G D: H 3 V' u8 o8 ~; W- x
通过web终端可直接登入服务器# K5 j6 ~3 s Y: r9 p7 [7 h( h2 m& `
3 z1 ]" c6 H: |8 U: r, P+ ~# b
' k+ @ M: F1 h' z- C' y ( K$ I/ e9 V, Y0 v, A$ e
命令过滤器 % v8 J, H5 _4 J e0 v1 p8 Z0 ^
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
# f3 h/ W2 g' S, z1 S T
6 F; u5 h- ?" U! h配置命令过滤器7 z! ?; w0 W# t9 B" W3 x
: |" P- l5 s$ X2 O, M! k$ C, E. |
4 c. \9 [2 B9 Y: o& r$ w ) Y$ j* a: u. I% W1 R$ e+ i9 w8 T, E. s
" A/ W/ V g& V, G0 q9 J L 8 F: J) C: C: y2 P: E
修改系统用户设置,引用定义的命令过滤器
7 W& |, J$ h, p+ I. j0 r $ p1 `$ K% L+ d0 Y) K
: T8 S' m j. `) f& l. @& K- @
- [4 g8 G& ?& h5 P* ~7 H7 l4 F( D) {登入验证6 A7 m( ?, k# G$ |# _
2 C) \$ E9 H& r! R- x5 q/ P
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|