码迷,mamicode.com
首页 > 其他好文 > 详细

开源堡垒机_jumpserver

时间:2020-06-24 19:46:04      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:用户登录   版本   form   除了   支持   root用户   图片   跳板机   oca   

前介

1、jumperver介绍

? Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。

? 特点:

? 完全开源,GPL授权 Python编写,容易再次开发 实现了跳板机基本功能,认证、授权、审计 集成了Ansible,批量命令等 支持WebTerminal Bootstrap编写,界面美观 自动收集硬件信息 录像回放 命令搜索 实时监控 批量上传下载

2、jumpserver 2.0安装

? Centos 6.5 x86_64 关闭 iptables,关闭 selinux jumpserver:192.168.1.200 clients:192.168.1.210 ps:操作只针对 jumpserver,clients 不会进行操作,只是环境需求。

3、安装依赖包

yum -y install epel-release yum clean all && yum makecache yum -y update yum -y install git python-pip MySQL-devel gcc automake autoconf python-devel vim sshpass lrzsz readline-devel

4、下载jmpserver

cd /opt Git clone https://github.com/jumpserver/jumpserver.git

注: 如果下载失败,则去github上面下载zip包,unzip解压缩即可

jumpserver下载地址:

https://github.com/jumpserver/jumpserver

https://github.com/jumpserver/jumpserver/release

jumpserver官网指导文档

https://jumpserver.readthedocs.io/zh/master/

技术图片

5、执行快速安装脚本

cd /opt/jumpserver/install
pip install -r requirement.txt

技术图片

查看安装的包 pip freeze

python install.py 输入jumpserver的地址,默认为:”192.168.1.200”,回车即可。 是否安装MySQL:选择”y”进行安装

技术图片

MySQL 启动后会要求用户输入 邮件服务器及账户(后期用来发送用户名、ssh pass、web pass、ssh key)

163邮箱用授权密码,而不是登入密码 ,切记 。

技术图片

输入smtp信息之后发现报错了,是python的pycrypto模块问题,需要卸载重装: pip uninstall pycrypto easy_install pycrypto

技术图片

技术图片

技术图片

技术图片

安装之后继续 python install.py 进行安装,并且输入 web管理员用户名和管理员密码,ok

技术图片

技术图片

运行 crontab,定期处理失效连接,定期更新资产信息 cd /opt/jumpserver python manage.py crontab add

技术图片

注:

1)根据提示输入相关信息,完成安装,安装完成后,请访问web,继续查看后续文档

2)如果启动失败,请返回上层目录,手动运行 ./service.sh start 启动

3)如果 ./service.sh start 启动失败 cd /opt/jumpserver python manage.py runserver 0.0.0.0:80 python run_websocket.py

4)如果启动失败,可能是由于80端口和3000端口已经被占用,或者数据库账号密码不对,请检查

6、更新代码

cd /opt/jumpserver 
git pull

Linux中的环境搭建到这一步就结束,下一步就是web页面的操作


操作

一、jumpserver架构图

技术图片

主要难理解的三个用户概念:

  1. 用户: 指上图中的运维老大或运维小弟,用来通过公网登录jumpserver的
  2. 管理用户: 用于管理资产的用户,一般为root或sudo配置的无密码登录用户
  3. 系统用户: 登录资产时使用的用户, 为了安全不直接使用root用户,而是使用普通用户(通过root授予相应的权限)

4A标准

  • auth
  • authorized
  • audit
  • account

二、jumpserver部署

直接参考官方网站,简单暴力(但需要网速较好,因为要下载大量的软件包,python模块与docker镜像等)

https://jumpserver.readthedocs.io/zh/master/

安装完成后,使用浏览器访问http://IP就可以了

技术图片

部署问题:

除了官方文档上的问题解决外,还有一个坑

因为软件包随着时间的不同,可能版本会有变化,如果在安装python模块时出现下面的问题,请解决,否则即使能部署成功,但后面的功能也会受影响

技术图片

解决思路:

(py3) [root@vm5 ~]# pip install urllib3==1.22
(py3) [root@vm5 ~]# pip install future==0.16.0

技术图片

(py3) [root@vm5 ~]# pip install jms-storage==0.0.22

注意: pip install会自动卸载原版本,安装你指定的版本.但也有可能会出现新的报错。总之全解决,直到没有报错才继续。

三、邮箱授权

admin(运维老大)创建个用户(运维小弟),还要帮你创建密码?

不好意思,我小弟太多管不过来,而且我是管理员,不屑于知道你密码。

那你就配置个邮箱吧,发邮件链接给你自己改。

技术图片

技术图片

技术图片

技术图片

技术图片

四、jumpserver系统设置

技术图片

技术图片

技术图片

技术图片

五、创建jumpserver普通用户

技术图片

技术图片

技术图片

技术图片

张三登录自己的邮箱自行设置密码

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

六、创建管理用户

技术图片
技术图片
技术图片

七、创建系统用户

技术图片

技术图片

技术图片

技术图片

八、创建资产

技术图片

技术图片

技术图片

技术图片

九、创建授权规则

技术图片

技术图片

技术图片

技术图片

十、连接测试

10.1 命令连接进行管理

技术图片

技术图片

技术图片

为了安全,建议配置nginx 反向代理 jumpserver

log_format jumpserver ‘$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$request_time" $request_body "$http_referer" "$http_user_agent" "$http_x_forwarded_for" $scheme $http_host‘;
server {
listen 8080 ssl;
listen 80;
deny all;
server_name jumpserver.xxxx.com;
index index.html index.htm index.PHP;
ssl_certificate ssl/xxxx.com.crt;
ssl_certificate_key ssl/xxxx.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
if ( $scheme = http ) {
rewrite ^(.*)$ https://$host:8090$request_uri? permanent;
}
location / {
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://10.43.12.31:8090;
}
location ^~ /ws/ {
proxy_pass http://10.43.12.31:8090/ws/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
access_log /data0/logs/jumpserver.log jumpserver;
error_log /data0/logs/jumpserver_error.log debug;
}

10.2 登录web进行管理

技术图片

技术图片

点击web终端就会跳到web管理终端

技术图片

点击文件管理就会跳到文件管理界面

技术图片

十一、管理员查看信息

admin管理员可以进行会话的管理与查看, 命令历史记录,录像的回放等功能

技术图片

技术图片

技术图片

更多功能请自行挖掘,觉得功能还不够,请自行二次开发.

开源堡垒机_jumpserver

标签:用户登录   版本   form   除了   支持   root用户   图片   跳板机   oca   

原文地址:https://www.cnblogs.com/jiaxiaozia/p/13189058.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!