首先,jumpserver是什么呢?


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

特点:

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

jumpserver 3.0 安装

相对于 jumpserver 2.0 版本,在新的版本 3.0 中取消了LDAP授权,取而代之的是ssh进行推送;界面也有所变化,功能更完善,安装更简单,不像 2.0 的版本,难住了好多人。下面通过两台主机来搭建 jumpserver堡垒机!

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

一、安装依赖包 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

二、下载 jumpserver cd /opt Git clone github.com/jumpserver/j 注: 如果下载失败,则去github上面下载zip包,unzip解压缩即可

<img src="https://pic2.zhimg.com/v2-bae2b3d1bea11e9b14aca9ce2d603421_b.png" data-rawwidth="811" data-rawheight="218" class="origin_p_w_picpath zh-lightbox-thumb" width="811" data-original="https://pic2.zhimg.com/v2-bae2b3d1bea11e9b14aca9ce2d603421_r.png"> v2-bae2b3d1bea11e9b14aca9ce2d603421_b.pn

三、执行快速安装脚本 cd /opt/jumpserver/install

pip install -r requirement.txt

<img src="https://pic3.zhimg.com/v2-14065704ab1cc5cf230af6cbce11b3a6_b.png" data-rawwidth="1255" data-rawheight="324" class="origin_p_w_picpath zh-lightbox-thumb" width="1255" data-original="https://pic3.zhimg.com/v2-14065704ab1cc5cf230af6cbce11b3a6_r.png"> v2-14065704ab1cc5cf230af6cbce11b3a6_b.pn

查看安装的包 pip freeze

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

<img src="https://pic4.zhimg.com/v2-dbd5ec08c7a5576b415dc72c2bf84757_b.png" data-rawwidth="630" data-rawheight="198" class="origin_p_w_picpath zh-lightbox-thumb" width="630" data-original="https://pic4.zhimg.com/v2-dbd5ec08c7a5576b415dc72c2bf84757_r.png"> v2-dbd5ec08c7a5576b415dc72c2bf84757_b.pn

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

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

<img src="https://pic3.zhimg.com/v2-48e9de4ae5c4bd926a770198244f283a_b.png" data-rawwidth="874" data-rawheight="371" class="origin_p_w_picpath zh-lightbox-thumb" width="874" data-original="https://pic3.zhimg.com/v2-48e9de4ae5c4bd926a770198244f283a_r.png"> v2-48e9de4ae5c4bd926a770198244f283a_b.pn

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

<img src="https://pic1.zhimg.com/v2-ec3311e46161b1780784b210f09de94c_b.png" data-rawwidth="637" data-rawheight="118" class="origin_p_w_picpath zh-lightbox-thumb" width="637" data-original="https://pic1.zhimg.com/v2-ec3311e46161b1780784b210f09de94c_r.png"> v2-ec3311e46161b1780784b210f09de94c_b.pn<img src="https://pic2.zhimg.com/v2-886f5a759f3a6ea9de5fe48f32f0bbf5_b.png" data-rawwidth="638" data-rawheight="147" class="origin_p_w_picpath zh-lightbox-thumb" width="638" data-original="https://pic2.zhimg.com/v2-886f5a759f3a6ea9de5fe48f32f0bbf5_r.png"> v2-886f5a759f3a6ea9de5fe48f32f0bbf5_b.pn
<img src="https://pic1.zhimg.com/v2-729332302231fa167f6d81cae465498c_b.png" data-rawwidth="638" data-rawheight="100" class="origin_p_w_picpath zh-lightbox-thumb" width="638" data-original="https://pic1.zhimg.com/v2-729332302231fa167f6d81cae465498c_r.png"> v2-729332302231fa167f6d81cae465498c_b.pn
<img src="https://pic1.zhimg.com/v2-8c2b0538af1a429c8331c18b2f2ab2e4_b.png" data-rawwidth="640" data-rawheight="75" class="origin_p_w_picpath zh-lightbox-thumb" width="640" data-original="https://pic1.zhimg.com/v2-8c2b0538af1a429c8331c18b2f2ab2e4_r.png"> v2-8c2b0538af1a429c8331c18b2f2ab2e4_b.pn

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


<img src="https://pic3.zhimg.com/v2-6db85d228cc90fe6f067f50a7e81a3b6_b.png" data-rawwidth="639" data-rawheight="228" class="origin_p_w_picpath zh-lightbox-thumb" width="639" data-original="https://pic3.zhimg.com/v2-6db85d228cc90fe6f067f50a7e81a3b6_r.png"> v2-6db85d228cc90fe6f067f50a7e81a3b6_b.pn
<img src="https://pic2.zhimg.com/v2-b5ae128b204d8749531d5f74fcc17db5_b.png" data-rawwidth="641" data-rawheight="135" class="origin_p_w_picpath zh-lightbox-thumb" width="641" data-original="https://pic2.zhimg.com/v2-b5ae128b204d8749531d5f74fcc17db5_r.png"> v2-b5ae128b204d8749531d5f74fcc17db5_b.pn

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

<img src="https://pic3.zhimg.com/v2-a04b88f49318c3bf290347bc0eb195be_b.png" data-rawwidth="1072" data-rawheight="213" class="origin_p_w_picpath zh-lightbox-thumb" width="1072" data-original="https://pic3.zhimg.com/v2-a04b88f49318c3bf290347bc0eb195be_r.png"> v2-a04b88f49318c3bf290347bc0eb195be_b.pn

注: 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端口已经被占用,或者数据库账号密码不对,请检查

五、Web登录 http://192.168.1.200

<img src="https://pic3.zhimg.com/v2-6809b0c773b2072a56f6f059e84fad6e_b.png" data-rawwidth="1280" data-rawheight="750" class="origin_p_w_picpath zh-lightbox-thumb" width="1280" data-original="https://pic3.zhimg.com/v2-6809b0c773b2072a56f6f059e84fad6e_r.png"> v2-6809b0c773b2072a56f6f059e84fad6e_b.pn

注意: 在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件: 1)后端服务器需要有python、sudo环境才能使用推送用户,批量命令等功能 2)后端服务器如果开启了selinux,请安装libselinux-python

六、更新代码 cd /opt/jumpserver git pull

环境搭建到这一步就结束啦~


下面开始要仔细看咯


一、用户管理

1)添加用户

点击用户管理 —> 查看用户 —> 添加用户

<img src="https://pic3.zhimg.com/v2-e8f14485add0893231e63dae6730fef2_b.png" data-rawwidth="506" data-rawheight="356" class="origin_p_w_picpath zh-lightbox-thumb" width="506" data-original="https://pic3.zhimg.com/v2-e8f14485add0893231e63dae6730fef2_r.png"> v2-e8f14485add0893231e63dae6730fef2_b.pn

输入要添加的用户名,姓名,权限,Mail,并且发送邮件 —> 保存

<img src="https://pic4.zhimg.com/v2-d7f792c0d38e1be724394e49d583523f_b.png" data-rawwidth="672" data-rawheight="617" class="origin_p_w_picpath zh-lightbox-thumb" width="672" data-original="https://pic4.zhimg.com/v2-d7f792c0d38e1be724394e49d583523f_r.png"> v2-d7f792c0d38e1be724394e49d583523f_b.pn

查看添加的用户

<img src="https://pic1.zhimg.com/v2-a8ca5a191289f8e3d2fd97f2802f60d4_b.png" data-rawwidth="1019" data-rawheight="280" class="origin_p_w_picpath zh-lightbox-thumb" width="1019" data-original="https://pic1.zhimg.com/v2-a8ca5a191289f8e3d2fd97f2802f60d4_r.png"> v2-a8ca5a191289f8e3d2fd97f2802f60d4_b.pn

查看用户邮件 邮件中包含了用户名,权限,web密码,ssh 密钥密码,以及密钥下载地址。

<img src="https://pic1.zhimg.com/v2-616e9c20274d85af64aa821a67cddba4_b.png" data-rawwidth="493" data-rawheight="252" class="origin_p_w_picpath zh-lightbox-thumb" width="493" data-original="https://pic1.zhimg.com/v2-616e9c20274d85af64aa821a67cddba4_r.png"> v2-616e9c20274d85af64aa821a67cddba4_b.pn

2)添加用户组

点击用户管理 —> 查看用户组 —> 添加用户组

<img src="https://pic2.zhimg.com/v2-7e514ca557da5c5164b386e76d992e55_b.png" data-rawwidth="422" data-rawheight="163" class="origin_p_w_picpath zh-lightbox-thumb" width="422" data-original="https://pic2.zhimg.com/v2-7e514ca557da5c5164b386e76d992e55_r.png"> v2-7e514ca557da5c5164b386e76d992e55_b.pn

添加新的小组 —> 运维小组

<img src="https://pic1.zhimg.com/v2-3529c2cf63833db0f87b7be545f71490_b.png" data-rawwidth="740" data-rawheight="468" class="origin_p_w_picpath zh-lightbox-thumb" width="740" data-original="https://pic1.zhimg.com/v2-3529c2cf63833db0f87b7be545f71490_r.png"> v2-3529c2cf63833db0f87b7be545f71490_b.pn

查看刚才添加的组

<img src="https://pic2.zhimg.com/v2-0ad61b43d78cf315e29e73871d2d3d9d_b.png" data-rawwidth="839" data-rawheight="168" class="origin_p_w_picpath zh-lightbox-thumb" width="839" data-original="https://pic2.zhimg.com/v2-0ad61b43d78cf315e29e73871d2d3d9d_r.png"> v2-0ad61b43d78cf315e29e73871d2d3d9d_b.pn

二、资产管理

1)添加资产组

点击资产管理 —> 查看资产组 —> 添加主机组

<img src="https://pic2.zhimg.com/v2-fbec977278061ff4dfccf035bae2f999_b.png" data-rawwidth="561" data-rawheight="350" class="origin_p_w_picpath zh-lightbox-thumb" width="561" data-original="https://pic2.zhimg.com/v2-fbec977278061ff4dfccf035bae2f999_r.png"> v2-fbec977278061ff4dfccf035bae2f999_b.pn

输入组名称,并且输入描述组用途

<img src="https://pic2.zhimg.com/v2-7e6adc916ab7ba5fc21559d382bbd849_b.png" data-rawwidth="745" data-rawheight="479" class="origin_p_w_picpath zh-lightbox-thumb" width="745" data-original="https://pic2.zhimg.com/v2-7e6adc916ab7ba5fc21559d382bbd849_r.png"> v2-7e6adc916ab7ba5fc21559d382bbd849_b.pn

2)添加资产

点击资产管理 —> 查看资产 —> 添加资产

<img src="https://pic2.zhimg.com/v2-496f5002838abc6a2a79088cb4b8bbb5_b.png" data-rawwidth="480" data-rawheight="227" class="origin_p_w_picpath zh-lightbox-thumb" width="480" data-original="https://pic2.zhimg.com/v2-496f5002838abc6a2a79088cb4b8bbb5_r.png"> v2-496f5002838abc6a2a79088cb4b8bbb5_b.pn

输入主机名,主机IP,管理用户名(管理员用户,主机中必须存在的哦~ 可以是root),端口,资产组 —> 提交保存

<img src="https://pic4.zhimg.com/v2-47b96042b3d175f0ddd7f9e31a5b6a93_b.png" data-rawwidth="791" data-rawheight="651" class="origin_p_w_picpath zh-lightbox-thumb" width="791" data-original="https://pic4.zhimg.com/v2-47b96042b3d175f0ddd7f9e31a5b6a93_r.png"> v2-47b96042b3d175f0ddd7f9e31a5b6a93_b.pn

3)添加机房

点击资产管理 —> 查看机房 —> 添加机房

<img src="https://pic2.zhimg.com/v2-979e87264d6a2de6b5a9a8e5d57660e5_b.png" data-rawwidth="463" data-rawheight="224" class="origin_p_w_picpath zh-lightbox-thumb" width="463" data-original="https://pic2.zhimg.com/v2-979e87264d6a2de6b5a9a8e5d57660e5_r.png"> v2-979e87264d6a2de6b5a9a8e5d57660e5_b.pn

输入机房名称,其他的可以选填 —> 保存

<img src="https://pic1.zhimg.com/v2-6274f673f8c1d06106449628916ff790_b.png" data-rawwidth="743" data-rawheight="470" class="origin_p_w_picpath zh-lightbox-thumb" width="743" data-original="https://pic1.zhimg.com/v2-6274f673f8c1d06106449628916ff790_r.png"> v2-6274f673f8c1d06106449628916ff790_b.pn

三、权限管理

1)sudo

点击权限管理 —> sudo —> 添加别名

<img src="https://pic2.zhimg.com/v2-2d90a9a6012e2fc9153016216b937d31_b.png" data-rawwidth="603" data-rawheight="392" class="origin_p_w_picpath zh-lightbox-thumb" width="603" data-original="https://pic2.zhimg.com/v2-2d90a9a6012e2fc9153016216b937d31_r.png"> v2-2d90a9a6012e2fc9153016216b937d31_b.pn

输入别名,系统命令,备注 —> 点击保存

<img src="https://pic1.zhimg.com/v2-b63638dd14e0c54dbc1464609bad04cc_b.png" data-rawwidth="720" data-rawheight="360" class="origin_p_w_picpath zh-lightbox-thumb" width="720" data-original="https://pic1.zhimg.com/v2-b63638dd14e0c54dbc1464609bad04cc_r.png"> v2-b63638dd14e0c54dbc1464609bad04cc_b.pn

2)添加系统用户

点击授权管理 —> 系统用户 —> 添加系统用户

<img src="https://pic2.zhimg.com/v2-f246dd1ac20dd19b34f2d61e1d2062b5_b.png" data-rawwidth="414" data-rawheight="395" class="content_p_w_picpath" width="414"> v2-f246dd1ac20dd19b34f2d61e1d2062b5_b.pn

输入用户名,密码,管理的sudo及备注 —> 单击保存

<img src="https://pic4.zhimg.com/v2-e5300dda0a1c31e9658bdcfa33cc62a7_b.png" data-rawwidth="691" data-rawheight="567" class="origin_p_w_picpath zh-lightbox-thumb" width="691" data-original="https://pic4.zhimg.com/v2-e5300dda0a1c31e9658bdcfa33cc62a7_r.png"> v2-e5300dda0a1c31e9658bdcfa33cc62a7_b.pn

创建好系统之后,单击推送,将用户名、密码、sudo的信息推送到服务器。

<img src="https://pic3.zhimg.com/v2-a8f39dc375b2445405db1a935ab95f32_b.png" data-rawwidth="1076" data-rawheight="278" class="origin_p_w_picpath zh-lightbox-thumb" width="1076" data-original="https://pic3.zhimg.com/v2-a8f39dc375b2445405db1a935ab95f32_r.png"> v2-a8f39dc375b2445405db1a935ab95f32_b.pn

选择系统用户,资产组 —> 单击保存

<img src="https://pic3.zhimg.com/v2-e4361994d66a364f44f26973db4dc782_b.png" data-rawwidth="709" data-rawheight="460" class="origin_p_w_picpath zh-lightbox-thumb" width="709" data-original="https://pic3.zhimg.com/v2-e4361994d66a364f44f26973db4dc782_r.png"> v2-e4361994d66a364f44f26973db4dc782_b.pn

推送成功

<img src="https://pic2.zhimg.com/v2-f9b992baaaa30f57bde4104664e654d1_b.png" data-rawwidth="817" data-rawheight="55" class="origin_p_w_picpath zh-lightbox-thumb" width="817" data-original="https://pic2.zhimg.com/v2-f9b992baaaa30f57bde4104664e654d1_r.png"> v2-f9b992baaaa30f57bde4104664e654d1_b.pn

3)授权规则

点击授权管理 —> 授权规则 —> 添加规则

<img src="https://pic1.zhimg.com/v2-3477080704bd2504bad2b8c2ef7b9230_b.png" data-rawwidth="416" data-rawheight="393" class="content_p_w_picpath" width="416"> v2-3477080704bd2504bad2b8c2ef7b9230_b.pn

输入授权名称,用户/用户组,资产/资产组,系统用户,备注 —> 单击保存

<img src="https://pic3.zhimg.com/v2-a8f5ec5b01162577bbb054f66ff6199a_b.png" data-rawwidth="739" data-rawheight="534" class="origin_p_w_picpath zh-lightbox-thumb" width="739" data-original="https://pic3.zhimg.com/v2-a8f5ec5b01162577bbb054f66ff6199a_r.png"> v2-a8f5ec5b01162577bbb054f66ff6199a_b.pn

四、登录

这时候创建已经完成,下一步用户”hongxue”通过web和密钥登录堡垒机 192.168.1.200,并实现跳转到服务器 192.168.1.210

1)通过web登录 可以看到用户ID,用户名,权限,key,最后登录,用户组,授权主机数,以及主机信息。

<img src="https://pic3.zhimg.com/v2-aa3fe40f52d574e6f6908b39527ae0aa_b.png" data-rawwidth="1280" data-rawheight="718" class="origin_p_w_picpath zh-lightbox-thumb" width="1280" data-original="https://pic3.zhimg.com/v2-aa3fe40f52d574e6f6908b39527ae0aa_r.png"> v2-aa3fe40f52d574e6f6908b39527ae0aa_b.pn

单击查看主机 —> 连接

<img src="https://pic2.zhimg.com/v2-60f6ab0add3d6dc96c2864253ec30b89_b.png" data-rawwidth="1277" data-rawheight="397" class="origin_p_w_picpath zh-lightbox-thumb" width="1277" data-original="https://pic2.zhimg.com/v2-60f6ab0add3d6dc96c2864253ec30b89_r.png"> v2-60f6ab0add3d6dc96c2864253ec30b89_b.pn

连接成功,可以对该主机进行操作。

<img src="https://pic3.zhimg.com/v2-e8fe537a8acac4adc6d431142cc1f146_b.png" data-rawwidth="1259" data-rawheight="716" class="origin_p_w_picpath zh-lightbox-thumb" width="1259" data-original="https://pic3.zhimg.com/v2-e8fe537a8acac4adc6d431142cc1f146_r.png"> v2-e8fe537a8acac4adc6d431142cc1f146_b.pn

2)通过ssh登录

通过邮件中收到的地址,下载key

<img src="https://pic2.zhimg.com/v2-72a63ed51a2432b4f177da07360094cd_b.png" data-rawwidth="254" data-rawheight="194" class="content_p_w_picpath" width="254"> v2-72a63ed51a2432b4f177da07360094cd_b.pn

点击工具 —> 用户密钥管理者

<img src="https://pic2.zhimg.com/v2-c4e0eaa10e4019d6f46abe3d15354831_b.png" data-rawwidth="437" data-rawheight="356" class="origin_p_w_picpath zh-lightbox-thumb" width="437" data-original="https://pic2.zhimg.com/v2-c4e0eaa10e4019d6f46abe3d15354831_r.png"> v2-c4e0eaa10e4019d6f46abe3d15354831_b.pn

单击导入 —> 输入用户名,密码

<img src="https://pic1.zhimg.com/v2-481c51ea07cae0bd00bebb0e98e63bfc_b.png" data-rawwidth="566" data-rawheight="309" class="origin_p_w_picpath zh-lightbox-thumb" width="566" data-original="https://pic1.zhimg.com/v2-481c51ea07cae0bd00bebb0e98e63bfc_r.png"> v2-481c51ea07cae0bd00bebb0e98e63bfc_b.pn

连接 jumpserver 堡垒机 192.168.1.200,输入密钥密码进行登录

<img src="https://pic1.zhimg.com/v2-28c4e1288987122181444b017772dd40_b.png" data-rawwidth="882" data-rawheight="506" class="origin_p_w_picpath zh-lightbox-thumb" width="882" data-original="https://pic1.zhimg.com/v2-28c4e1288987122181444b017772dd40_r.png"> v2-28c4e1288987122181444b017772dd40_b.pn

登录成功!! 从授权的列表中连接到服务器 192.168.1.210

<img src="https://pic1.zhimg.com/v2-9463cb5da6faa754478d74a098c546ec_b.png" data-rawwidth="849" data-rawheight="646" class="origin_p_w_picpath zh-lightbox-thumb" width="849" data-original="https://pic1.zhimg.com/v2-9463cb5da6faa754478d74a098c546ec_r.png"> v2-9463cb5da6faa754478d74a098c546ec_b.pn

!!为了安全,建议配置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;
}

开源跳板机Jumpserver

小企业,openldap

中型企业,Citrix-XenApp服务

大型企业,Citrix-XenApp服务+专职团队开发帐号和权限管理系统(腾讯中相当于一个小公司在做这一块)