本站和网页 http://www.mamicode.com/info-detail-1879307.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

让运维不再背锅的利器jumpserver堡垒机
  首页 Web开发 Windows程序 编程语言 数据库 移动开发 系统相关 微信 其他好文 会员 > > 详细 时间:
2017-06-29 17:52:53
     阅读:
9770
     评论:
     收藏:
    
[点我收藏+]
标签:
配置文件
   
example
server1
服务器
由于来源身份不明、越权操作、密码泄露、数据被窃、违规操作等因素
都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅。
几种常见的背黑锅场景
1、由于不明身份利用远程运维通道攻击服务器造成业务系统出现异常
      但是运维人员无法明确攻击来源,那么领导很生气、后果很严重
2、只有张三能管理的服务器,被李四登录过并且做了违规操作
      但是没有证据是李四登录的,那么张三只能背黑锅了。
3、运维人员不小心泄露了服务器的密码。一旦发生安全事故,那么后果不堪设想。
4、某服务器的重要数据被窃。但是数据文件无法挽回,那么面临的是无法估量的经济损失
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9A/4E/wKiom1lUUr-SrYUUAAEh2kY_sRs399.png-wh_500x0-wm_3-wmp_4-s_1990334751.png" title="3.PNG" alt="wKiom1lUUr-SrYUUAAEh2kY_sRs399.png-wh_50" />
背黑锅的原因
其实运维工作,出现各种问题是在所难免的
不仅要有很好的分析处理能力,而且还要避免问题再次发生。要清楚认识到出现问题的真实原因:
1、没有规范管理,人与服务器之间的界限不清晰
2、没有实名机制,登录服务器前没有实名验证
3、没有密码托管,服务器的密码太多,很难做到定期修改,自己保管怕丢失
4、没有操作预警,对高危、敏感的操作无法做到事前防御
5、没有传输控制,对重要服务器无法控制文件传输
6、没有回溯过程,不能完整还原运维过程
解决背黑锅的必杀技
作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?也许堡垒机是一个破解此局面的必杀技。
1、统一入口、规范管理
提供统一入口,所有运维人员只能登录堡垒机才能访问服务器,梳理“人与服务器”之间的关系,防止越权登录
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9A/4E/wKiom1lUUyHQOJDGAAQloyxt6ts878.png-wh_500x0-wm_3-wmp_4-s_811061808.png" title="3.PNG" alt="wKiom1lUUyHQOJDGAAQloyxt6ts878.png-wh_50" />
2、利用手机APP动态口令等验证机制
采用手机APP动态口令、OTP动态令牌、USBKEY、短信口令等双因素身份实名鉴别机制
防止密码被暴力破解,解决访问身份模糊的问题
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9A/4E/wKiom1lUUwXDf8tLAALgiTcwir0504.png-wh_500x0-wm_3-wmp_4-s_3181404901.png" title="4.PNG" alt="wKiom1lUUwXDf8tLAALgiTcwir0504.png-wh_50" />
3、托管服务器密码,实现自动改密
通过堡垒机定期自动修改服务器的密码,解决手工修改密码、密码泄露和记住密码的烦恼。
1、可自动修改Windows、Linux、Unix、网络设备等操作系统的密码
2、可以设置周期或指定时间执行改密任务
3、可设定密码的复杂度、随机密码、指定密码、固定密码格式等
4、可通过邮件、SFTP、FTP方式自动发送密码文件给管理员
5、提供密码容错机制:改密前自动备份、备份失败不改密、改密后自动备份、自动恢复密码等
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/9A/4E/wKiom1lUU3bTMb_kAAFEmILRpXs483.png-wh_500x0-wm_3-wmp_4-s_90147377.png" title="3.PNG" alt="wKiom1lUU3bTMb_kAAFEmILRpXs483.png-wh_50" />
4、事中控制,防止违规操作
1、通过命令控制策略,拦截高危、敏感的命令
2、通过命令审核策略,审批需要执行但又不能随意执行的命令
3、通过文件传输控制策略,防止数据、文件的泄露
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9A/4E/wKiom1lUU2DwXa64AALFaqF8au8055.png-wh_500x0-wm_3-wmp_4-s_4054418095.png" title="4.PNG" alt="wKiom1lUU2DwXa64AALFaqF8au8055.png-wh_50" />
5、精细化审计,追溯整个运维过程
堡垒机要做到文件记录、视频回放等精细化完整审计,快速定位运维过程:
1、不仅要对所有操作会话的在线监控、实时阻断、日志回放、起止时间、来源用户
来源地址、目标地址、协议、命令、操作(如对文件的上传、下载、删除、修改等操作等)等行为记录。
2、还要能保存SFTP/FTP/SCP/RDP/RZ/SZ传输的文件
为上传恶意文件、拖库、窃取数据等危险行为起到了追踪依据。
下面就说说堡垒机的具体安装部署
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
https://github.com/jumpserver/jumpserver.git
注: 如果下载失败,则去github上面下载zip包,unzip解压缩即可
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9A/4E/wKiom1lUU7mQ7sCKAABHB-cz4Ro890.png-wh_500x0-wm_3-wmp_4-s_3904726325.png" title="3.PNG" alt="wKiom1lUU7mQ7sCKAABHB-cz4Ro890.png-wh_50" />
三、执行快速安装脚本
cd /opt/jumpserver/install
pip install -r requirement.txt
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9A/4F/wKioL1lUU8nwDJ9DAABhzvHRs6Q179.png-wh_500x0-wm_3-wmp_4-s_3697810884.png" title="4.PNG" alt="wKioL1lUU8nwDJ9DAABhzvHRs6Q179.png-wh_50" />
查看安装的包
pip freeze
python install.py
输入jumpserver的地址,默认为:”192.168.1.200”,回车即可。
是否安装
mysql
:选择”y”进行安装
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9A/4E/wKiom1lUVA-A2baxAABHsmOdrFE712.png-wh_500x0-wm_3-wmp_4-s_3821161983.png" title="3.PNG" alt="wKiom1lUVA-A2baxAABHsmOdrFE712.png-wh_50" />
MySQL 启动后会要求用户输入 邮件服务器及账户
(后期用来发送用户名、ssh pass、web pass、ssh key)
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9A/4E/wKiom1lUVB3CDmAvAAB9CjHSP_A667.png-wh_500x0-wm_3-wmp_4-s_2868176823.png" title="4.PNG" alt="wKiom1lUVB3CDmAvAAB9CjHSP_A667.png-wh_50" />
输入smtp信息之后发现报错了,是python的pycrypto模块问题,需要卸载重装:
pip uninstall pycrypto
easy_install pycrypto
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9A/4F/wKioL1lUVH7xyLrUAAAov_Nst-M888.png-wh_500x0-wm_3-wmp_4-s_2346630295.png" title="3.PNG" alt="wKioL1lUVH7xyLrUAAAov_Nst-M888.png-wh_50" />
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9A/4E/wKiom1lUVIiCCMeTAAAtS_Ttwis940.png-wh_500x0-wm_3-wmp_4-s_1921342850.png" title="4.PNG" alt="wKiom1lUVIiCCMeTAAAtS_Ttwis940.png-wh_50" />
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9A/4F/wKioL1lUVJLwu4W2AAAZoO2xJ5s524.png-wh_500x0-wm_3-wmp_4-s_184925078.png" title="5.PNG" alt="wKioL1lUVJLwu4W2AAAZoO2xJ5s524.png-wh_50" />
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9A/4E/wKiom1lUVJyTQcPMAAAXa0hCuYY273.png-wh_500x0-wm_3-wmp_4-s_1149448318.png" title="6.PNG" alt="wKiom1lUVJyTQcPMAAAXa0hCuYY273.png-wh_50" />
安装之后继续 python install.py 进行安装,并且输入 web管理员用户名和管理员密码,ok
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9A/4E/wKiom1lUVNGjXhznAABAMQo6_-4966.png-wh_500x0-wm_3-wmp_4-s_3024535367.png" title="3.PNG" alt="wKiom1lUVNGjXhznAABAMQo6_-4966.png-wh_50" />
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/9A/4E/wKiom1lUVOWxwpJ8AAAsw3Ut_3k093.png-wh_500x0-wm_3-wmp_4-s_4008804819.png" title="4.PNG" alt="wKiom1lUVOWxwpJ8AAAsw3Ut_3k093.png-wh_50" />
四、运行 crontab
定期处理失效连接,定期更新资产信息
cd /opt/jumpserver
python manage.py crontab add
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9A/4F/wKioL1lUVSDxtaKiAABPkrZkijM495.png-wh_500x0-wm_3-wmp_4-s_2773643707.png" title="3.PNG" alt="wKioL1lUVSDxtaKiAABPkrZkijM495.png-wh_50" />
注:
1)根据提示输入相关信息,完成安装,安装完成后,请访问web,继续查看后续文档
2)如果启动失败,请返回上层目录,手动运行 ./service.sh start 启动
3)如果 ./service.sh start 启动失败 
python manage.py runserver 0.0.0.0:80  
python run_websocket.py 
4)如果启动失败,可能是由于80端口和3000端口已经被占用,或者
账号密码不对,请检查
五、Web登录
http://192.168.1.200
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9A/4F/wKioL1lUVVqhkuciAAD73N5FbKQ976.png-wh_500x0-wm_3-wmp_4-s_2443133260.png" title="3.PNG" alt="wKioL1lUVVqhkuciAAD73N5FbKQ976.png-wh_50" />
注意:
在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件:
1)后端服务器需要有python、sudo环境才能使用推送用户,批量命令等功能
2)后端服务器如果开启了selinux,请安装libselinux-python
六、更新代码
git pull
原文地址:http://hujiangtao.blog.51cto.com/6123408/1942908
举报
评论
一句话评论(
登录后才能评论!
分享档案
更多>
2021年07月29日
(22)
2021年07月28日
(40)
2021年07月27日
(32)
2021年07月26日
(79)
2021年07月23日
(29)
2021年07月22日
(30)
2021年07月21日
(42)
2021年07月20日
(16)
2021年07月19日
(90)
2021年07月16日
(35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
【K8s概念】CSI 卷克隆
vue3.0使用ant-design-vue进行按需加载原来这么简单
stack栈
抽奖动画 - 大转盘抽奖
PPT写作技巧
003-核心技术-IO模型-NIO-基于NIO群聊示例
Bootstrap组件2
友情链接
兰亭集智
  
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
联系我们
留言反馈
© 2014
mamicode.com
版权所有
京ICP备13008772号-2
-->  联系我们:gaon5@hotmail.com
迷上了代码!