jumpserver堡垒机
- JumpServer 是一个开源堡垒机,提供:
- Web 终端(WebSSH、WebRDP、WebVNC)
- 用来管理服务器访问权限的
- 登录服务器(SSH)
- 上传文件(SFTP)
- 操作命令行
- 具有命令过滤功能,来提高安全性,限制用户执行高危命令
- 支持文件传输,可配置账号的文件传输权限
搭建jumpserver
- 使用 docker compose 安装
- 参考:https://docs.jumpserver.org/zh/master/install/setup_by_desktop/
使用
- 1、进入堡垒机的web面板
- 输入账户密码
命令过滤提高安全性
JumpServer 本身就有 「命令过滤」 功能,专门用来限制用户登录服务器后执行高危命令
- 过滤高危命令拦截
- 比如常见的:rm -rf 批量删除、reboot 系统重启、shutdown 系统关机
- 在JumpServer中配置高危命令
- 在访问控制 -> 命令过滤
| 类别 | 高危命令 / 操作 | 风险 | 建议策略 |
|---|---|---|---|
| 文件删除 | rm -rf、rm -fr | 批量删除文件、目录,可能造成数据丢失 | 拒绝 / 审批 |
| 磁盘格式化 | mkfs、mkfs.ext4、mkfs.xfs | 直接格式化磁盘,数据基本不可恢复 | 拒绝 |
| 磁盘分区 | fdisk、parted、gdisk | 修改磁盘分区表,可能导致磁盘不可用 | 拒绝 / 审批 |
| 磁盘写入 | dd | 可直接覆盖磁盘、分区、文件 | 拒绝 / 审批 |
| 系统关机 | shutdown、poweroff、halt | 服务器停止运行 | 审批 |
| 系统重启 | reboot | 中断线上服务 | 审批 |
| 用户删除 | userdel | 删除系统用户,可能影响服务账号 | 审批 |
| 用户创建/修改 | useradd、usermod | 可能创建高权限账号或修改权限 | 审批 / 告警 |
| Root 密码 | passwd root | 修改 root 密码,可能造成权限失控 | 拒绝 / 审批 |
| 权限修改 | chmod -R、chmod 777 | 可能导致权限过大或服务不可用 | 审批 / 告警 |
| 所有者修改 | chown -R | 批量修改文件属主,可能导致应用异常 | 审批 / 告警 |
| 服务停止 | systemctl stop、service stop | 停止线上服务 | 审批 |
| 服务重启 | systemctl restart | 造成服务短暂中断 | 审批 / 告警 |
| 进程强杀 | kill -9、pkill、killall | 强制终止关键进程 | 审批 / 告警 |
| 防火墙修改 | iptables、nft、firewall-cmd | 可能导致服务器断网或安全策略失效 | 审批 |
| SSH 配置修改 | 修改 /etc/ssh/sshd_config | 可能导致 SSH 无法登录或降低安全性 | 审批 |
| 网络配置 | ip addr del、ip route del、ifconfig down | 可能导致服务器失联 | 拒绝 / 审批 |
| Docker 删除 | docker rm -f | 强制删除容器 | 审批 / 告警 |
| Docker 全量清理 | docker system prune -a | 可能删除镜像、容器、缓存 | 拒绝 / 审批 |
| Docker 停止 | docker stop、docker restart | 可能造成业务中断 | 审批 / 告警 |
| Kubernetes 删除 | kubectl delete | 可能删除 Pod、Deployment、Service | 审批 |
| Kubernetes 强制删除 | kubectl delete --force | 可能绕过正常终止流程 | 拒绝 / 审批 |
| 软件卸载 | yum remove、dnf remove、apt remove、apt purge | 可能删除运行环境或依赖 | 审批 |
| 内核模块 | rmmod、modprobe -r | 可能导致硬件、网络功能异常 | 拒绝 / 审批 |
| 挂载操作 | umount | 可能让应用数据目录不可访问 | 审批 |
| 文件系统修改 | fsck | 在线执行可能损坏文件系统 | 拒绝 / 审批 |
| Shell 覆盖写入 | > /etc/...、cat > 文件 | 可能直接覆盖关键配置文件 | 告警 / 审批 |
| 定时任务修改 | crontab -r | 删除所有定时任务 | 拒绝 / 审批 |
| 历史记录删除 | history -c、删除 .bash_history | 影响审计追踪 | 拒绝 / 告警 |
堡垒机文件传输
- 可以把文件传输到服务器
- JumpServer支持文件传输,内置了图形化界面,只能上传200M的以内、以及只能上传到临时目录
- 通过scp命令来传输
- 需要JumpServer的后台管理权限才能进行上传
- 支持指定传输到目录
文件导出
- 如果JumpServer账号开放了文件传输权限,可以通过JumpServer 的 Web Terminal 文件管理/SFTP 功能来下载文件
- 如果文件比较大,可以进行压缩
- 可以通过ssh来连接远程数据库之后,下载文件
- 通过scp命令,这个是基于ssh协议的文件传输的命令