福布斯(Forbes),一家专注于商业、投资、科技、创业以及生活等方面的专业且权威的全球性知名媒体企业。2016年福布斯重组了福布斯中国运营商,并将业务重点集中在福布斯中文网上。随着品牌自带的巨量流量而来的系统稳定性、可持续性、安全性等都会给福布斯中文网运营团队带来严峻的考验,这就需要团队具有更强的系统能力来保障系统的健康运行。
非常幸运的是稻壳团队的专业度和服务态度得到了福布斯中文网运营团队的认可,不管是从公司内部的形象的塑造出发还是从系统对外的社会影响力上出发,我们必须以我们的专业度来保证福布斯中文网的健康稳定运行。所以我们以系统健康稳定运行为目标出发,通过系统性的分析,设计合理的方案,规范的实施步骤全方位对福布斯中文网进行了升级维护,成功让系统能持续稳定的给用户提供服务。
初探:全面分析发现潜在问题
整个系统有十几年的历程,随着技术的迭代更新,福布斯中文网并没有得到持续性的维护迭代,这必然会导致整个系统有很多历史包袱。在福布斯中文网发展过程中其技术团队几经更迭,系统的代码也必然会显得臃肿冗余。要维护好这样的系统,必须要先了解熟悉整个系统,因此需要在产品、开发、运维等层面做全面的分析总结。
通过对系统代码、历史维护工作分析,可以看出系统程序框架杂乱、文件规划不合理;安全方面无任何保障;系统稳定性差,无任何备案;虽然静态化保证了日常的性能要求,但是无法防御突然爆发的并发性能要求。
可见整个系统在可持续性、稳定性、安全性上都没有相应的保障,这也将是我们的工作重心。
规划:全方位的运维方案为工作指引方向
首先需要对整个系统运行结构做升级,主要集中在部署层面来处理。
- 因为面向用户提供服务的是静态化的内容,CDN(内容分发网络)是针对此场景最佳的工具。CDN能大幅度降用户和服务之间的物理距离;分散服务器压力,且在高并发访问场景下服务的稳定性不在受限于服务器网络。
CDN全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN能够根据设置的缓存策略缓存JavaScript脚本,css样式表,图片,图标,Flash等资源,这些资源的访问频率很高,将其缓存在CDN可以极大地提高网站的访问速度。
- 使用堡垒机隔离系统运行环境是最基础的保证运行环境安全的方法;通过限制访问网络的方式限制非运营人员访问管理后台能最大程度保证系统的安全性。
堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。其从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的访问。目前的开源堡垒机方案有很多,目前做的较好的诸如有CrazyEye、Teleport、Jumpserver、GateOne、麒麟开源堡垒机等
- 在以前结构下,当数据库服务器或者应用服务器宕机时,必定会导致服务不可用。所以我们必须让WEB服务和数据库服务高可用,因此我们针对WEB服务做负载均衡和集群,对数据库服务器做双机热活。
负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。负载均衡一般有的实现方式有软件和硬件两种方式;软件有:Nginx 、Haproxy 、Lvs等,硬件有:F5、A10、Redware等。
其次,需要在系统维护过程中加入正常的日常维护,安全防护等。
通过“代码安全扫描”、“Sql注入检测”、“跨站请求攻击漏洞检测”、“网站病毒扫描”、“服务器安装防病毒软件”、“网络访问策略完善”、“渗透测试”等工作来对整个系统的代码做安全检测,来尽可能发现系统存在的安全漏洞。
实施:实时响应、高效执行是提供优质服务的基础保障
正如开始我们预料到到的一样,通过工具扫描发现系统中存在大量的后门程序;大约两百多个代码文件是有安全漏洞或直接是木马程序。
专业的工具,多次的清理、检测让我们在代码安全上有了信心。同时也证明一个不专门维护的系统是很容易被不法分子入侵、挂马。
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。常用的渗透测试工具有:Nmap、Wireshark、Metasploit、Airecrack-ng、Burp Suite、SqlMap、THC HYdra等。
SQL注入是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。如果Web应用程序的开发人员对用户所输入的数据或cookie等内容不进行过滤或验证(即存在注入点)就直接传输给数据库,就可能导致拼接的SQL被执行,获取对数据库的信息以及提权,发生SQL注入攻击。
CDN的效果往往令人欣喜,良好的网页打开速度也让客户更加的信任我们团队,而信任更是良好合作的基础条件,我们像是一个团队一样在保证着整个系统的稳定运行。
访问统计分析是网站运营的基础工作之一,通过访问数据分析、制定相应的运营策略,持续的访问统计分析给客户运营工作提供了有效的依据。
以消费者为中心、以技术为基础保障,让运营高效强有力。
在互联网时代下,良好的用户体验、服务体验一直是企业竞争力的体现,这必然要求系统能持续稳定的给用户提供服务,所以企业更应该防患于未然、未雨绸缪。运营的多样性必然需要系统支持这种多样性,这就必然会涉及到技术对网站运营工作的支持,及时的技术响应、高效的技术执行成为影响运营工作的重要因素。所以一个专业的、可信的、有良好服务意识的团队在技术层面协助、保证运营工作的开展,同时保障系统的稳定性、安全性、稳健性等。