开发者社区> 技术小阿哥> 正文

让运维不再背锅的利器jumpserver堡垒机

简介:
+关注继续查看

由于来源身份不明、越权操作、密码泄露、数据被窃、违规操作等因素

都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅。

几种常见的背黑锅场景

1、由于不明身份利用远程运维通道攻击服务器造成业务系统出现异常

      但是运维人员无法明确攻击来源,那么领导很生气、后果很严重

2、只有张三能管理的服务器,被李四登录过并且做了违规操作

      但是没有证据是李四登录的,那么张三只能背黑锅了。

3、运维人员不小心泄露了服务器的密码。一旦发生安全事故,那么后果不堪设想。

4、某服务器的重要数据被窃。但是数据文件无法挽回,那么面临的是无法估量的经济损失

wKiom1lUUr-SrYUUAAEh2kY_sRs399.png-wh_50

背黑锅的原因

其实运维工作,出现各种问题是在所难免的
不仅要有很好的分析处理能力,而且还要避免问题再次发生。要清楚认识到出现问题的真实原因:

1、没有规范管理,人与服务器之间的界限不清晰

2、没有实名机制,登录服务器前没有实名验证

3、没有密码托管,服务器的密码太多,很难做到定期修改,自己保管怕丢失

4、没有操作预警,对高危、敏感的操作无法做到事前防御

5、没有传输控制,对重要服务器无法控制文件传输

6、没有回溯过程,不能完整还原运维过程

解决背黑锅的必杀技

作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?也许堡垒机是一个破解此局面的必杀技。

1、统一入口、规范管理

提供统一入口,所有运维人员只能登录堡垒机才能访问服务器,梳理“人与服务器”之间的关系,防止越权登录

wKiom1lUUyHQOJDGAAQloyxt6ts878.png-wh_50

2、利用手机APP动态口令等验证机制

采用手机APP动态口令、OTP动态令牌、USBKEY、短信口令等双因素身份实名鉴别机制

防止密码被暴力破解,解决访问身份模糊的问题

wKiom1lUUwXDf8tLAALgiTcwir0504.png-wh_50

3、托管服务器密码,实现自动改密

通过堡垒机定期自动修改服务器的密码,解决手工修改密码、密码泄露和记住密码的烦恼。

1、可自动修改Windows、Linux、Unix、网络设备等操作系统的密码

2、可以设置周期或指定时间执行改密任务

3、可设定密码的复杂度、随机密码、指定密码、固定密码格式等

4、可通过邮件、SFTP、FTP方式自动发送密码文件给管理员

5、提供密码容错机制:改密前自动备份、备份失败不改密、改密后自动备份、自动恢复密码等

wKiom1lUU3bTMb_kAAFEmILRpXs483.png-wh_50

4、事中控制,防止违规操作

作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?也许堡垒机是一个破解此局面的必杀技。

1、通过命令控制策略,拦截高危、敏感的命令

2、通过命令审核策略,审批需要执行但又不能随意执行的命令

3、通过文件传输控制策略,防止数据、文件的泄露

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解压缩即可

wKiom1lUU7mQ7sCKAABHB-cz4Ro890.png-wh_50


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

pip install -r requirement.txt

wKioL1lUU8nwDJ9DAABhzvHRs6Q179.png-wh_50

查看安装的包 
pip freeze

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

wKiom1lUVA-A2baxAABHsmOdrFE712.png-wh_50

MySQL 启动后会要求用户输入 邮件服务器及账户

(后期用来发送用户名、ssh pass、web pass、ssh key)

wKiom1lUVB3CDmAvAAB9CjHSP_A667.png-wh_50

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

wKioL1lUVH7xyLrUAAAov_Nst-M888.png-wh_50

wKiom1lUVIiCCMeTAAAtS_Ttwis940.png-wh_50

wKioL1lUVJLwu4W2AAAZoO2xJ5s524.png-wh_50

wKiom1lUVJyTQcPMAAAXa0hCuYY273.png-wh_50

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

wKiom1lUVNGjXhznAABAMQo6_-4966.png-wh_50

wKiom1lUVOWxwpJ8AAAsw3Ut_3k093.png-wh_50


四、运行 crontab

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

wKioL1lUVSDxtaKiAABPkrZkijM495.png-wh_50

注: 
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

wKioL1lUVVqhkuciAAD73N5FbKQ976.png-wh_50

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


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



本文转自 2012hjtwyf 51CTO博客,原文链接:http://blog.51cto.com/hujiangtao/1942908,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JumpServer堡垒机(二)
JumpServer堡垒机(二)
89 0
JumpServer堡垒机(一)
JumpServer堡垒机
143 0
CentOS7下部署JumpServer开源堡垒机
CentOS7下部署JumpServer开源堡垒机
181 0
【Linux】之Jumpserver堡垒机添加linux主机资产
防火墙 ssh/vnc 端口必须开放给 JumpServer 所有服务器访问 >❗ 请检查 /etc/hosts.allow /etc/hosts.deny /etc/ssh/sshd_config 是否有登录限制 >❗ 资产连接超时 timeout 请检查 /etc/ssh/sshd_config 的 USEDNS 项是否为 no
217 0
【Linux】之Jumpserver堡垒机的部署/搭建
Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产
181 0
【JumpServer-初识篇】一键搭建JumpServer堡垒机、对接server服务器,只需要25分钟
今天分享JumpServer堡垒机,带领大家搭建以及使用JumpServer连接我们的后端server服务器。 这里安装的版本v2.22.2,采用的是离线部署JumpServer堡垒机,相应的还有一键部署、手动部署、kubernetes部署、源码部署等。更多信息请使用文章末尾链接查看。 <br> # 一、什么是堡垒机? 堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。
472 0
JumpServer 堡垒机
JumpServer 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。
288 0
jumpserver堡垒机部署及添加linux主机资产
jumpserver部署及添加资产 1.部署jumpserver 1.1.安装docker及docker-compose
906 0
Centos7下Docker搭建Jumpserver堡垒机
Centos7下Docker搭建Jumpserver堡垒机
1332 0
运维堡垒机是什么?有什么作用?
运维堡垒机是什么?运维人员通常都会通过堡垒机,进行服务器的日常维护工作。运维堡垒机对运维维护人员的安全操作起着重要的审计和控制作用。在出现重大服务器操作事故时,能够快速有效的定位原因和责任人。
4063 0
+关注
技术小阿哥
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
7天从开发到上线 云上高效运维实践与探索
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多