堡垒机(Jumpserver)

堡垒机的概念

什么是堡垒机

从网安和运维的角度来看,堡垒机是企业运维的“单一入口”“安全审计中心”

  • 身份验证 (Authentication):所有运维人员必须先登录堡垒机,支持 MFA(多因子认证)。
  • 账号管理 (Account):集中管理服务器的 SSH 密钥或密码,实现“人账分离”,运维人员不知道服务器真实密码。
  • 授权控制 (Authorization):实现 RBAC(基于角色的访问控制),限制谁能访问哪台服务器,甚至限制能执行哪些命令(如禁止 rm -rf)。
  • 安全审计 (Audit):记录所有操作指令(类似录像回放),发生安全事故时可追溯。
    在没有堡垒机的情况下,管理员通常通过 SSH 或 RDP 直接连接服务器。但在企业级内网或云环境中,为了安全,我们会关闭所有服务器的公网端口,只留下一个经过加固的入口——这就是堡垒机。

堡垒机 vs 跳板机

特性跳板机 (Jump Server)堡垒机 (Bastion Host)
本质一台能访问内网的普通 Linux 主机专门的安全审计系统/产品
功能仅提供网络转发/中转协议代理、权限管控、指令拦截
审计很难记录具体的指令和录像全程录屏、指令索引、高危指令阻断
安全性自身可能成为攻击跳板系统深度加固,具备抗攻击能力

堡垒机VS防火墙

特性防火墙 (Firewall)堡垒机 (Bastion Host)
位置网络边界(内外网交界处)内部核心区(通常在 DMZ 区)
管理对象所有流量(Web访问、邮件、数据库同步等)运维流量(SSH, RDP, 数据库管理等)
判断依据五元组(源IP、目的IP、源端口、目的端口、协议)身份认证、指令内容、用户权限
颗粒度较粗(放行或阻断某个端口)极细(能识别并拦截具体的 Linux 命令)
主要产物流量日志操作录像、指令审计记录

堡垒机的分类

根据实际使用场景的不同和业务需要,堡垒机主要分为网关型堡垒机和运维审计型堡垒机。

网关型堡垒机

网关型堡垒机主要部署在外部网络和内部网络之间,本身不直接向外部提供服务,而是作为进入内部网络的一个检查点,用于提供对内部网络特定资源的安全访问控制。
网关型堡垒机不提供路由功能,将内外网从网络层隔离开来,除授权访问外,还可以过滤掉一些针对内网的、来自应用层以下的攻击,为内部网络资源提供了一道安全屏障。但由于此类堡垒机需要处理应用层的数据内容,性能消耗很大,所以随着网络进出口处流量越来越大,部署在网关位置的堡垒机逐渐成为了性能瓶颈,因此,网关型的堡垒机逐渐被日趋成熟的防火墙、UTM、IPS、网闸等安全产品所取代。

运维审计型堡垒机

运维审计型堡垒机,也被称作”内控堡垒机”,这类堡垒机也是当前应用最为普遍的一种。运维审计型堡垒机被部署在内网中服务器和网络设备等核心资源的前面,对运维人员的操作权限进行控制和操作行为审计。
运维审计型堡垒机即解决了运维人员权限难以控制混乱局面,又可对违规操作行为进行控制和审计,而且由于运维操作本身不会产生大规模的流量,堡垒机不会成为性能的瓶颈,所以堡垒机作为运维操作审计的手段得到了快速发展。

堡垒机的作用

  • 防止横向移动(Lateral Movement):如果攻击者拿到了一台普通服务器的权限,没有堡垒机,他可能直接 SSH 到其他机器。有了堡垒机,所有内部访问都被截断,必须经过审计。
  • 防止内鬼或误操作:比如某运维手抖执行了 rm -rf /,堡垒机可以识别高危指令并直接拦截,或者在事后通过录像快速定位责任人。
  • 合规性要求:等保 2.0(等级保护)明确要求对重要区域的运维操作进行审计,堡垒机是过等保的必备。

堡垒机作为集中访问入口和操作审计的保障,提供了一套多维度的运维操作权限管理与审计解决方案,使得管理人员可以全面对各种资源(如网络设备、服务器、安全设备和数据库等)进行集中账号管理、细粒度的权限管理和访问审计,帮助企业提升内部风险控制水平。

JumpServer

JumpServer安装

一键部署

适合未安装过docker的设备

# 进入 opt 目录(建议安装路径)
cd /opt
# 下载并运行安装脚本
curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash
image.png

有时会遇到网络问题,推荐走代理访问。
如果在宿主机上配置了代理(比如 Clash、V2Ray 等,假设本地代理端口为 7890),可以让 Docker 守护进程直接走代理:

  1. 创建/编辑配置目录: mkdir -p /etc/systemd/system/docker.service.d vim /etc/systemd/system/docker.service.d/http-proxy.conf
  2. 写入你的代理地址: [Service] Environment="HTTP_PROXY=http://127.0.0.1:7890" Environment="HTTPS_PROXY=http://127.0.0.1:7890"
  3. 重启 Docker 并重新运行之前的在线安装脚本: systemctl daemon-reload systemctl restart docker

手动部署

wget -O jumpserver-ce-v4.10.16-x86_64.tar.gz "https://cdn0-download-offline-installer.fit2cloud.com/jumpserver/jumpserver-ce-v4.10.16-x86_64.tar.gz?Expires=1773210351&OSSAccessKeyId=LTAI5tNm6eCXpZo6cgoJet2h&Signature=u0Cb5L4VjPJ23jHaSAVIdFUgtac%3D"
tar -xf jumpserver-ce-v4.10.16-x86_64.tar.gz

解压之后,进入该目录

若本地有其他的nginx服务,需要修改配置文件中的端口防止冲突
/opt/jumpserver-ce-v4.10.16-x86_64/config-example.txt
运行安装脚本并启动

# 安装
./jmsctl.sh install# 启动
./jmsctl.sh start

image.png
访问发现问题
image.png
修改vim /opt/jumpserver/config/config.txt

堡垒机常用配置

可视化页面,配置简单

用户管理设置

用户管理分为用户列表以及用户组
image.png
点击左上角创建
image.png
MFA指的是二次认证。系统角色有三个默认,权限从大到小是系统管理员,系统审计员,用户。

资产分配

命令过滤

参考资料:2023JumpServer入门到精通[精讲版]_哔哩哔哩_bilibili

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注