软件开发 --- JumpServer之初体验
JumpServer 是一个开源的堡垒机系统,主要用于帮助企业管理和监控远程访问,特别是对于服务器和其他关键系统的访问。它提供了一个安全的通道,使得用户可以通过一个统一的入口访问多个内部服务器,同时记录每个用户的操作日志,便于审计和追踪。
典型场景:使用 JumpServer 管理 Linux 服务器的 SSH 访问
假设你在一个公司工作,内部有很多服务器需要远程访问。为了确保安全和审计,你可以使用 JumpServer 来管理这些远程访问。
步骤 1:安装 JumpServer
1.1 环境准备:
- 操作系统:Ubuntu 20.04
- 安装依赖:确保服务器上安装了 Python 3.6 或更高版本,并且已经安装了 MySQL 数据库。
1.2 安装 JumpServer:
JumpServer 官方提供了安装脚本,简化了安装流程。以下是通过官方推荐的方式来安装:
# 下载并解压 JumpServer 安装包
wget https://github.com/jumpserver/jumpserver/releases/download/v2.0.0/jumpserver-2.0.0.tar.gz
tar -zxvf jumpserver-2.0.0.tar.gz
cd jumpserver-2.0.0
# 安装依赖
pip3 install -r requirements.txt
# 配置 JumpServer 环境
cp config.sample.yml config.yml
# 配置数据库
python3 manage.py migrate
# 创建管理员账户
python3 manage.py createsuperuser
# 启动 JumpServer
python3 manage.py runserver 0.0.0.0:8080
这样,你就可以通过 http://your-server-ip:8080
来访问 JumpServer 的 Web 界面。
步骤 2:配置 JumpServer
2.1 登录 JumpServer:
打开浏览器,访问 http://your-server-ip:8080
,用你创建的管理员账户登录。
2.2 配置主机:
在 JumpServer 的 Web 界面中,你可以添加你需要管理的服务器。比如你有几台 Linux 服务器需要管理,你可以通过如下步骤来添加:
- 点击“资产管理”。
- 点击“添加资产”。
- 填写主机的基本信息,如主机名、IP 地址、操作系统类型(Linux)、SSH 端口等。
- 添加 SSH 登录凭据(用户名、密码或 SSH 密钥)。
2.3 配置用户:
你可以为不同的用户设置不同的访问权限。比如有开发人员、运维人员等角色,可以设置每个用户能访问哪些服务器,执行哪些操作。
- 在“用户管理”中创建用户。
- 在“角色管理”中为用户分配权限,允许其访问指定的服务器,或限制他们只能查看、不能执行命令。
步骤 3:访问服务器
用户登录到 JumpServer 后,可以在 Web 界面上看到自己有权限访问的服务器。通过点击服务器名称,JumpServer 会提供一个 Web SSH 或者 RDP 访问界面。
-
Web SSH:用户点击服务器后,直接在浏览器中打开一个类似 SSH 客户端的界面,用户可以通过该界面直接执行命令,登录远程主机。
-
RDP:如果服务器是 Windows 系统,JumpServer 也支持通过 RDP 协议远程访问桌面。
步骤 4:记录操作日志
JumpServer 会自动记录每一个用户的操作,帮助管理员进行审计。每个命令的执行和登录都被记录下来,管理员可以随时查看谁在什么时间访问了哪些服务器,执行了什么命令。
例如,查看某个用户的操作日志:
- 在 Web 界面中,点击“审计日志”。
- 选择某个用户,查看他/她的登录历史和操作记录。
步骤 5:配置安全策略(可选)
JumpServer 提供了多种安全策略,增强访问控制。例如:
- 多因素认证(MFA):你可以启用双因素认证,要求用户在登录时除了输入密码外,还需要提供一个动态验证码。
- 黑名单与白名单:可以通过 IP 白名单限制哪些 IP 地址能够访问 JumpServer,增强安全性。
步骤 6:用户退出和会话结束
用户完成操作后,可以选择退出。JumpServer 会自动关闭该会话,确保系统的安全性。
总结
通过 JumpServer,企业可以实现对内部服务器的集中管理和监控:
- 统一入口:所有的 SSH 连接都通过 JumpServer,避免直接暴露服务器。
- 权限管理:可以精确控制每个用户的访问权限,确保安全。
- 操作审计:所有用户的操作都被记录,可以随时回溯。
- 增强安全性:通过配置多因素认证、IP 白名单等措施,增加安全性。
JumpServer 适用于那些需要管理多个服务器,特别是有严格安全要求的公司。它提供了一个高效、安全的解决方案来管理和监控远程访问。