23.5 jumpserver介绍
• 官网www.jumpserver.org
• 跳板机概述:
跳板机就是一台服务器,开发戒运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标
设备迚行维护和操作;
• 堡垒机概述:
堡垒机,即在一个特定的网络环境下,为了保障网络和数据丌受来自外部和内部用户的入侵和破坏,而运
用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活劢,以便集中
报警、及时处理及审计定责。
总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能。
• Jumpserver是一款使用Python, Django开发的开源跳板机系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent, 助力互联网企业高效 用户、资产、权限、审计 管理。
• Jumpserver 后端主要技术是LDAP,配置了LDAP 集中认证服务器, 所有服务器的认证都是由ldap完成的。其做法是:每个用户一个密码,把密码加密放到了数据库中,当用户输入IP 从跳板机登陆服务器的时候,跳板机系统取出密码,并解密,通过pexpect 模块将密码发送过去,来完成登录。
架构图如下
组件说明
Jumpserver
现指 Jumpserver 管理后台,是核心组件(Core), 使用 Django Class Based View 风格开发,支持 Restful API。
Coco
实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发。
Luna
现在是 Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责后台渲染html等。
Guacamole
Apache 跳板机项目,Jumpserver 使用其组件实现 RDP 功能,Jumpserver 并没有修改其代码而是添加了额外的插件,支持 Jumpserver 调用。
Jumpserver-Python-SDK
Jumpserver API Python SDK,Coco 目前使用该 SDK 与 Jumpserver API 交互。
• 由于其拥有时尚的外观和直观的功能以及简单地安装配置等特色,是步入自动化运维的不二选择;其后端数据存储使用的是MySQL数据库,因此建议使用前先行配置及部署好MySQL数据库。
系统设置
配置邮件发送服务器
点击页面上边的"邮件设置" TAB ,进入邮件设置页面:
配置 QQ 邮箱的 SMTP 服务可参考(http://blog.csdn.net/Aaron133/article/details/78363844),仅使用只需要看完第二部分即可。
配置邮件服务后,点击页面的"测试连接"按钮,如果配置正确,Jumpserver 会发送一条测试邮件到您的 SMTP 账号邮箱里面:
创建 Jumpserver 用户
点击页面左侧“用户列表”菜单下的“用户列表“,进入用户列表页面。
点击页面左上角“创建用户”按钮,进入创建用户页面,填写账户,角色安全,个人等信息。
其中,用户名即 Jumpserver 登录账号。用户组是用于资产授权,当某个资产对一个用户组授权后,这个用户组下面的所有用户就都可以使用这个资产了。角色用于区分一个用户是管理员还是普通用户。
成功提交用户信息后,Jumpserver 会发送一条设置"用户密码"的邮件到您填写的用户邮箱。
点击邮件中的设置密码链接,设置好密码后,您就可以用户名和密码登录 Jumpserver 了。
用户首次登录 Jumpserver,会被要求完善用户信息。
Linux/Unix 生成 SSH 密钥可以参考(https://www.cnblogs.com/horanly/p/6604104.html)
Windows 生成 SSH 密钥可以参考(https://www.cnblogs.com/horanly/p/6604104.html)
查看公钥信息
$ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDadDXxxx......
复制 SSH 公钥,添加到 Jumpserver 中。