大家都接触过很多安全设备,在Linux生产环境运维管理中,常用的安全设备是堡垒机。下面来了解一下堡垒机的安装和使用。市面上好多商业化的物理设备堡垒机,目前没有接触,幸好有有开源的堡垒机 --Jumpserver 。今天安装测试一下。
什么是堡垒机呢?堡垒机,就是在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。
简单总结一句话:堡垒机是用来控制哪些人可以登录哪些资产(事先防范和事中控制),也就是服务器,以及录像记录登录资产后做了什么事情(事后溯源.)。
堡垒机也叫做运维安全审计系统,它的核心功能是 4A:
堡垒机分为商业堡垒机和开源堡垒,开源软件毫无疑问将是未来的主流。Jumpserver 是全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统,GitHub Star 数超过 1.4 万(2020-11-23),Star 趋势就可以看出其受欢迎程度。
关于JumpServer的介绍,官方有更加详细更加专业的中文文档,可以参考:
JumpServer官方文档地址:https://jumpserver.readthedocs.io/zh/master/
官方文档中有快速安装和分布式安装,分布式安装非常复杂,需要专业运维知识,这里为了学习JumpServer,只是简单安装一下即可。
前提:
全新安装的 Centos7 (7.x)
需要连接 互联网
使用 root 用户执行
我们先来看一下一键急速安装命令(注意配置不能小于2核4G):
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.5.0/quick_start.sh | sh
安装完启动:
/opt/setuptools/jmsctl.sh start
速度可能有些慢,多等一会。安装视频地址:
https://www.bilibili.com/video/bv19a4y1i7i9
web端默认端口 80 ,ssh默认端口2222,默认账号 :admin/admin
登录成功后,可以看到:
其它关于安装的维护内容,参考官方文档。这里不具体介绍。
首先点击菜单创建普通用户:
填写资料,提交:
系统角色选择普通用户,密码选择直接设置,保存。
点击按钮,添加用户组:
填写组名,选择刚才添加的用户,然后保存:
下面使用新建的用户test1登录:
进来以后,首先完善个人信息,然后点击同意,提交保存:
完成以后可以看到,普通用户的菜单只能看到四个菜单,我的资产,我的应用,命令执行,文件管理。现在里面没有任何内容。
资产就是Linux服务器或者虚拟机,资产管理用也有系统用户和管理用户,也就是Linux本身的用户。
创建系统用户, 此用户用于推送到后端服务器自动创建为Linux用户。
如果此账户已经存在于后端服务器则不会再重新创建, 而是直接使用。
后期jumpserver 的普通账户(test1)会使用此账户登陆并管理资产信息(普通用户如开发者主要是查看),推荐的账户名称: mysql nginx tomcat www web。
点击菜单创建资产系统用户:
填写系统用户资料,保存:
资产管理, 创建管理用户, 该管理用户用于 jumpserver 登陆服务器统计资产信息以及推送系统用户的时候使用, 所以此用户一定是一个可以登录的具备超级权限的用户(如后端服务器的 root 账户或者具有 root 权限的其他用户)。
点击菜单创建资产管理用户:
填写资料,保存:
资产就是物理机 虚拟机等。点击菜单,创建资产:
填写系统资料,保存。
添加完,如果资料正确,连接成功,可以看到资产状态:
点击主机名:
测试资产可连接性:
测试结果为ok:
将资产授权给某个账户:
填写资料,选择用户和服务器,保存:
授权完成后,用被授权的test1用户登录,可以看到授权的资源:
点击最右侧的按钮,进入终端命令行:
会直接打开一个新的浏览器窗口,看到终端:
登录用户也是刚才创建的资产系统用户web,这是JumpServer自动创建的。
右键点击资产菜单,创建分组:
输入名字后保存:
更新节点到web分组:
会话管理-命令记录、历史会话里面可以看到用户操作过并且已经退出的录像记录。
基于安全考虑,禁止某些用户执行指定的命令, 如 rm、 reboot、 poweroff 等命令。点击命令过滤,创建按钮:
输入名称,保存:
创建完成后,点击名称:
选择命令过滤器规则,点击创建:
创建规则下,禁用哪些命令:
点击保存,关联用户,点击添加:
web用户登录时,就会禁用这些命令。
创建资产管理系统用户的时候,也可以顺便添加过滤器:
过滤器创建完成后,登录test1用户,测试一下:
可以查看登录日志,查看哪个用户登录过,便于追踪。
管理员登录欢迎页面,可以看到最近活动的仪表盘:
查看官方文档
JumpServer官方文档地址:https://jumpserver.readthedocs.io/zh/master/user-guide/assets/user-asset/