堡垒机(运维审计系统) 干什么的? 看完你就懂了
堡垒机(运维审计系统) 干什么的? 看完你就懂了
堡垒机(运维审计系统)是企业IT运维中不可或缺的安全组件,它不仅能够控制哪些人可以登录哪些资产,还能记录登录后的行为,实现事前防范、事中控制和事后溯源。本文将详细介绍堡垒机的核心理念、功能价值以及开源堡垒机JumpServer的具体部署和使用方法。
前言
1.什么是跳板机
跳板机是一台具备公网和内网的服务器,开发人员或运维人员需要先登录到这台服务器,再通过其内网访问目标集群服务器。
2.跳板机缺陷
跳板机的主要缺陷在于无法控制和审计运维人员的操作行为,容易导致误操作或违规操作,且出现问题后难以快速定位原因和责任人。因此,堡垒机应运而生。
一、堡垒机
1.1 堡垒机是什么
堡垒机是在跳板机的基础上发展而来,能够实现更安全的运维操作。它通过监控和记录运维人员对服务器、网络设备等的操作行为,提供安全保证。堡垒机也被称为运维审计系统。
简单来说,堡垒机的核心功能是控制权限和审计操作:
- 控制权限:管理哪些人可以登录哪些资产
- 审计操作:记录登录后的行为,实现事后溯源
1.2 堡垒机的由来
堡垒机的概念最早出现在2000年左右,当时一些中大型企业为了集中管理运维人员的远程登录,在机房部署了跳板机。随着技术发展和安全需求的提升,堡垒机逐渐演变为专门的安全审计系统。
1.3 堡垒机的设计理念
堡垒机的设计理念围绕4A(Authentication、Authorization、Account、Audit)展开:
- 身份鉴别(Authentication):防止身份冒用和复用
- 授权控制(Authorization):防止内部误操作和权限滥用
- 账号管理(Account):管理人员和资产
- 安全审计(Audit):提供事故追溯和分析依据
1.4 堡垒机的建设目标
堡垒机的建设目标可以概括为5W:
- What:审计做了什么
- Which:授权能做什么
- Where:账号要去哪
- Who:认证是谁
- When:访问时间
1.5 堡垒机的价值
堡垒机的主要价值包括:
- 集中管理
- 集中权限分配
- 统一认证
- 集中审计
- 数据安全
- 运维高效
- 运维合规
- 风险管控
1.6 堡垒机的分类
堡垒机分为商业堡垒机和开源堡垒机两大类。其中,JumpServer是全球首款完全开源的堡垒机,GitHub Star数超过1.1万。
1.7 堡垒机原理
堡垒机的主要功能模块包括:
- 运维平台:支持RDP/VNC、SSH/Telnet、SFTP/FTP、数据库、Web系统、远程应用等运维方式
- 管理平台:支持三权分立、身份鉴别、主机管理、密码托管、运维监控、电子工单等功能
- 自动化平台:支持自动改密、自动运维、自动收集、自动授权、自动备份、自动告警等功能
- 控制平台:支持IP防火墙、命令防火墙、访问控制、传输控制、会话阻断、运维审批等功能
- 审计平台:支持命令记录、文字记录、SQL记录、文件保存、全文检索、审计报表等功能
1.8 堡垒机的身份认证
堡垒机支持多种灵活的身份认证方式:
- 本地认证:支持强密码策略
- 远程认证:支持第三方AD/LDAP/Radius认证
- 双因子认证:支持UsbKey、动态令牌、短信网关、手机APP令牌等
- 第三方认证系统:支持OAuth2.0、CAS等
1.9 堡垒机的运维方式
常见的运维方式包括:
- B/S运维:通过浏览器运维
- C/S运维:通过客户端软件运维
- H5运维:直接在网页上进行运维
- 网关运维:采用SSH网关方式,适用于运维自动化场景
1.10 堡垒机其他常见功能
- 文件传输:支持RDP/SFTP/FTP/SCP/RZ/SZ等传输协议
- 细粒度控制:支持对访问用户、命令、传输等进行精细化控制
- 支持开放的API
二、JumpServer
2.1 JumpServer介绍
JumpServer是由FIT2CLOUD(飞致远)公司开发的开源堡垒机,是全球首款开源的堡垒机,使用GNU GPL v2.0开源协议。它符合4A规范,使用Python开发,遵循Web 2.0规范,配备了业界领先的Web Terminal方案,交互界面美观、用户体验好。JumpServer支持分布式架构,支持多机房跨区域部署以及横向扩展,无资产数量及并发限制。目前支持管理SSH、Telnet、RDP、VNC协议资产。
2.2 应用架构
JumpServer采用分层架构,包括负载层、接入层、核心层、数据层、存储层。其大致架构如下:
2.3 JumpServer组件说明
JumpServer的主要组件包括:
- Core:核心组件,其他组件依赖此组件启动
- Koko:服务于类Unix资产平台,支持SSH、Telnet协议
- Lion:服务于Windows资产平台,用于Web端访问Windows资产
- XRDP:服务于RDP协议,用于访问Windows 2000、XP等系统
- Razor:服务于RDP协议,用于JumpServer Client访问Windows资产
- Magnus:服务于数据库资产
- Kael:服务于GPT资产平台
- Chen:服务于数据库资产,支持Web GUI方式访问
- Celery:处理异步任务
- Video:处理会话录像格式转换
- Panda:基于国产操作系统的应用发布机
2.4 JumpServer的产品特色
- 开源:零门槛,线上快速获取和安装
- 分布式:轻松支持大规模并发访问
- 无插件:仅需浏览器,极致的Web Terminal使用体验
- 多云支持:一套系统,同时管理不同云上面的资产
- 云端存储:审计录像云端存储,永不丢失
- 多租户:一套系统,多个子公司和部门同时使用
- 多应用支持:支持数据库、Windows远程应用、Kubernetes
2.5 JumpServer实现的功能
- 用户组、用户:支持组管理,方便批量授权
- 资产组、资产、IDC:支持资产分组管理,自动获取硬件信息
- sudo、系统用户、授权规则:支持sudo用户授权,系统用户用于登录客户端
- 在线历史、登录历史、命令记录、上传下载记录:支持实时监控和录像回放
- 上传、下载:支持rz/sz命令进行文件传输
- 默认设置:提供默认管理用户和密码设置
2.6 身份验证 Authentication
- 登录认证:支持资源统一登录、LDAP认证、OpenID单点登录
- 多因子认证:支持Google Authenticator等MFA
2.7 账号管理 Account
- 集中账号管理:支持用户管理和系统用户管理
- 统一密码管理:支持资产密码托管、自动生成密码、密码自动推送、密码过期设置
- 批量密码变更:支持定期批量修改密码
- 多云环境的资产纳管:支持私有云、公有云资产统一管理
2.8 授权控制 Authorization
- 资产授权管理:支持资产树、资产组灵活授权
- RemoteApp:支持应用级授权
- 组织管理:支持多租户管理,权限隔离
- 多维度授权:支持对用户、用户组或系统角色授权
- 指令限制:支持黑白名单限制特权指令
- 统一文件传输:支持SFTP文件上传下载
- 文件管理:支持Web SFTP文件管理
2.9 安全审计 Audit
- 会话管理:支持在线会话和历史会话管理
- 录像管理:支持Linux和Windows录像
- 指令审计:支持指令记录
- 文件传输审计:支持上传下载记录审计
三、堡垒机的部署方式
3.1 单机部署
旁路部署,逻辑串联,不影响现有网络结构。
3.2 HA高可靠部署
部署两台堡垒机,一主一备,通过心跳线同步数据,对外提供虚拟IP。当主机故障时,备机自动接管服务。
3.3 异地同步部署
在多个数据中心部署堡垒机,实现配置信息自动同步。运维人员访问当地堡垒机进行管理,不受网络带宽影响,同时实现灾备。
3.4 集群部署(分布式部署)
当需要管理大量设备时,可以部署多个堡垒机形成集群。其中两台作为主备,其他作为集群节点,整个集群对外提供虚拟IP。
四、JumpServer部署
4.1 下载安装包
CentOS 7镜像下载网址:https://vault.centos.org/
JumpServer的安装包下载地址:https://www.jumpserver.org/
4.2 安装JumpServer
systemctl stop firewalld
setenforce 0
cd /opt
tar xf jumpserver-installer-v2.28.8.tar.gz
cd jumpserver-installer-v2.28.8/
./jmsctl.sh install
#等待安装即可 如遇到y/n回车即可
4.2.1 启动并访问
cd /opt/jumpserver-installer-v2.28.8
./jmsctl.sh start
4.3 浏览器访问
http://192.168.246.12:80
默认用户: admin 默认密码: admin
首次登录后需要重新设置密码,账户为admin,新密码为123123。