Jumpserver堡垒机

一、Jumpserver堡垒机概述-部署Jumpserver运行环境

01 跳板机概述

跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。

跳板机缺点:没有实现对运维或开发人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人。

02 堡垒机概述

堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。

总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能。

03 jumpserver概述

Jumpserver是一款使用Python、Django开发的开源跳板机系统。为互联网企业提供了认证,授权,审计,自动化运维等功能。

官方网址: http://www.jumpserver.org

jumpserver堡垒机组件说明:

1、Jumpserver:现指 Jumpserver 管理后台,是核心组件(Core),使用 Django Class Based View (Django基于类的视图)风格开发,支持 Restful API。

2、Coco:实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发。

3、Luna:现在是 Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责后台渲染html等。

04 部署jumpserver运行环境

实验环境:

一台jumpserver服务端

一台或几台服务器资源,作为被管理的服务器

上传依赖软件到到Linux系统/opt目录下并解压:

修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文。所以必须要修改字符集为中文。

/etc/locale.conf [root@jumpserver ~]# exit #再重新连接, 这样语言环境就改变了。 登出 [root@jumpserver ~]# cat /etc/locale.conf LANG=zh_CN.UTF-8 " src="file:///C:/Users/15293/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png" v:shapes="文本框_x0020_1">

05 准备python3和python虚拟环境

1、安装依赖包

注:安装前可以开启yum缓存功能,把软件包下载下来方便后期使用。

2、编译安装python3.6.1

# 这里必须执行编译安装,否则在安装 Python 库依赖时会有麻烦...

注:在线下载 wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz

3、建立Python虚拟环境

解决python2.7和python3.5冲突了怎么办?老程序需要使用2.7,新程序需要3.6?

因为 CentOS 6/7 自带的是 Python2,而Yum等工具依赖原来的Python,为了不扰乱原来的环境我们使用Python虚拟环境。

看到上面的提示符代表成功,以后运行Jumpserver都要先运行以上source命令,以下所有命令均在该虚拟环境中运行。

06 安装jumpserver1.0.0

1、下载或 Clone 项目

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

注:在线下载方法:

git clone --depth=1 https://github.com/jumpserver/jumpserver.git

cd jumpserver && git checkout master

注:depth用于指定克隆深度,为1即表示只克隆最近一次commit。

2、安装依赖rpm包

3、安装python依赖库

4、安装redis,jumpserver使用redis做cache --缓存

5、安装MySQL

6、创建jumpserver数据库并授权

create database jumpserver default charset 'utf8'; MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456'; MariaDB [(none)]> exit " src="file:///C:/Users/15293/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png" v:shapes="文本框_x0020_10">

7、修改jumpserver配置文件

修改连接数据库配置

8、生成数据库表结构和初始化数据库

#注,在执行这一条命令之前,必续保障之前的pip install ./* 命令已经执行完了,不然后导入不了Django等软件包。

9、启动

如果运行失败了,重新启动一下。

#启动服务的脚本,使用方式./jms start|stop|status|restart all  后台运行请添加 -d 参数

10、测试

访问:IP:8080    【用户名:admin,密码:admin】

这里需要使用8080端口来访问页面。后期搭建 nginx 代理,就可以直接使用80端口正常访问了

附上重启的方法:

二、安装Coco组件和ssh server

01 安装Coco组件

1、点击web终端界面,弹出一个新的页面会报错

所以接下来,我们安装luna和coco:

coco概述:coco实现了SSH Server和Web Terminal Server的组件,提供SSH和WebSocket接口,使用Paramiko和Flask开发。

02 查看配置文件并运行

# 新版本更新了运行脚本,使用方式./cocod start|stop|status|restart  后台运行请添加 -d 参数

三、安装web-terminal前端和luna组件并配置nginx整合各个组件

01 安装luna组件

Luna概述:Luna现在是 Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责后台渲染html等。

访问(https://github.com/jumpserver/luna/releases)下载对应版本的 release 包,直接解压,不需要编译

解压 Luna

注:在线下载

#wget https://github.com/jumpserver/luna/releases/download/v1.0.0/luna.tar.gz

02 配置nginx整合各个组件

03 修改nginx配置文件并启动

删除第38行到 57行中server {。。。}相关的内容

在vim命令模式,输入38gg,快速跳到38行,然后输入20dd,就可以删除。

删除后,在38行插入以以下内容:

04 测试

测试访问:ip:80       [默认就是80端口]

会话管理—web终端

05 接受Coco注册

会话管理—终端管理—接受

06 测试链接

07 字符界面登录

" src="file:///C:/Users/15293/AppData/Local/Temp/msohtmlclip1/01/clip_image041.png" v:shapes="文本框_x0020_23">

以上说明终端已经连接成功没有任何问题

四、jumpserver平台系统初始化

01 系统基本配置

这里要写上自己真实的URL地址,不然后期用户无法访问。

02 配置邮件服务器

点击页面上边的“邮件设置”,进入邮件设置页面:

配置邮件服务后,点击页面的"测试连接"按钮,如果配置正确,Jumpserver 会发送一条测试邮件到您的 SMTP 账号邮箱里面,邮箱收到邮件后点击提交。

注:配置完后,需要重启一下服务。不然后期创建用户,收不到邮件。

注意: 在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件:

1)后端服务器需要有python、sudo环境才能使用推送用户,批量命令等功能

2)后端服务器如果开启了selinux,请安装libselinux-python。一般情况服务器上都关闭了selinux

五、使用jumpserver管理机房服务器

搭建完成后的整体界面

01 用户管理

添加用户和用户组。

用户名即 Jumpserver 登录账号。用户组是用于资产授权,当某个资产对一个用户组授权后,这个用户组下面的所有用户就都可以使用这个资产了。角色用于区分一个用户是管理员还是普通用户。

新用户登录:

这个需要用户自己生成SSH 密钥,方便后期登录:在另一台linux上,使用admin用户生成自己的ssh密钥。

02 创建管理用户

Jumpserver里各个用户的说明

管理用户是服务器的 root,或拥有 NOPASSWD: ALL sudo 权限的用户,Jumpserver 使用该用户来推送系统用户、获取资产硬件信息等。

03 创建系统用户

系统用户是 Jumpserver 跳转登录资产时使用的用户,可以理解为登录资产用户, Jumpserver使用系统用户登录资产。

系统用户的 Sudo 栏填写允许当前系统用户免sudo密码执行的程序路径,如默认的/sbin/ifconfig,意思是当前系统用户可以直接执行 ifconfig 命令或 sudo ifconfig 而不需要输入当前系统用户的密码,执行其他的命令任然需要密码,以此来达到权限控制的目的。

此处的权限应该根据使用用户的需求汇总后定制,原则上给予最小权限即可。

系统用户创建时,如果选择了自动推送 Jumpserver 会使用 Ansible 自动推送系统用户到资产中,如果资产(交换机、Windows )不支持 Ansible, 请手动填写账号密码。

Linux 系统协议项务必选择 ssh 。如果用户在系统中已存在,请去掉自动生成密钥、自动推送勾选。

原则上就是手动visudo。

系统会自动再visudo添加一条规则

# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

增加一个:巡检服务器状态用户:

test 用户权限: /sbin/ifconfig,/usr/bin/top,/usr/bin/free

05 编辑资产树

节点不能重名,右击节点可以添加、删除和重命名节点,以及进行资产相关的操作。

06 创建资产

点击页面左侧的“资产管理”菜单下的“资产列表”按钮,查看当前所有的资产列表。

点击页面左上角的“创建资产”按钮,进入资产创建页面,填写资产信息。

IP 地址和管理用户要确保正确,确保所选的管理用户的用户名和密码能"牢靠"地登录指定的 IP 主机上。资产的系统平台也务必正确填写。公网 IP 信息只用于展示,可不填,Jumpserver 连接资产使用的是 IP 信息。

如果资产不能正常连接,请检查管理用户的用户名和密钥是否正确以及该管理用户是否能使用 SSH 从 Jumpserver 主机正确登录到资产主机上。

07 网域列表

网域功能是为了解决部分环境无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。这个功能,一般情况不用到。

08 创建授权规则

节点,对应的是资产,代表该节点下的所有资产。

用户组,对应的是用户,代表该用户组下所有的用户。

系统用户,及所选的用户组下的用户能通过该系统用户使用所选节点下的资产。

节点,用户组,系统用户是一对一的关系,所以当拥有 Linux、Windows 不同类型资产时,应该分别给 Linux 资产和 Windows 资产创建授权规则。

当前端页面授权完成之后系统会把jumpserver服务器的test用户推送到lb01上。

09 web界面资产的使用

使用创建的用户登录

到这里之后可以直接点击web终端。进行连接服务器。

10 xshell使用资产

p ID Hostname IP LoginAs Comment 1 lb01 172.16.0.171 [巡检服务器状态用户] 总共: 1 匹配: 1 Opt> lb01 Connecting to test@lb01 0.2 Last login: Thu Apr 11 16:57:47 2019 from jumpserver [test@lb01 ~]$ su - root Password: Last login: Thu Apr 11 16:59:11 CST 2019 on pts/7 [root@lb01 ~]# " src="file:///C:/Users/15293/AppData/Local/Temp/msohtmlclip1/01/clip_image099.png" v:shapes="文本框_x0020_30">

附上官网文档网址

http://docs.jumpserver.org/zh/docs/setup_by_centos.html

Jumpserver-跳板机的搭建的更多相关文章

  1. Linux系统——JumpServer跳板机的搭建和部署

    公网源部署jumpserver跳板机 建立阿里云公网源yum仓库(服务端)[root@localhost ~]# lsanaconda-ks.cfg install.log.syslog jumpse ...

  2. jumpserver跳板机的搭建

    搭建的跳板机基于0.3.2,别问我为什么不用0.5版本的,我能说我没有搭建成功么,步骤贼多,功能不完善,不建议生产环境使用 步骤其实很简单: github wiki :https://github.c ...

  3. Jumpserver跳板机的搭建和部署

    1.需要搭云yum仓库wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 2. ...

  4. 【转】jumpserver 堡垒机环境搭建(图文详解)

    jumpserver 堡垒机环境搭建(图文详解)   摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...

  5. 其他综合-CentOS7 安装 Jumpserver 跳板机

    CentOS7 安装 Jumpserver 跳板机 1.实验描述 搭建 jumpserver 平台,实现有效的运维安全审计.完美做到事先防范,事中控制和事后溯源 2.实验环境 物理机系统:Window ...

  6. jumpserver 堡垒机环境搭建

    jumpserver 堡垒机环境搭建(图文详解) https://blog.csdn.net/my_bai/article/details/62226474   http://docs.jumpser ...

  7. linux Jumpserver跳板机 /堡垒机详细部署

    关于跳板机/堡垒机的介绍: 跳板机的定义: 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作: 跳板机缺点: 没有实现对运维人员操作行为的 ...

  8. jumpserver跳板机(堡垒机)安装

     jumpserver跳板机(堡垒机) Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent,助力互联网企业 ...

  9. CentOS 7 搭建Jumpserver跳板机(堡垒机)

    跳板机概述: 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作 跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是 ...

  10. jumpserver跳板机搭建,适合centos6和centos7的使用

    第17章 jumpserver的搭建   17.1 jumpserver的介绍 jumpserver是全球首款开源的堡垒机,使用的是GNU,GPL的开源协议. jumpserver是用python和g ...

随机推荐

  1. vSphere可用性之三准备实验环境

    第三章 准备实验环境 在上篇内容中,讲述了进行VMware HA实验所必需的软硬件条件.接下来将使用这些来搭建实验环境.主要内容为依据拓扑图安装ESX主机系统.ISCSI存储系统. 此次实验环境的建置 ...

  2. 强行重装IE6

    一句指令解决了郁闷一天的问题: 今天碰到问题如下: 在不知是不是人品问题的情况下(其实基本是优化大师嫌疑最大)发现在第三方引用的软件中不能打开IE了: 具体症状: 在QQ中点击别人的链接,没反应: 在 ...

  3. INTERVIEW #2

    吐槽下ZZ的面试安排:面试时间12:30不说了,周围没有饭店,中午就没吃饭...不像其他公司给每个人安排不同的面试时间,这样可以节约大家的时间,SPDB是把一大批人都安排在了12:30,而且面试是5个 ...

  4. 杭电的题,输出格式卡的很严。HDU 1716 排列2

    题很简单,一开始写代码,是用整数的格式写的,怎么跑都不对,就以为算法错了,去看大佬们的算法STL全排列:next_permutation(); 又双叒叕写了好几遍,PE了将近次,直到跑了大佬代码发现, ...

  5. P3306 [SDOI2013]随机数生成器(bzoj3122)

    洛谷 bzoj 特判+多测真恶心 . \(0\le a\le P−1,0\le b\le P−1,2\le P\le 10^9\) Sample Input 3 7 1 1 3 3 7 2 2 2 0 ...

  6. muduo网络库源码学习————无界队列和有界队列

    muduo库里实现了两个队列模板类:无界队列为BlockingQueue.h,有界队列为BoundedBlockingQueue.h,两个测试程序实现了生产者和消费者模型.(这里以无界队列为例,有界队 ...

  7. IBM Rational Rose软件下载以及全破解方法

    最近忙着作业,软件设计的类图着实难画,于是整理了rose的下载和破解方法 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具.用于可视化建模和公司级水平软 ...

  8. MySQL升级-CentOS6.8

    在腾讯云购买的服务器自带的MySQL是5.1版本的,相对于最新版的5.7差了很多特性,在平时的项目练习中使用到了MySQL也会遇到一些奇葩的错误,很有必要升级到至少5.5版本以上. 步骤: 1.备份数 ...

  9. Educational Codeforces Round 77 (Rated for Div. 2) C. Infinite Fence

    C. Infinite Fence 题目大意:给板子涂色,首先板子是顺序的,然后可以涂两种颜色,如果是r的倍数涂成红色,是b的倍数涂成蓝色, 连续的k个相同的颜色则不能完成任务,能完成任务则输出OBE ...

  10. springBoot整合Mybatis,Junit

    笔记源码:https://gitee.com/ytfs-dtx/SpringBoot 整合Mybatis SpringBoot的版本:2.2.5.RELEASE Mybatis版本:mybatis-s ...