首页 运维职场我在携程的这十年:一个老运维的成长往事

我在携程的这十年:一个老运维的成长往事

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

作者简介

我在携程的这十年:一个老运维的成长往事插图

雷兵

携程网 安全中心信息安全专家

2007年1月加入携程,曾任安全经理、高级经理、网络安全总监,负责携程技术安全体系建设,曾主持网络安全架构设计、内外网渗透测试安全评估、建立应用安全团队、部署代码白盒扫描系统、Web 应用防火墙等。

现任网站运营中心网络安全部总监,近年来带领团队向互联网运维团队转型,结合开源工具开发了一批适合公司实际环境的网络安全工具和系统。

前言

本文里分享的不会有太多包括顶尖的技术,高深的理论复杂的流程,只想跟大家分享一下一个运维人的故事。首先讲的我是怎么做运维的。

历史故事

左上这张照片拍摄于20几年前,这是我的照片。后面是当时我在运维的设备,一台 IBM 的 RS/6000 工作站,照片上角两个 logo,一个是同济大学,一个是同济大学海洋学院。当时研究生毕业,跟老师做科研项目,维护一些地震的数据处理系统,主要是做能源勘探一些科学计算的东西。

现在很多地方谈到技术栈,图中左下是那时用到的一些系统和程序语言,如图:硬件和操作系统方面,有 IBM RS/6000,Sun 工作站,SGI Origin2100 等,操作系统用到各种 Unix:AIX,Sunos/Solaris/IRIX,以及 Linux,Freebsd,以及一些开源地球物理数据处理系统,比如 Seismic Unix,Freeusp,也会用到 Fortran 和 C 语言做程序开发,Fortran 主要用于科学计算,C 做一些数据格式转换,磁带机控制等。使用 pvm,mpi 这样的消息传递平台做高性能计算。

那时上海热线开通免费拨号上网后来1997年大学校园网建成,接触到更广泛的IT技术圈,经常去高校 BBS 和 Pchome IRC,曾当过一年多交大饮水思源 BBS 的 Unix 版主,参与过上海 Linux user group 的早期活动。

线上线下认识不少朋友,有精通网络,Linux/Unix 的, 也有精通安全的,和他们的认识,极大开阔了自己的视野,朋友推荐了些学习安全的东西,图中间的书作为代表,我从中接触到了更多安全的知识,很感兴趣。当时的网络安全意识或概念是非常薄弱的,大家主要还是以用为主。

工作做的事跟团队做的主流差别比较大的时候,会发现跟自己平时一起工作的人共同语言越来越少,而跟其他的人更有共同语言。那个时候,一位兼职教授给我写了一幅字,右边的图,这幅字就让我有了从事运维的决心,从同济大学离开投入一个我感兴趣的行业。

1、初进携程

在2007年初,通过朋友的引荐我加入了携程旅行网,我去之前不知道它是一个什么样的公司,去了以后才知道这是个2003年就在纳斯达克上市的公司。从此开始了真正的大企业运维岗位。

感谢当时的领导能接纳了“半路出家”的我。当时服务器已经有一千多台了,我就觉得来对地方了,至少是规模比较大,运维也有了几十人的队伍,一看都是很年轻有朝气的。

携程从07年做到现在基本上十年的时间,我就是一直做安全运维,后面就跟大家分享一下这个运维经历一些什么。我自己的一些体会。今天的携程是目前全球市值第二的旅行服务公司 OTA,也是中国最大的旅行服务公司。员工有三万多人,有17个分支机构,全世界各地。

2、传统运维下的携程

我到携程开始做的就是传统运维。什么是传统运维,什么是互联网运维,我这里只谈一下当时的携程,这两个图是2010年和2011年我们当时在技术运营部做的项目时间周期表。

传统运维

从浅色到深色,小于三个月最浅,然后是三到六个月,六到12个月。在2010年少于三个月项目只有12%,其他都是三个月以上,甚至是大于一年有26%,这是做的34个项目。

2010年少于三个月的项目已经没有了,做一个项目是三到六个月,六到12个月,大于一年的,6到12个月大概就是接近12个月。从项目周期来看当时的情况是这样的。

安全做的一些项目,比如说 DMZ 项目,数据库的安全项目,分公司安全项目,这些项目周期都是大于一年的。WAF 项目,是6到12个月,项目内容也比较清晰,就是评估 WAF 测试一下,然后采购部署,非常传统的一个流程,不涉及自己二次开发。当时看的最多的 Gartner 的报告。

刚才提到的采购部署项目,这些设备上线以后,经常会涉及到各个系统比如说某品牌的防火墙,需要写架构、配置、运维、排障四个文档,需要自己整理厂商文档去写,整个工作节奏和变化都比较慢。

之前听到某个演讲里谈到当前的很多系统,当文档写出来这个系统就会面临失效。刚去携程的时候,有四台防火墙,一个 VPN 还有一个日志记录的设备。

3、我们的团队

我在携程的这十年:一个老运维的成长往事插图3

图片是我团队的照片,09年,11年,12年。这里面可能有熟悉的身影,到时候会跟大家说一下这些人后来都在哪做什么。当时比较难的事情,有数据库的安全,还有建设 DMZ 也比较难。

  • 遇到最大的问题就是对未来的预估不准
    当时我们采购设备,领导要求评估买个设备能用三四年,不能今年买明年就要换。就按携程的业务增长量来估,当时增长是每年40%增长,那我们认为防火墙指标也是40%或50%增长。然后按这个原则采购的防火墙上线,只过了一年多各项指标就快超过标称了,这是在公司快速的发展过程中会遇到的。我们需要赶紧再换一个设备,很多时间就耗费这上面了。
  • 还有难点一个就是推进应用安全
    我们开始是从网络安全做起来的,后来推应用安全,开发流程里加相关的工序做代码检验,运维和开发是两个不同的部门,推进的也是比较难的。通过克服各种困难,团队和自身都有了很大成长和进步。大约在2012年底之前都是在传统的阶段,团队的人员也从我刚刚去2007年的三个人,发展到2012年11位。2012年之前,很多互联网的公司认为携程是一个传统企业,传统在什么地方?携程就是做呼叫中心的,当时呼叫中心占据的票务量是比重比较大的。到2012年以后,发生了很大的变化,引入了很多新技术,遇到很多的挑战,2013年以后到现在我们一个项目的周期基本上就是在一两个月项目完成,遇到挑战更大,比如数据中心也扩建了好几个,吞吐量更大,带宽也是从1个G到几十个G。
  • 再一个就是要快速响应
    周边团队都在做自动化。以前服务器上线交付周期是一到两个星期,领导要求这个时间要放在两小时之内,经过努力这个两个小时目标做到了,我们的网络安全团队里面也提供了一些必要的支持,后面会介绍到。所有的运维都要自动化,网络安全也要跟上自动化的脚步。这个时候我们的设备,仅防火墙就有一百多台,刚去的时候是四台,这个是规模上的改变,当然设备种类也多了很多,就不例举了。我在携程的这十年:一个老运维的成长往事插图4

    自动封IP

    在这种自动化形势下,我们做的第一个转变事情就是封IP。当发现异常的情况,比如安全设备报警,应用的报警,其他各种各样的情况,需要封IP。

    我们之前由防火墙工程师处理,封IP需要变更,流程就是变更申请,审批,然后封,前提是必须工程师还要在场。

    很多情况下从封IP的需求到实际把这个IP封了,要花很长时间。而且封的IP可能会比较多,要变更封十几次,而且封的这个量也很大。动不动可能就是几十个上百个这样的情况。我们面临的实际需求就是要自动封IP。

    我们安全工程师都是从安全公司招来的,大部分是做安全设备运维的。按照传统观念你要找一个合适的设备,由厂商/供应商都写好方法,工程师就是照做。当时这个传统方法不行了,需要同事们自己想办法,自动化处理。

    我们要设计一个系统能自动接受IP并在相应设备上封锁,研究下来当时防火墙不能做,交换机可以但不方便,后来确定在 IPS 上做。

    写程序接受被封IP列表,发送到 IPS 上自动封锁,是一个简单的流程,测试好了就上线运作,用起来能自动化还不错。

    后来遇到了一个大坑,我们接收来自上游系统通过算法识别的恶意IP输出,有次那个系统出了问题,一下发过来几万个IP,这几万个是我们实际用户的数据,不是“坏人”IP,我们系统就开始封,还停不掉,造成了不小的故障影响。

    然后针对这种情况,仔细研究了系统的防呆措施,如对接收IP做速率限定,封堵IP设置数量上限,可以及时刹车马上终止,人工输入封锁解封,各种记录查询等,把这些做完后,这个系统才基本完善,后续一直做持续改进。

    这一套系统的思路和概念一直沿用,虽然后来换了一些组件,比如说封的设备、运维团队、输入系统等,照样还是在正常运作,可以说是在过坑中逐步的成长。

    自动化交付

    网络安全有三件重要的事:

    • 感知的能力
    • 阻断的能力
    • 回溯的能力我在携程的这十年:一个老运维的成长往事插图5之后我们做了各种自动化工具都是这三个范畴的。上面列的系统都是在生产环境使用的。之前说到的两小时服务器上线交付,我们的自动化工具也在其中,一个是分布式的漏扫。做过漏扫的同事都知道,各种特征扫一遍最少也要几十分钟,串行在两个小时上线目标中,占了非常大的时间比例,后来经过研究分析,上线都是采用标准的配置基线自动处理,配错的情况非常少,可能少于百分之 0.1,后来我们就将漏扫做旁路,流程工单启动开始做扫描我这个工单就完成,进行下一个工序,如果扫描30分钟后发现有安全问题,我们再进入一个别的流程去做整改,这样就提高很多效率。上线流程里面还有一个证书部署,之前手工方式,这个时间就长了,几十分钟算快的,我们开发了一个自动部署系统,如果需要部署证书,自动到配置库里调用和自动部署到需要的服务器上,分钟级就可以解决问题。所以这都是在周边 DevOps 环境要求下,我们需要努力处理好自己系统的自动化

      防火墙自动化运维

      我们团队做的一个比较大的系统是防火墙自动化运维,国内业界这样做的不多。我们在生产防火墙上实现了策划下发的自动化,听起来这个事情很吓人,万一出点事情造成的影响将会很大,所以需要有一些可靠的防呆措施。

      照片是我们在2014年2015年的合影,团队的八个人在最近一年半的时间,提交了发明专利30多项,在公开和实质审查阶段大概是十五、六篇,这也是很大的成果。

      我在携程的这十年:一个老运维的成长往事插图6

      4、小结

      我和同事们遇到的问题就是周围的环境发生了巨大的转变,这个时候我们应该怎么办,这时候就需要有归零心态,该学的东西就要学,不管是运维还是安全,我们面临的就是日新月异的各种变化,有各种的新技术,各种新挑战,如果我们跟不上步伐,运维40岁肯定干不到,如果跟的上,干到多少岁都行,如果早日财务自由了最好。

      文章来自微信公众号:高效运维

本文链接:https://www.yunweipai.com/13388.html

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部