B2B創(chuàng)業(yè)型企業(yè)的安全運(yùn)營建設(shè)之路

卞軍軍 高效運(yùn)維 2017-04-20 09:54:52

說說找鋼

發(fā)展史

我們找鋼是在2011年年底成立的,之前也是響應(yīng)國家“互聯(lián)網(wǎng)+”號召,加上鋼鐵的產(chǎn)能過剩,于是我們公司成立了。

找鋼網(wǎng)是全產(chǎn)業(yè)鏈的鋼鐵電商,從買鋼材到倉儲(chǔ)運(yùn)輸以及一些金融方面,加上智能數(shù)據(jù)形成了的一個(gè)完整的鋼鐵貿(mào)易的生態(tài)圈,一開始找鋼網(wǎng)是做撮合業(yè)務(wù),因?yàn)橘I賣雙方渠道是不透明,現(xiàn)在我們也是做自營的業(yè)務(wù),就是之前講過的一些服務(wù)我們都可以做到。

規(guī)模上,到現(xiàn)在找鋼網(wǎng)是有1400多人的大團(tuán)隊(duì),也有一些分公司海外分公司,武漢二級研發(fā)中心。

找鋼網(wǎng)B2B特色

相對其他的一些互聯(lián)網(wǎng)企業(yè)來說,找鋼網(wǎng)是還是一個(gè)偏向傳統(tǒng)的 B2B 互聯(lián)網(wǎng)企業(yè),從兩方面可以介紹一下,第一個(gè)是從用戶來說,我們的用戶群體比較集中,另外從業(yè)務(wù)量來說,我們相對 2C,沒有那么大的用戶量,另外我們的核心業(yè)務(wù)是在內(nèi)網(wǎng)。

歷史遺留問題

總體上,我們找鋼網(wǎng)作為一個(gè)創(chuàng)業(yè)型的企業(yè)發(fā)展是很迅速的,相對的也有很多問題,這里簡單講一下,起初我們的物理機(jī)房很混亂,如上圖所示,我想很多初創(chuàng)的公司都面臨過這樣的情況,還有應(yīng)用的部署不合理,監(jiān)控方面不全面等等問題。我們的安全運(yùn)維建設(shè)都是從零到有的一個(gè)過程,包括標(biāo)準(zhǔn)化和自動(dòng)化。

安全運(yùn)營

下面介紹一下安全運(yùn)營,找鋼的安全也是從零開始建設(shè)的。

安全運(yùn)營建設(shè)的通用公式

首先講一下安全建設(shè)的過程,我也了解了一些其他些企業(yè)安全建設(shè)的過程,大致總結(jié)有四點(diǎn),我把它定義為一個(gè)通用公式。

最開始的是救火階段,當(dāng)前優(yōu)先要解決刻不容緩的問題,比如說我們有一些外部應(yīng)用遭到了攻擊,發(fā)現(xiàn)了高危漏洞,甚至造成業(yè)務(wù)癱瘓了,直接可造成公司形象、經(jīng)濟(jì)等損失等。

接下來是建設(shè)階段,救火之后我們做防范建設(shè)措施。做建設(shè)可以從兩點(diǎn)做起,第一個(gè)是基礎(chǔ)建設(shè),包括辦公網(wǎng)絡(luò)和生產(chǎn)網(wǎng)絡(luò),第二個(gè)是安全建設(shè),基礎(chǔ)建設(shè)建設(shè)完后我們可以做一些擴(kuò)展的安全建設(shè),比如從內(nèi)部的IT的建設(shè),運(yùn)維的建設(shè)擴(kuò)展得到全公司的業(yè)務(wù),跟公司業(yè)務(wù)結(jié)合。

第三階段是優(yōu)化階段,當(dāng)公司規(guī)模發(fā)展到一定規(guī)模,當(dāng)前的一些策略,或者是我們現(xiàn)有的一些產(chǎn)品不能滿足自己的公司的業(yè)務(wù)需求,那么進(jìn)入到一個(gè)自研的環(huán)節(jié),這一點(diǎn)是根據(jù)當(dāng)前現(xiàn)狀去開發(fā)滿足業(yè)務(wù)需求的工具和產(chǎn)品,

最后一個(gè)階段產(chǎn)品的對外開放。

救火系列

之前也說了建設(shè)的四個(gè)階段,首先講一下救火階段,我是2015年底加入找鋼網(wǎng)的,當(dāng)時(shí)第三方安全漏洞平臺(tái)對爆出了找鋼網(wǎng)的一些高危漏洞,那么首要解決這些高危安全漏洞,避免攻擊擴(kuò)大,漏洞修復(fù)完成后對存在漏洞的應(yīng)用做一個(gè)整體的安全測試。

安全測試完全之后,接下來就是要讓我們的研發(fā)人解決這些安全問題,同時(shí)也要提供安全解決方案,安全解決方案這可以整合成安全規(guī)范,比如針對當(dāng)前比較常見的或者是基礎(chǔ)的安全漏洞,例如 SQL 注入、以及常見的邏輯上的問題,提供一個(gè)完全的攻擊案例和修復(fù)方案說。

再來就是對開發(fā)人員做安全培訓(xùn),在一個(gè)公司中開發(fā)人員的水平也是不一樣的,甚至有些開發(fā)人員對安全沒有接觸過,或者可以說沒有安全基礎(chǔ)的開發(fā)人員,對這一類開發(fā)人員要做的是先提高他們的安全認(rèn)知。

我做了一個(gè)安全平臺(tái),這個(gè)安全平臺(tái)初期的作用是作為安全漏洞的跟蹤管理統(tǒng)計(jì),后期會(huì)對它擴(kuò)展,實(shí)現(xiàn)對所有安全的統(tǒng)一管理,比如說運(yùn)維基準(zhǔn)建設(shè),自動(dòng)化巡檢以及日志平臺(tái)的建立,實(shí)現(xiàn)自動(dòng)化預(yù)警機(jī)制。

傳統(tǒng)的安全體系

救火之后我們需要做一些安全建設(shè)方面的工作,安全體系的建設(shè),相對其它互聯(lián)網(wǎng)企業(yè)來說,傳統(tǒng)的互聯(lián)網(wǎng)企業(yè)需要做的安全建設(shè)項(xiàng)要稍有不同。

我們根據(jù)找鋼網(wǎng)的現(xiàn)狀,從這五大方面做它的建設(shè),包括:基礎(chǔ)安全,應(yīng)用安全,訪問控制,運(yùn)維安全,以及內(nèi)網(wǎng)安全,為什么把內(nèi)網(wǎng)安全單獨(dú)拿出來呢?因?yàn)槲覀兒诵牡臉I(yè)務(wù)是在內(nèi)網(wǎng),這對我們的業(yè)務(wù)體系來說是非常重要的。

傳統(tǒng)的安全體系架構(gòu)如上圖所示,接下來我們一一講述。

基礎(chǔ)安全

首先是基礎(chǔ)安全,看上圖中基礎(chǔ)安全中的分類,他包含很多的方面,如網(wǎng)絡(luò)安全物理安全等等。

做安全建設(shè)的時(shí)候,大家會(huì)參考同行中其他互聯(lián)網(wǎng)公司怎么做的,我這里要強(qiáng)調(diào)的是,參考只是參考,而不是照搬。每一家企業(yè)都有自己獨(dú)特的業(yè)務(wù)體系,別的企業(yè)的不一定完全適用于自己,可以參考自己需要的。

那么我們圍繞基礎(chǔ)安全分別介紹下具體是如何做的?

網(wǎng)絡(luò)安全

首先說說網(wǎng)絡(luò)安全,這個(gè)是做運(yùn)維的基準(zhǔn)。我們做網(wǎng)絡(luò)安全要切合我們公司的網(wǎng)絡(luò)架構(gòu),以最小的代價(jià)能獲取最大利益。

安全域劃分的原則,南北向業(yè)務(wù)是最小化的原則,也就是說訪問控制分配最小化的權(quán)限,這點(diǎn)需要把控好,東西向的業(yè)務(wù)的需要分割,實(shí)現(xiàn)業(yè)務(wù)隔離。

對于無線安全這塊,無線安全也是我們優(yōu)先需要把控好的一點(diǎn),我們無線安全是針對內(nèi)網(wǎng)和外網(wǎng)用戶實(shí)現(xiàn)訪問控制的。

DOS 攻擊防御,之前我跟很多專家溝通討論過這個(gè)問題,必須要花錢,也只有多和少的區(qū)別。

我們找鋼網(wǎng)是 2B 企業(yè),沒有 2C 那么大的流量,我們企業(yè)對 DOS 防御從兩點(diǎn)做起,一個(gè)就是運(yùn)營商幫我們做一些基礎(chǔ)的過濾;再來需要采購流量清洗設(shè)備,大家需要評估一下你們自己的業(yè)務(wù),選擇適合你們的自己的產(chǎn)品。

入侵檢測,我們沒有采購單獨(dú)的 IPS 防護(hù)設(shè)備,我們計(jì)劃是自研輕量級的入侵檢測。

數(shù)據(jù)安全

數(shù)據(jù)安全從三點(diǎn)來說

第一點(diǎn)是資產(chǎn)的管理,這是數(shù)據(jù)安全基礎(chǔ),不管要做哪一類的信息安全,你首先要知道我們有哪些數(shù)據(jù),有哪些資產(chǎn),這些數(shù)據(jù)和資產(chǎn)類型是怎么樣的,這些數(shù)據(jù)等級劃分怎么樣的.

第二點(diǎn)是數(shù)據(jù)訪問,一個(gè)是用戶的分配問題,還有一個(gè)是訪問控制,需要做好這兩點(diǎn)。

第三點(diǎn)就是數(shù)據(jù)安全,一是備份,備份需要做到三方面,本地備份、本機(jī)備份、異地備份;數(shù)據(jù)安全的第二點(diǎn)內(nèi)容是數(shù)據(jù)的存儲(chǔ)和加密。

系統(tǒng)安全

接下來介紹一下系統(tǒng)的安全,上圖所列出的,是根據(jù)我們當(dāng)前實(shí)際情況定制的,包括:數(shù)據(jù)庫,主機(jī)訪問控制,操作系統(tǒng)安全,桌面工作站等等。

這個(gè)就不一一介紹了,需要強(qiáng)調(diào)的一點(diǎn)是,除了運(yùn)維人員其他人員就不要接觸服務(wù)器,如果有特殊情況,特殊處理。還有,管理員權(quán)限一定要回收,這個(gè)是做好系統(tǒng)安全基礎(chǔ)。

物理安全

物理安全,看看上述這張圖,我們有很多分公司,但是我們分公司沒有專門配備IT人員。左圖是曾經(jīng)的場景,現(xiàn)在我們實(shí)現(xiàn)了右圖。這樣也便于對一些網(wǎng)絡(luò)故障的分析和定位。

應(yīng)用安全

接下來介紹基礎(chǔ)安全中的第二塊內(nèi)容,應(yīng)用安全。

應(yīng)用是與用戶直接交互的,做應(yīng)用安全不是盲目的,我們需要先了解業(yè)務(wù)。我們當(dāng)前的核心業(yè)務(wù)是什么?保護(hù)的對象是什么?了解這些我們才能更明確的去分析業(yè)務(wù)面臨的危險(xiǎn)有哪些,再來制定保護(hù)策略。

應(yīng)用安全,我們從三方面去做,應(yīng)用上線前的安全評估,應(yīng)用完成后風(fēng)險(xiǎn)測試,應(yīng)用日志的審計(jì)。

安全評估是我目前正在做的事情。我們核心的對外的應(yīng)用,在 PRD 評審階段,與產(chǎn)品和研發(fā)一起做安全評估,幫助他們在開發(fā)的階段規(guī)避一些常見的安全問題。

應(yīng)用安全風(fēng)險(xiǎn),這里給大家推薦一個(gè) STRIDE 模型。它對用戶身份的仿冒、篡改,數(shù)據(jù)泄露完整性方面的安全都是有一個(gè)很好的解釋。這個(gè)大家可以在百度上查閱。

最后一個(gè)就是日志和審計(jì),根據(jù)日志就可以定位有哪些用戶訪問了我們的應(yīng)用,他們做了什么事情,可以分析一些風(fēng)險(xiǎn)場景。

運(yùn)維安全

再介紹一下運(yùn)維的安全,上述圖中描述的是我們目前正在做的。前面也說過,我們初期有一個(gè)很混亂的場面,因此我們要做標(biāo)準(zhǔn)化,自動(dòng)化,信息化,每一家企業(yè)要做好運(yùn)維安全,首先要做好這三點(diǎn),才能做好后面的管控方面的工作。

自動(dòng)化這方面,自動(dòng)化是相當(dāng)必須的,因?yàn)楣静粫?huì)在同一個(gè)崗位配備多個(gè)人員,我們都知道運(yùn)維人員加班加點(diǎn)特別多,做自動(dòng)化也是必不可少的,可以減輕人工的工作,提高工作效率,像運(yùn)維操作的流程很多,比如有很多人要申請權(quán)限之類,如果每一樣都需要人工操作,那么運(yùn)維人員就不用干別的事了,這充分說明了自動(dòng)化的必要性,自動(dòng)化的另一方面體系在監(jiān)控上,做好更全面更廣的監(jiān)控,可以幫助我們快速發(fā)現(xiàn)并定位網(wǎng)絡(luò)故障。

統(tǒng)一受權(quán),這個(gè)是比較關(guān)鍵的,我們使用的是4A的產(chǎn)品,這個(gè)產(chǎn)品目前使用下來還是挺不錯(cuò)的。

內(nèi)網(wǎng)安全

最后一個(gè)就是內(nèi)網(wǎng)安全,對于我們來說是很重要的。所有公司內(nèi)網(wǎng)安全都是也是必不可少的。

內(nèi)網(wǎng)安全涉及的點(diǎn)比較多,首先是桌面的安全,從以下幾點(diǎn)介紹,進(jìn)程的控制,補(bǔ)丁管理,內(nèi)容過濾,資產(chǎn)管理,文件共享,還有軟件安裝審計(jì)等等。

這里面簡單說一下安全審計(jì),初期沒有一個(gè)系統(tǒng)化的管理平臺(tái),每一個(gè)員工都擁有管理員權(quán)限,這會(huì)帶來很多的安全風(fēng)險(xiǎn),因?yàn)楹芏鄦T工并不懂安全,不知道他訪問的哪些網(wǎng)站,安裝的哪些軟件會(huì)有安全威脅,這就需要我們IT人員做好管控,把普通員工的管理員權(quán)限取消。

另一點(diǎn)要說明的是補(bǔ)丁,并不是所有的應(yīng)用補(bǔ)丁,或者是軟件版本更新都需要升級,所謂要不要打補(bǔ)丁,要根據(jù)你的業(yè)務(wù)進(jìn)行評估,如果對業(yè)務(wù)有影響,會(huì)造成業(yè)務(wù)或者網(wǎng)絡(luò)中斷,那么就不需更新補(bǔ)丁。

終端安全,包括終端行為監(jiān)控,資產(chǎn)配置管理,終端遠(yuǎn)程維護(hù),I/O 接口管理,系統(tǒng)賬戶監(jiān)控。

這里不一一闡述了,簡單說一下遠(yuǎn)程維護(hù)的必要性,比如很多分公司的員工會(huì)上報(bào)故障維修,如電腦故障之類,各個(gè)分公司配備多個(gè)IT人員成本較高,也不現(xiàn)實(shí),那么我們就需要IT人員遠(yuǎn)程協(xié)助分公司員工解決故障了。

防泄密,每一家企業(yè)都會(huì)碰到的,我們目前還沒有一個(gè)完整的解決方案,目前能夠做的是對員工進(jìn)行思想教育。

基于準(zhǔn)入控制,這個(gè)也不用多說,大家都可以理解,你要判斷哪些可以接入內(nèi)網(wǎng),要滿足什么樣的條件或需要什么條件能夠進(jìn)入內(nèi)網(wǎng)。之后我們可以從兩大點(diǎn)實(shí)現(xiàn)準(zhǔn)入,一個(gè)是網(wǎng)絡(luò)的準(zhǔn)入,還有一個(gè)客戶端的準(zhǔn)入,應(yīng)用可以歸納為客戶端。網(wǎng)絡(luò)的準(zhǔn)入可以通過 802.1X 協(xié)議執(zhí)行。

VPN 安全有兩方面:第一個(gè)是管理,另外一個(gè)就是配置。管理方面,如權(quán)限開通一定要走審批的流程,VPN 日志需要定期分析安全隱患。在配置上需要做的幾點(diǎn),變更管理需要走流程,會(huì)話連接數(shù)設(shè)置,超時(shí)設(shè)置等等。

源碼安全也是很重要的,這個(gè)也是我們保護(hù)的對象之一,源碼的管理難以做到面面俱到,可以從三方面做一些管控,完整性、授權(quán),以及復(fù)制和傳播,徹底的杜絕泄露我們目前無法實(shí)現(xiàn)。

有條件的可以做內(nèi)網(wǎng)日志,之前看到的一個(gè)文章,是阿里如何防止內(nèi)部員工去泄露信息,它的實(shí)現(xiàn)是對內(nèi)部信息做一個(gè)打碼或者是加水印處理,水印中保存了用戶登錄 cookie,一旦泄露可以定位到哪位員工泄露的。

授權(quán)和訪問控制

在訪問控制上,我們現(xiàn)在實(shí)現(xiàn)的是身份管理這一塊,其它方面也是慢慢做的實(shí)現(xiàn)。身份管理,單點(diǎn)登錄時(shí)一個(gè)不錯(cuò)的方案,其它的比如訪問管控,流程資源方面可以在實(shí)際問題中逐漸擴(kuò)展。

安全驅(qū)動(dòng)

上面寫的運(yùn)營方面的內(nèi)容,是根據(jù)我們公司實(shí)際情況做的一個(gè)安全工作。

接下來是安全驅(qū)動(dòng),這個(gè)是比較抽象的東西,比如你要建設(shè)的策略、計(jì)劃,你要推動(dòng)這些事情怎么落實(shí)?,F(xiàn)階段也是我所面臨的一個(gè)難點(diǎn),在推動(dòng)過程中遇到的一些問題,接下來跟大家分享一下我的想法。

資源分析

推動(dòng)前先要做好事前分析,人力資源分析,當(dāng)前你有多少人力可以助力推動(dòng)這個(gè)事情。有多少的支持,又有多少的反對,支持和反對需要做好評估,如果阻礙太大做不下去就可以放棄了。

救火階段

那么救火階段的驅(qū)動(dòng)需要做哪些呢?我個(gè)人總結(jié)了一些,時(shí)時(shí)跟蹤,主動(dòng)出擊,緊迫盯梢,及時(shí)曝光。如果需要配合的人不配合,你可以曝光,至于曝光給誰,當(dāng)然是上級,也就是可以做主拍板的人。

日常運(yùn)營階段

日常的運(yùn)營階段,我總結(jié)的幾點(diǎn)是,首先要明確負(fù)責(zé)人,定時(shí)跟蹤,流程約束,松馳有度,另外還要做獎(jiǎng)懲的制度。明確責(zé)任人很重要,你發(fā)現(xiàn)問題了,你要驅(qū)動(dòng)一個(gè)策略,要知道事件相關(guān)聯(lián)的人。

之前公司,業(yè)務(wù)線比較多,組織的變動(dòng)也帶動(dòng)了業(yè)務(wù)的變動(dòng),有一次我找人就找了兩天,這個(gè)就是浪費(fèi)時(shí)間的事情。我建議,進(jìn)入公司時(shí)先要熟悉組織架構(gòu),自己可以維護(hù)一個(gè)表,記錄每一個(gè)業(yè)務(wù)產(chǎn)品的對應(yīng)的負(fù)責(zé)人。

建設(shè)階段

建設(shè)階段,我們找鋼網(wǎng),安全只有一個(gè)人,我們的運(yùn)維人數(shù)也很少,一共就有八九個(gè),人少能做的事情是有限的,你一個(gè)人可以做的很少,結(jié)合大家一起做的事情就比較多了,比如說結(jié)合運(yùn)維、DBA、IT、基礎(chǔ)架構(gòu)等等,可以站在一個(gè)驅(qū)動(dòng)的角度推動(dòng),涉及到運(yùn)維就可以驅(qū)動(dòng)運(yùn)維人員協(xié)助完成,這就是一個(gè)相互協(xié)作的過程。

推廣階段&落地

推廣落地我這邊也總結(jié)了幾點(diǎn),首先安全要做好策略運(yùn)營,還要有一個(gè)流程的約束,研發(fā)的配合也是跟安全特別相關(guān)的,比如說漏洞這一塊,你要研發(fā)去配合解決。最重要的是要得到老板的支持,所有的推動(dòng)從上而下可以很快落實(shí),從下而上是比較難的。

平衡

最后是平衡,我們的公司的以為業(yè)務(wù)人員跟我說,安全是對我們業(yè)務(wù)的綁架。我說不是,我們安全是為業(yè)務(wù)服務(wù)的,是為了業(yè)務(wù)避免損失,包括公司品牌形象的損失和經(jīng)濟(jì)的損失。

那么如何去平衡這兩者關(guān)系,如果安全阻礙了業(yè)務(wù)的發(fā)展,降低了用戶體驗(yàn),造成用戶量下降,直接導(dǎo)致經(jīng)濟(jì)損失,這個(gè)就要安全讓步了,但是涉及到原則問題,如果沒有做好安全把控,因攻擊事件造成公司名譽(yù)和經(jīng)濟(jì)損失,這個(gè)是不能讓步的,所以要權(quán)衡好,最終的目的是為了讓業(yè)務(wù)做的更好、更安全。


長按二維碼關(guān)注我們