jumpserver
开源堡垒机
名称定义:
- 用户列表: 登陆堡垒机的用户
- 用户组: 用于资产授权,当某资产对一个用户组授权后,这个用户组下面的所有用户都可以使用这个资产了。
- 资产列表: 堡垒机所控制的服务器资源
- 网域列表: 相当于跳板机,就是当服务器无法直连时,而需要跳转登陆的机器
- 管理用户: 是服务器的root,或拥有NOPASWD:ALL sudo权限的用户,jumpserver使用该用户来
推送系统用户
、获取资产硬件信息
等 - 系统用户: 是jumpserver跳转登录资产时使用的用户,资产上存在的账号
目的:
理想的jumpserver是使用与ldap结合做身份认证。可忽略系统用户。具体实现方式已有人贡献出来https://www.cnblogs.com/wowoo1121/p/9309398.html
但是根据公司实际业务情况确有一些无法做到的方面,如客户是VPN登陆时,则无法实现。并且没有主动审批功能。无法做到运维人员提交权限申请,领导进行审批的操作。只能做二次开发。但是jumpserver使用在非复杂网络环境中非常适用。
安装
可根据官网的安装方式进行安装
官网文档http://docs.jumpserver.org/zh/docs/step_by_step.html
其中最慢的就在python的依赖库安装。加速参考:https://www.cnblogs.com/dance-walter/p/9364652.html
安装过程中修改配置文件时需要注意的地方:
~]# vi config.py
...
# MySQL or postgres setting like:
----DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'
DB_HOST = os.environ.get("DB_HOST") or '192.168.1.134'
DB_PORT = os.environ.get("DB_PORT") or 3306
DB_USER = os.environ.get("DB_USER") or 'jumpserver'
DB_PASSWORD = os.environ.get("DB_PASSWORD") or 'jumpserver'
DB_NAME = os.environ.get("DB_NAME") or 'jumpserver'
# When Django start it will bind this host and port
# ./manage.py runserver 127.0.0.1:8080
HTTP_BIND_HOST = '0.0.0.0'
HTTP_LISTEN_PORT = 8080
...
这里的配置项前必须是四个空格。
注意:在ssh第一次连接时会出现提示是否确认连接的信息,jumpserver没有自动忽略此提示。所以会出现连接超时,连接不上的状况。所以在新添加资产时,可在网关上先ssh连接一次资产。之后方可正常连接。
使用过程中出现的问题:
1.当点击"Web终端"后,左侧不出现"资产列表"时,这种情况下,很有可能是jumpserver和luna的版本不一致导致的。可直接查看页面的右下角版本信息进行对比。
luna的下载地址:https://github.com/jumpserver/luna/releases
官网也给出了大量的问题解决办法http://docs.jumpserver.org/zh/docs/faq_install.html
登陆后具体配置此处就不演示,网上有很多。