|
jumpserver - @+ ]+ q' d# H) Q9 s
jumpserver是一款使用python,Django开发的开源跳板机系统: o8 C# Q% T; y
3 y. u6 p+ N% _9 c2 p6 n* F# O* L) V官方地址:JumpServer - 开源堡垒机 - 官网
) l; G% e- Z( ~- p( H+ J 9 t0 A+ }9 i+ j# j
部署环境
6 z4 K, e7 S9 [$ l " u0 ]8 D# F1 Q9 O, V. h
python = 3.6.x2 b, @7 I( z! h9 U
0 v7 r) s# s* O* Z7 F, V
Mysql server 最低5.64 Q! ^, W8 f, a3 b$ x
6 n3 h. z# Z" i. q, Y9 x" \Mariadb server 最低5.5.56
3 Y) g9 I4 w9 u& v ) o! G3 [* c% B8 w! i9 ?
Redis
% G7 a# A% E9 j) @. t r4 W
& D9 ` N( r( a M以下示例用docker创建, j- F' P) c. ^ s9 \0 J0 Y
3 e3 c" c! r/ s" l6 x, q1 H- g; b
docker部署mysql
1 R! n$ `$ ^. N$ P. ~, u' y/ w. p数据库编码要求utf8
- ^8 x5 g5 m. l 3 q$ C5 X; }& d3 Y8 c4 J+ D
# mkdir /data/mysql/{conf,jumpserver}/ R" M* s4 N% l7 Y# L3 V1 W
# docker pull mysql:5.6.48# D, R+ c+ H6 |7 |& v V( o
# docker run -it --rm --name mysql mysql:5.6.48 bash
" o7 ^& h* F, G: d9 i# docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/conf/
+ a7 \7 o: u4 ^) G. U5 }# docker cp mysql:/etc/mysql/conf.d/mysql.cnf /data/mysql/conf/+ Y0 ^. Z6 H" {# a. o2 c
# vim /data/mysql/conf/mysql.conf
6 D7 j8 R% V5 C4 Ddefault-character-set=utf8
' L- P. D- J" p4 ^5 \* x# vim /data/mysql/conf/mysqld.conf
! f1 |3 w' S3 u5 P0 }- P[mysqld]' Q7 ?& }; F3 b5 u
pid-file = /var/run/mysqld/mysqld.pid
1 t4 ]$ c# v3 s2 N$ ~: W! V* u) ]socket = /var/run/mysqld/mysqld.sock6 C0 C. B: X* l k. j& E
datadir = /var/lib/mysql
& m- |& W+ u9 b#log-error = /var/log/mysql/error.log8 `+ m! `7 P8 j( Q* X! l: D
# Disabling symbolic-links is recommended to prevent assorted security risks1 J' G% @4 N' p$ a, O7 k1 o
symbolic-links=0% t) Q9 w4 W% O9 W9 R2 j
character-set-server=utf8
% @1 R) u) @+ a- [9 c& d3 m8 X& Y# 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
, A- X7 T3 r- Y
' _3 ?9 N: Q% h& L$ E7 ?: ~! O7 h##验证数据库编码是否为utf-8/ b) ^* J8 P' a" h7 Y4 D+ q: g
# apt install mysql-client
5 O6 b, l4 e& z2 b# m# mysql -uroot -h127.0.0.1 -pmagedu.com u& n/ Y. y- \; X2 V
mysql> show variables like "%character%";show variables like "%collation%";
# \* d1 I1 c2 a4 v9 ymysql> create database jumpserver;' s8 [7 h$ o" E
mysql> grant all on jumpserver.* to jumpserver@'172.17.%.%' identified by 'ilinux.com';
3 t& G( t4 q F' ^: ~& _9 \2 H" Bmysql> flush privileges; ' ^" B/ F6 D# G
docker部署redis & e+ v1 O2 o# }) r
# docker run -d -p 6379:6379 redis:alpine3.123 }. y# G/ G( l. [
# apt install -y redis' P5 ]8 F& P- d
# redis-cli
9 B# n$ j9 B( I `/ h( Q( U: T127.0.0.1:6379> info
( z T8 q) @9 N3 C5 m) M* ndocker部署jumpserver
" l/ p7 {. b6 i- P* c# E: b4 k9 G##创建jumpserver容器
. ?' ~3 `& o2 u/ ~5 a) ldocker run --name jms_all \4 I; s x0 ?7 |) L) w1 i. n
-v /opt/jumpserver:/opt/jumpserver/data/media \% i2 H5 X+ F: R3 i' U
-p 80:80 \
- S% \+ \6 r+ f- \. C5 w -p 2222:2222 \
, ]( U* I% b) d5 t# E- {. h -e SECRET_KEY=nHQrsL0MbI8z2K1vKzcOQi9O2gouEZSqZj7gAdL2r5ikegSLXD \
: K! D' W3 A4 o/ I; V, W' t -e BOOTSTRAP_TOKEN=V5XICWYCBMebHCXC \
% ~4 x6 Q9 |) b+ v -e DB_HOST=172.20.22.25 \
/ {3 v) m: d+ b' O -e DB_PORT=3306 \
/ n* P2 R& [4 z0 h s -e DB_USER='jumpserver' \
4 h! O" ~: {) G( b -e DB_PASSWORD="magedu.com" \
$ y2 u0 V% i! H. i H' h- k -e DB_NAME=jumpserver \
4 [6 g0 n8 D% S& ` -e REDIS_HOST=172.20.22.25 \
* t) W8 e3 q* j. C/ u7 a -e REDIS_PORT=6379 \! `& A. Z q" d5 F+ h4 @
-e REDIS_PASSWORD= \9 w2 Y% d! W0 m! ?
jumpserver/jms_all:1.5.9
' e1 K* u0 o) n; v L, E v
' x& h& G {& m& Y: M###浏览器输入ip,默认用户名密码admin
( Y5 j" a! K" r3 \% [; R# q: W0 ~6 H% Z8 w
$ ` q1 r: v& q
% \8 d0 u, F8 D5 \9 G6 f
配置用户和相应的服务器资源 # i: U& U1 B9 m$ y8 U# z
[ol]jumpserver #登录jumpserver的账号。通常是开发或者测试同事的姓名(如果重名就加1、2区分,如user1、user2)管理用户 #是后端资产服务器的系统管理员账号(/etc/passwd),此账户用于资产信息收集以及推送系统账户系统账号 #是后端资产服务器的普通系统用用户(/etc/passwd),此账户用于启动web服务(nginx/apache/nobody)[/ol]
6 L, L/ i6 y( A( a/ |2 s- @添加jumpserver账号并指定对应的用户组
' `% ]' b4 r( v& n7 m # L2 @3 s4 ~% J
0 @3 {9 B; n2 m- @4 c, ~# t
& Q6 O" M# d# Q) N- x: M+ s8 ^) ], G, v
添加管理用户; J* R+ B0 |7 @
9 Q2 U/ n' D- a/ M. T7 J" F
3 D8 }. c) v# b5 I/ t
! X# e3 i. w4 @- M* i g) Q! G4 R L
添加系统用户
/ P; a# D; y7 x6 I8 y . m: g: t) P% F; P
0 K6 U* [7 b' t6 _, Y. R* h2 m2 N: P6 y
添加资产
* d$ V5 s! t& T& }5 l" ?1 H6 x
7 \3 i6 j( a) H+ d+ G. X! k0 u! O/ `; m& Y' [
) L: w- ?8 C5 o: H9 {7 S6 j+ p4 P$ o
% M0 V( A7 j4 o( @! `: c8 w * D& t+ G' y* \( `' ^' }
X* p- ?# h# i1 l* L
* L' F# C6 V. M5 H) I5 `- n+ v* l3 X: ?# s
7 E+ M7 q/ G- m/ ?: E9 y# b B2 u' [4 q o7 U
) X8 `* q+ L- w! ]% F# f- E权限授权
2 k- }6 `) b7 ]. \* G- d) X4 l 3 a) `; Z. l B+ e
`$ S+ ~% V7 C" k+ m4 {5 _
# V" G: D4 g: X使用新建用户查看对应的资产
9 c; ^3 ?# _! k; h5 M# O$ @4 \ 5 Q9 g6 @7 e% D8 W1 R: e6 n1 i5 [
% F# J0 T. X" z- k) Z2 J
% Q9 e9 G. _ w( H2 e8 x4 ? 通过web终端可直接登入服务器- U- t- H2 c- n+ C
- p& G+ f: x' J1 W) Q
: `0 Y* F- Q- I% n" l. U9 w
6 ], D/ c7 M* H; e9 x' G; B命令过滤器 ! I; N5 Y" B' m1 K+ }
使用命令过滤器可禁止用户在服务器上使用一些危险性高的命令,比如rm,reboot,shutdown等
4 p; z4 F' H# V l % M2 A z- {& j. m( E( C) a
配置命令过滤器
- C6 Z& b3 P( Q / g2 V& i( m W
! q: n2 `9 K; D; s & \( y4 e$ R* }; P
3 E* B: _8 D5 g* D5 f0 M- _/ H3 {
& \2 g. X& ~# n$ F' Z修改系统用户设置,引用定义的命令过滤器 & |5 ^9 F* O L( z0 h! @1 v; b( a4 C
, ]/ J. p% A0 h5 y& t6 n; ~; n' q0 d c- X
0 }; r9 i$ e$ b. b/ S( Q+ J登入验证
$ S! l8 p6 F3 K1 L) T " a8 X1 B8 `! k8 y" t2 Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|