一、jumpserver堡垒机概念作用
1.堡垒机与跳板机的区别
1)什么是堡垒机
在一个特定的网络环境下,为保障网络和数据不受外界入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一组成部分的系统状态、安全事件、网络活动,以便于集中报警、及时处理及审计定责。
2)堡垒机和跳板机的区别
简易的堡垒机称为跳板机。功能简单,主要核心功能是远程登录服务器和日志审计。
3)优秀的开源软件:jumpserver
支持认证、授权、审计、自动化和资产管理
4)商业化堡垒机
齐治、Citrix XenApp
2、堡垒机的作用
1)对用户权限进行集中管理,根据不同用户的职责来判定用户的权限,再进行集中管理,不用分别登录到不同的服务器上进再配置。如:普通用户(oldboy)主要负责运维(sa)工作,而为了使oldboy用户高效工作,需根据公司的实际情况给其分配不同的权限,此时就需登陆到多台不同的服务器主机进行授权,而堡垒机便可以直接在对应的服务器主机上对oldboy进行sudo授权。
2)对用户操作进行记录审计,jumpserver可以对所有在其登录的普通用户进行审计定责,会自动记录用户的操作全过程,包括历史命令、文件上传下载的记录和录制,更有效的为企业提供良好的办公环境和个人奖罚分明的有效依据。
3)可以实现批量管理功能,类似于ansible软件。
4)资产统计记录功能,jumpserver可以简单的统计和展示服务器主机的基本参数,如CPU、厂商、操作系统等。
二、jumpserver堡垒机部署过程
1.安装的两种方式
1)官方网站安装指南:
官网地址:http://www.jumpserver.org
需要docker容器进行安装
2)简单安装
通过python环境准备直接进行安装
2.简单安装
第一个里程: 环境准备
1)关闭防火墙和selinux
2)安装jumpserver所需软件信息
yum -y install epel-release(也可以通过更新阿里云镜像站会自动生成)
yum -y install git python-pip mysql-devel mariadb-server gcc automake autoconf python-devel vim sshpass lrzsz readline-devel
安装各环境作用:
git:主要是对开发人员编写的大量代码进行管理,进行标识和存储,提供代码版本控制的服务,而针对运维人员主要则是在进行代码上线时进行代码获取的操作。
python-pip:主要是对python环境下软件的下载及安装,类似于与yum安装的操作,但是pip只针对python开发出的软件服务,yum则主要针对的是centos系统中Base源。
MySQL-devel:该软件为数据库的依赖包,但由于centos7中安装MySQL的依赖包时会自动安装mariadb的依赖包,所以需在服务器上直接安装mariadb-server。
gcc:为C语言的解释器。
automake/autoconf:此两项服务均为C语言程序的编译及配置软件。
python-devel:python编程软件的依赖包,jumpserver既是依据python语言开发出的开源软件。
vim/sshpass/lrzsz:分别为文件编辑工具/远程连接服务时可以使用明文密码进行连接的命令/上传大型文件的软件包
readline-devel:进入python界面后的补全功能解释器
第二个里程: 下载jumpserver堡垒机
cd /opt
在下载jumpserver后,会默认在此目录寻找相关脚本及参数
git clone https://git.coding.net/jumpserver/jumpserver.git
通过git克隆从相关网站将文件或安装包直接克隆到服务器主机上,https://git.coding.net/jumpserver/jumpserver.git为国内git存储代码的服务器网址
第三个里程: 进入jumpsever目录中install目录中启动堡垒机
1)更新pip源 (更改为aliyun)
mkdir ~/.pip/
vim ~/.pip/pip.conf
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
2)需要安装python依赖软件
pip install -r requirements.txt
3)进行软件初始化过程:
开启数据库服务:systemctl start mariadb.service
启动python初始化脚本:python /jumpserver/install/install.py

确认堡垒机服务器主机地址

建议直接在本地新建数据库服务,从而省去手动配置的麻烦,再将本地数据库迁移至数据库服务器上即可

输入邮箱发送地址,如163即smtp.163.com;端口号默认;账户为自己接收邮件的邮箱;密码为授权码,当邮件确认收到后方可进行下一步,如没收到邮件则证明初始化失败

继续安装即可,当安装出现以下报错时,按方法信息解决,原因为安装的python环境版本非默认版本


设置超级管理员用户民及登录密码,看到此页面代表初始化完成。
4)jumpserver服务没有启动成功:
/opt/jumpserver/service.sh start
/opt/jumpserver/service.sh stop
5)如启动堡垒机失败执行以下命令
python /opt/jumpserver/manage.py runserver 0.0.0.0:80 &>> /tmp/jumpserver.log 2>&1 &
python /opt/jumpserver/run_websocket.py &> /dev/null 2>&1 &
三、jumpserver软件配置过程:
在web端输入IP地址进入能录界面,并用超级管理员用户进行登录


用户管理配置: 配置有哪些用户可以使用堡垒机访问服务器
添加普通用户,勾选发送邮件用于接受密码信息,当收到邮件时证明添加成功


资产管理配置: 配置通过堡垒机可以管理哪些服务器
添加普通用户管理资产


注意事项:①.管理用户必须为服务器主机上存在的真实用户,此管理用户为当系统用户出现一些操作失误或者权限不足时,使用此管理账户进行解决,生产环境中处于安全考虑,建议创建admin用户而非root用户,在虚拟主机再对admin进行相关授权。②.设置多个资产时,若管理用户均为一个用户,可在设置中对其进行设定,在添加资产时点击默认即可

授权管理配置:
sudo配置: 设置指定提权命令信息


给普通用户登录到服务器主机的系统用户的权限进行管理,根据不同用户职责直接进行visudo的授权,集中管理
系统用户:
ps:堡垒机中涉及的用户的相关功能

如同所示,jumpserver中主要涉及三个用户信息,分别为普通用户、默认管理用户和系统用户;其中普通用户就是在用户管理板块进行添加的用户,用于登录堡垒机的用户;系统用户则是普通用户通过堡垒机连接到服务器主机的普通用户,这里简单说以下就是,在jumpserver中不同的普通用户可以通过堡垒机连接到同一个系统用户来管理服务器主机;最后默认管理用户则是管理员通过堡垒机连接到服务器主机的用户,主要目的是操作一些系统用户没去权限操作的项目,而使用admin不使用root是为了更具有安全性。


添加系统用户,用户密码可设置也可不设置,不影响正常登录到服务器主机,在关联sudo中便可以根据事先设定好的sudo配置来赋予该系统用户的权限


添加完成后点击推送选项,将设置好的系统用户推送到服务器主机中,资产则代表该系统用户可以直接管理的服务器主机,显示推送成功代表完成。
授权规则:


该操作就是设置一个规则,所有普通用户,根据这个规则进行操作,如图所示,定义一个asd规则(随意命名),让普通用户admin可以使用dev这个系统用户通过jumpserver连接到web03这台服务器进行管理。
四、jumpserver堡垒机的其他功能
日志审计

可直接查看通过jumpserver使用服务器的普通用户有哪些,并做到事实监控,命令记录,操作回放,阻断普通用户连接的功能

历史登陆记录,哪个普通用户什么时间登录什么时间下机



只有批量操作时才会有所记录,选择所有主机,点击批量操作,出现批量操作的显示页面,其次批量操作也是通过ansible服务来执行,但是只能执行一些简单的批量操作

直接查看是否有用户进行下载上传操作
上传下载


可以选择文件路径信息,上传到服务器或者下载到本地
Xshell连接



通过上述操作建立Xshell的新会话,通过密钥连接的方式,首先进入到邮箱找到创建普通用户时发送给我们的登录信息邮件,下载密钥信息,在将密钥导入到Xshell中即可,显示此页面代表成功

按照提示进行操作即可
查看资产记录

点击更新,再点击主机名称,进入资产界面,显示高服务器主机的一些基础资产信息,如下图:

网友评论