B2B創業型企業的安全運營建設之路
作者簡介:
卞軍軍
找鋼網 高階資訊保安工程師
2015年年底加入找鋼網,負責應用安全評估、滲透測試、運維安全基線建設、安全運營等。 前攜程高階安全運營工程師(2012.7—2015.9),主要從事原始碼安全審計、安全漏洞測試,安全產品運營。
前言
本文大致分為以下三點:
- 找鋼網的背景和問題;
- 安全運營;
- 安全驅動;
1、說說找鋼
1.1 發展史
我們找鋼是在2011年年底成立的,之前也是響應國家“網際網路+”號召,加上鋼鐵的產能過剩,於是我們公司成立了。
找鋼網是全產業鏈的鋼鐵電商,從買鋼材到倉儲運輸以及一些金融方面,加上智慧資料形成了的一個完整的鋼鐵貿易的生態圈,一開始找鋼網是做撮合業務,因為買賣雙方渠道是不透明,現在我們也是做自營的業務,就是之前講過的一些服務我們都可以做到。
規模上,到現在找鋼網是有1400多人的大團隊,也有一些分公司海外分公司,武漢二級研發中心。
1.2 找鋼網B2B特色
相對其他的一些網際網路企業來說,找鋼網是還是一個偏向傳統的 B2B 網際網路企業,從兩方面可以介紹一下,第一個是從使用者來說,我們的使用者群體比較集中,另外從業務量來說,我們相對 2C,沒有那麼大的使用者量,另外我們的核心業務是在內網。
1.3 歷史遺留問題
總體上,我們找鋼網作為一個創業型的企業發展是很迅速的,相對的也有很多問題,這裡簡單講一下,起初我們的物理機房很混亂,如上圖所示,我想很多初創的公司都面臨過這樣的情況,還有應用的部署不合理,監控方面不全面等等問題。我們的安全運維建設都是從零到有的一個過程,包括標準化和自動化。
2. 安全運營
下面介紹一下安全運營,找鋼的安全也是從零開始建設的。
2.1 安全運營建設的通用公式
首先講一下安全建設的過程,我也瞭解了一些其他些企業安全建設的過程,大致總結有四點,我把它定義為一個通用公式。
最開始的是救火階段,當前優先要解決刻不容緩的問題,比如說我們有一些外部應用遭到了攻擊,發現了高危漏洞,甚至造成業務癱瘓了,直接可造成公司形象、經濟等損失等。
接下來是建設階段,救火之後我們做防範建設措施。做建設可以從兩點做起,第一個是基礎建設,包括辦公網路和生產網路,第二個是安全建設,基礎建設建設完後我們可以做一些擴充套件的安全建設,比如從內部的IT的建設,運維的建設擴充套件得到全公司的業務,跟公司業務結合。
第三階段是優化階段,當公司規模發展到一定規模,當前的一些策略,或者是我們現有的一些產品不能滿足自己的公司的業務需求,那麼進入到一個自研的環節,這一點是根據當前現狀去開發滿足業務需求的工具和產品,
最後一個階段產品的對外開放。
2.2 救火系列
之前也說了建設的四個階段,首先講一下救火階段,我是2015年底加入找鋼網的,當時第三方安全漏洞平臺對爆出了找鋼網的一些高危漏洞,那麼首要解決這些高危安全漏洞,避免攻擊擴大,漏洞修復完成後對存在漏洞的應用做一個整體的安全測試。
安全測試完全之後,接下來就是要讓我們的研發人解決這些安全問題,同時也要提供安全解決方案,安全解決方案這可以整合成安全規範,比如針對當前比較常見的或者是基礎的安全漏洞,例如 SQL 注入、以及常見的邏輯上的問題,提供一個完全的攻擊案例和修復方案說。
再來就是對開發人員做安全培訓,在一個公司中開發人員的水平也是不一樣的,甚至有些開發人員對安全沒有接觸過,或者可以說沒有安全基礎的開發人員,對這一類開發人員要做的是先提高他們的安全認知。
我做了一個安全平臺,這個安全平臺初期的作用是作為安全漏洞的跟蹤管理統計,後期會對它擴充套件,實現對所有安全的統一管理,比如說運維基準建設,自動化巡檢以及日誌平臺的建立,實現自動化預警機制。
2.3 傳統的安全體系
救火之後我們需要做一些安全建設方面的工作,安全體系的建設,相對其它網際網路企業來說,傳統的網際網路企業需要做的安全建設項要稍有不同。
我們根據找鋼網的現狀,從這五大方面做它的建設,包括:基礎安全,應用安全,訪問控制,運維安全,以及內網安全,為什麼把內網安全單獨拿出來呢?因為我們核心的業務是在內網,這對我們的業務體系來說是非常重要的。
傳統的安全體系架構如上圖所示,接下來我們一一講述。
2.3.1 基礎安全
首先是基礎安全,看上圖中基礎安全中的分類,他包含很多的方面,如網路安全物理安全等等。
做安全建設的時候,大家會參考同行中其他網際網路公司怎麼做的,我這裡要強調的是,參考只是參考,而不是照搬。每一家企業都有自己獨特的業務體系,別的企業的不一定完全適用於自己,可以參考自己需要的。
那麼我們圍繞基礎安全分別介紹下具體是如何做的?
- 網路安全
首先說說網路安全,這個是做運維的基準。我們做網路安全要切合我們公司的網路架構,以最小的代價能獲取最大利益。
安全域劃分的原則,南北向業務是最小化的原則,也就是說訪問控制分配最小化的許可權,這點需要把控好,東西向的業務的需要分割,實現業務隔離。
對於無線安全這塊,無線安全也是我們優先需要把控好的一點,我們無線安全是針對內網和外網使用者實現訪問控制的。
DOS 攻擊防禦,之前我跟很多專家溝通討論過這個問題,必須要花錢,也只有多和少的區別。
我們找鋼網是 2B 企業,沒有 2C 那麼大的流量,我們企業對 DOS 防禦從兩點做起,一個就是運營商幫我們做一些基礎的過濾;再來需要採購流量清洗裝置,大家需要評估一下你們自己的業務,選擇適合你們的自己的產品。
入侵檢測,我們沒有采購單獨的 IPS 防護裝置,我們計劃是自研輕量級的入侵檢測。
- 資料安全
資料安全從三點來說:
第一點是資產的管理,這是資料安全基礎,不管要做哪一類的資訊保安,你首先要知道我們有哪些資料,有哪些資產,這些資料和資產型別是怎麼樣的,這些資料等級劃分怎麼樣的.
第二點是資料訪問,一個是使用者的分配問題,還有一個是訪問控制,需要做好這兩點。
第三點就是資料安全,一是備份,備份需要做到三方面,本地備份、本機備份、異地備份;資料安全的第二點內容是資料的儲存和加密。
- 系統安全
接下來介紹一下系統的安全,上圖所列出的,是根據我們當前實際情況定製的,包括:資料庫,主機訪問控制,作業系統安全,桌面工作站等等。
這個就不一一介紹了,需要強調的一點是,除了運維人員其他人員就不要接觸伺服器,如果有特殊情況,特殊處理。還有,管理員許可權一定要回收,這個是做好系統安全基礎。
- 物理安全
物理安全,看看上述這張圖,我們有很多分公司,但是我們分公司沒有專門配備IT人員。左圖是曾經的場景,現在我們實現了右圖。這樣也便於對一些網路故障的分析和定位。
2.3.2 應用安全
接下來介紹基礎安全中的第二塊內容,應用安全。
應用是與使用者直接互動的,做應用安全不是盲目的,我們需要先了解業務。我們當前的核心業務是什麼?保護的物件是什麼?瞭解這些我們才能更明確的去分析業務面臨的危險有哪些,再來制定保護策略。
應用安全,我們從三方面去做,應用上線前的安全評估,應用完成後風險測試,應用日誌的審計。
安全評估是我目前正在做的事情。我們核心的對外的應用,在 PRD 評審階段,與產品和研發一起做安全評估,幫助他們在開發的階段規避一些常見的安全問題。
應用安全風險,這裡給大家推薦一個 STRIDE 模型。它對使用者身份的仿冒、篡改,資料洩露完整性方面的安全都是有一個很好的解釋。這個大家可以在百度上查閱。
最後一個就是日誌和審計,根據日誌就可以定位有哪些使用者訪問了我們的應用,他們做了什麼事情,可以分析一些風險場景。
2.3.3 運維安全
再介紹一下運維的安全,上述圖中描述的是我們目前正在做的。前面也說過,我們初期有一個很混亂的場面,因此我們要做標準化,自動化,資訊化,每一家企業要做好運維安全,首先要做好這三點,才能做好後面的管控方面的工作。
自動化這方面,自動化是相當必須的,因為公司不會在同一個崗位配備多個人員,我們都知道運維人員加班加點特別多,做自動化也是必不可少的,可以減輕人工的工作,提高工作效率,像運維操作的流程很多,比如有很多人要申請許可權之類,如果每一樣都需要人工操作,那麼運維人員就不用幹別的事了,這充分說明了自動化的必要性,自動化的另一方面體系在監控上,做好更全面更廣的監控,可以幫助我們快速發現並定位網路故障。
統一受權,這個是比較關鍵的,我們使用的是4A的產品,這個產品目前使用下來還是挺不錯的。
2.3.4 內網安全
最後一個就是內網安全,對於我們來說是很重要的。所有公司內網安全都是也是必不可少的。
內網安全涉及的點比較多,首先是桌面的安全,從以下幾點介紹,程序的控制,補丁管理,內容過濾,資產管理,檔案共享,還有軟體安裝審計等等。
這裡面簡單說一下安全審計,初期沒有一個系統化的管理平臺,每一個員工都擁有管理員許可權,這會帶來很多的安全風險,因為很多員工並不懂安全,不知道他訪問的哪些網站,安裝的哪些軟體會有安全威脅,這就需要我們IT人員做好管控,把普通員工的管理員許可權取消。
另一點要說明的是補丁,並不是所有的應用補丁,或者是軟體版本更新都需要升級,所謂要不要打補丁,要根據你的業務進行評估,如果對業務有影響,會造成業務或者網路中斷,那麼就不需更新補丁。
終端安全,包括終端行為監控,資產配置管理,終端遠端維護,I/O 介面管理,系統賬戶監控。
這裡不一一闡述了,簡單說一下遠端維護的必要性,比如很多分公司的員工會上報故障維修,如電腦故障之類,各個分公司配備多個IT人員成本較高,也不現實,那麼我們就需要IT人員遠端協助分公司員工解決故障了。
防洩密,每一家企業都會碰到的,我們目前還沒有一個完整的解決方案,目前能夠做的是對員工進行思想教育。
基於准入控制,這個也不用多說,大家都可以理解,你要判斷哪些可以接入內網,要滿足什麼樣的條件或需要什麼條件能夠進入內網。之後我們可以從兩大點實現准入,一個是網路的准入,還有一個客戶端的准入,應用可以歸納為客戶端。網路的准入可以通過 802.1X 協議執行。
VPN 安全有兩方面:第一個是管理,另外一個就是配置。管理方面,如許可權開通一定要走審批的流程,VPN 日誌需要定期分析安全隱患。在配置上需要做的幾點,變更管理需要走流程,會話連線數設定,超時設定等等。
原始碼安全也是很重要的,這個也是我們保護的物件之一,原始碼的管理難以做到面面俱到,可以從三方面做一些管控,完整性、授權,以及複製和傳播,徹底的杜絕洩露我們目前無法實現。
有條件的可以做內網日誌,之前看到的一個文章,是阿里如何防止內部員工去洩露資訊,它的實現是對內部資訊做一個打碼或者是加水印處理,水印中儲存了使用者登入 cookie,一旦洩露可以定位到哪位員工洩露的。
2.3.5 授權和訪問控制
在訪問控制上,我們現在實現的是身份管理這一塊,其它方面也是慢慢做的實現。身份管理,單點登入時一個不錯的方案,其它的比如訪問管控,流程資源方面可以在實際問題中逐漸擴充套件。
3. 安全驅動
上面寫的運營方面的內容,是根據我們公司實際情況做的一個安全工作。
接下來是安全驅動,這個是比較抽象的東西,比如你要建設的策略、計劃,你要推動這些事情怎麼落實。現階段也是我所面臨的一個難點,在推動過程中遇到的一些問題,接下來跟大家分享一下我的想法。
3.1 資源分析
推動前先要做好事前分析,人力資源分析,當前你有多少人力可以助力推動這個事情。有多少的支援,又有多少的反對,支援和反對需要做好評估,如果阻礙太大做不下去就可以放棄了。
3.2 救火階段
那麼救火階段的驅動需要做哪些呢?我個人總結了一些,時時跟蹤,主動出擊,緊迫盯梢,及時曝光。如果需要配合的人不配合,你可以曝光,至於曝光給誰,當然是上級,也就是可以做主拍板的人。
3.3 日常運營階段
日常的運營階段,我總結的幾點是,首先要明確負責人,定時跟蹤,流程約束,鬆馳有度,另外還要做獎懲的制度。明確責任人很重要,你發現問題了,你要驅動一個策略,要知道事件相關聯的人。
之前公司,業務線比較多,組織的變動也帶動了業務的變動,有一次我找人就找了兩天,這個就是浪費時間的事情。我建議,進入公司時先要熟悉組織架構,自己可以維護一個表,記錄每一個業務產品的對應的負責人。
3.4 建設階段
建設階段,我們找鋼網,安全只有一個人,我們的運維人數也很少,一共就有八九個,人少能做的事情是有限的,你一個人可以做的很少,結合大家一起做的事情就比較多了,比如說結合運維、DBA、IT、基礎架構等等,可以站在一個驅動的角度推動,涉及到運維就可以驅動運維人員協助完成,這就是一個相互協作的過程。
3.5 推廣階段&落地
推廣落地我這邊也總結了幾點,首先安全要做好策略運營,還要有一個流程的約束,研發的配合也是跟安全特別相關的,比如說漏洞這一塊,你要研發去配合解決。最重要的是要得到老闆的支援,所有的推動從上而下可以很快落實,從下而上是比較難的。
3.6 平衡
最後是平衡,我們的公司的以為業務人員跟我說,安全是對我們業務的綁架。我說不是,我們安全是為業務服務的,是為了業務避免損失,包括公司品牌形象的損失和經濟的損失。
那麼如何去平衡這兩者關係,如果安全阻礙了業務的發展,降低了使用者體驗,造成使用者量下降,直接導致經濟損失,這個就要安全讓步了,但是涉及到原則問題,如果沒有做好安全把控,因攻擊事件造成公司名譽和經濟損失,這個是不能讓步的,所以要權衡好,最終的目的是為了讓業務做的更好、更安全。
文章來自微信公眾號:高效運維