Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点

Jumpserver介绍:

         Jumpserver是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。

Jumpserver 使用 Python /Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。

Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制。

特点:

1)完全开源,GPL授权

2Python编写,方便二次开发

3)实现了跳板机基本功能,认证、授权、审计

4)集成了Ansible,批量命令等

5)支持WebTerminal

6Bootstrap编写,界面美观

7)自动收集硬件信息

8)录像回放

9)命令搜索

10)实时监控

11)批量上传下载

Jumpserver组件说明:

Jumpserverjumpserver的管理后台

Coco:实现ssh server web终端的组件,提供sshwebcocket接口

Luna:是web  terminal的前端(用来展示给用户和与用户进行交互)前端页面都是由该项目完成的。

Guacamole: Apache的跳板机项目,使用其组件实现rdp(远程桌面功能)。

安装环境:

系统: CentOS 7

两台Linux服务器

192.168.1.10   上安装  nginx   jumpserver服务等其它插件

192.168.1.40     有用户及密码;用来验证web网页登陆

Redis mysql 使用公共服务,不单独安装

安装jumpserver:

1:将系统环境字体设置成中文,因为jumpserver的日志文件里面的内容会包含中文字符,不支持可能会乱码

[root@localhost ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

[root@localhost ~]# export LC_ALL=zh_CN.UTF-8

[root@localhost ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf

2:安装Python3(系统 默认Python2版本过低)

需要有网络yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

yum      makecache

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第1张图片

3安装python的依赖包

 yum  -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release  git

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第2张图片

4:安装好后设置Python3的虚拟运行环境      在/opt目录设置名为py3的虚拟环境

因为  CentOS 6/7  自带的是  Python2,而  Yum  等工具依赖原来的  Python,为

了不扰乱原来的环境我们来使用  Python  虚拟环境

[root@localhost Python-3.6.1]# cd /opt/

[root@localhost opt]# python3 -m venv py3

[root@localhost opt]# source /opt/py3/bin/activate

(py3) [root@localhost opt]# ls

py3  rh

5:设置自动载入py3虚拟环境的服务(需要插入下载好的autoenv软件包)

下载路径https://github.com/kennethreitz/autoenv.git

(py3) [root@localhost opt]#rz autoenv.zip

(py3) [root@localhost opt]#unzip autoenv.zip

(py3) [root@localhost opt]#echo "source /opt/autoenv/activate.sh" >> /root/.bashrc

(py3) [root@localhost opt]#source /root/.bashrc

6:安装第一个组件jumpserver并且配置:

项目提交较多  git clone  时较大,你可以选择去  Github  项目页面直接下载 zip

包。

下载路径:https://github.com/jumpserver/jumpserver.git

(py3) [root@localhost opt]# rz   jumpserver.zip

(py3) [root@localhost opt]# unzip jumpserver.zip

(py3) [root@localhost opt]# echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env

(py3) [root@localhost opt]# cd jumpserver/

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第3张图片

(py3) [root@localhost jumpserver]# cd requirements/

(py3) [root@localhost requirements]# yum -y install $(cat rpm_requirements.txt)        (大约2分钟)

(py3) [root@localhost requirements]# pip install --upgrade pip

(py3) [root@localhost requirements]# pip install -r requirements.txt  -i https://mirrors.aliyun.com/pypi/simple/   (安装如果报错有可能是网络问题,多安装几次)

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第4张图片

7:安装mysql,版本必须是5.5以上:

(py3) [root@localhost requirements]# yum -y install mariadb mariadb-devel mariadb-server

(py3) [root@localhost requirements]# systemctl start mariadb

[root@localhost opt]#  mysqladmin -u root password 123.com

[root@localhost opt]# mysql -u root -p123.com

MariaDB [(none)]> create database jumpserver default charset 'utf8'; #创建jumpserver库字符集为utf-8

MariaDB [(none)]> grant all on jumpserver.* to [email protected] identified by "123456";  #创建用户jumpserver

MariaDB [(none)]> flush privileges   #刷新权限

8:安装redis数据库:

(py3) [root@localhost ~]# rz redis-4.0.14.tar.gz

(py3) [root@localhost ~]# tar zxf redis-4.0.14.tar.gz

(py3) [root@localhost ~]# cd redis-4.0.14/

(py3) [root@localhost redis-4.0.14]# make && make install   (安装大约3分钟)

(py3) [root@localhost redis-4.0.14]# cd utils/

(py3) [root@localhost utils]# ./install_server.sh   (一直回车下去)

(py3) [root@localhost utils]# /etc/init.d/redis_6379 start

9:修改jumpserver配置文件

(py3) [root@localhost utils]# cd /opt/jumpserver/

(py3) [root@localhost jumpserver]# cp config_example.yml config.yml

(py3) [root@localhost jumpserver]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49

(py3) [root@localhost jumpserver]# vim config.yml

(py3) [root@localhost jumpserver]#  cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16

(py3) [root@localhost jumpserver]# vim config.yml

配置文件修改内容如下:

SECRET_KEY:

BOOTSTRAP_TOKEN:

DEBUG: false

SESSION_EXPIRE_AT_BROWSER_CLOSE: true

DB_ENGINE: mysql

DB_HOST: 127.0.0.1

DB_PORT: 3306

DB_USER: jumpserver

DB_PASSWORD: 123456

DB_NAME: jumpserver

HTTP_BIND_HOST: 0.0.0.0

HTTP_LISTEN_PORT: 8080

REDIS_HOST: 127.0.0.1

REDIS_PORT: 6379

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第5张图片

(py3) [root@localhost jumpserver]# ./jms start all –d     (开启大约3分钟)

10:安装coco组件并配置:

(py3) [root@localhost opt]# ls

autoenv  autoenv.zip  coco.zip  jumpserver  jumpserver.zip  py3  rh

(py3) [root@localhost opt]# unzip coco.zip

(py3) [root@localhost opt]# mv coco-master  coco

(py3) [root@localhost opt]# cd coco/

(py3) [root@localhost coco]# echo "source /opt/py3/bin/activate" > /opt/coco/.env

(py3) [root@localhost coco]# cd requirements/

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第6张图片

(py3) [root@localhost requirements]# yum -y install $(cat rpm_requirements.txt)

(py3) [root@localhost requirements]# pip install -r requirements.txt

(安装大约2分钟)

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第7张图片

(py3) [root@localhost requirements]# cd /opt/coco/

(py3) [root@localhost coco]# cp config_example.yml config.yml

(py3) [root@localhost coco]# vim config.yml

 

修改配置文件内容如下

 BOOTSTRAP_TOKEN: #此加密秘钥与jumpserver16位秘钥相同;

(py3) [root@localhost coco]# ./cocod start –d

 

11:安装guacamole,这个服务在安装过程比较复杂,采用doacker仓库里面打包好的镜像

安装docker (py3) [root@localhost opt]# rz  guacamole.tar

(py3) [root@localhost opt]# yum -y install yum-utils device-mapper-persistent-data lvm2

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第8张图片

(py3) [root@localhost opt]#yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第9张图片

(py3) [root@localhost opt]# yum makecache fast

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第10张图片

(py3) [root@localhost opt]# yum -y install docker-ce   (安装大约4钟)

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第11张图片

(py3) [root@localhost opt]# systemctl enable docker

(py3) [root@localhost opt]# systemctl start docke

使用docker安装Guaacamole

(py3) [root@localhost opt]# docker load --input guacamole.tar

大约安装3分钟

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第12张图片

(py3) [root@localhost opt]# docker run --name jms_guacamole -d -p 8081:8080 -v /opt/guacamole/key:/config/gucamole/key -e JUMPSERVER_KEY_DIR=/config/guacamole/key -e JUMPSERVER_SERVER=http://192.168.1.10:8080jumpserver/guacamole:latest

12安装luna解压至opt目录即可:

(py3) [root@localhost opt]# Rz luna.tar.gz

(py3) [root@localhost opt]#tar zxf luna.tar.gz –C /opt

13:安装nginx反向代理;(插入下载好的软件包。解包编译make&&make install)

优化完路径启动nginx

修改配置文件:

(py3) [root@localhost nginx-1.14.0]# vim /usr/local/nginx/conf/nginx.conf

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第13张图片

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第14张图片

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第15张图片

nginx -t # 确保配置没有问题, 有问题请先解决

nginx -s reload

特殊情况:如果访问网页访问不了,除配置文件出错,或者服务没有开启;

启动coco服务

(py3) [root@localhost jumpserver]# cd /opt/coco-master/

(py3) [root@localhost coco-master]# ./cocod start –d

启动jumpserver服务

cd /opt/jumpserver/

  ./jms start all -d

 

网页访问:1.10

服务全部启动后,访问 http://192.168. 1.10,访问 nginx 代理的端口,不要

再通过 8080 端口访问

默认账号: admin  密码: admin

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第16张图片

在这里我们要创建一个管理用户:

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第17张图片

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第18张图片

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第19张图片

创建资产:

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第20张图片

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第21张图片

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第22张图片

用web终端进行连接管理

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第23张图片

Linux学习笔记---Jumpserver堡垒机(跳板机)安装及特点_第24张图片

总结:

我们可以通过跳板机在外网上管理内网服务器。

你可能感兴趣的:(Linux,Linux--各项服务优化,linux)