1. 程式人生 > >用什麼來保護我的運維安全?

用什麼來保護我的運維安全?

導言:安全生產無小事,運維責任重如山。想要守護住我們的運維安全,構建起網格化的蛛網防禦體系,實現關門打狗的防禦效果,請往下看~

作者介紹

陳天樂
上海富虎系統網路有限公司 創始人

職業生涯中有超過20多年專業的網際網路公司運維、架構和安全工作經驗,在職業生涯中有近8年的時間是在大型跨國公司工作。是資深的系統工程師、MySQL資深顧問、MCSE,RHCE,CMDBA。運維經驗豐富。

上海富虎系統網路有限公司
富虎系統網路有限公司是一家專業從事系統網路叢集架構設計和運維,系統、網路、應用立體型安全加固,系統、網路、核心、資料庫優化的一家技術公司。公司與阿里巴巴核心研發組、MYSQL技術支援部門、REDHAT(紅帽)軟體公司、NGINX開源小組保持良好的技術合作關係,共同解決各種底層技術難題,技術力量雄厚。

前言

今天首先要帶給大家講的是安全防控體系的理論知識介紹,這個題材在很多大型的演講中會說成縱深防禦,其實原理是一樣的。大家都可以共同理解。再後面是我自己做了20多年運維的一些工作經驗總結。

1.安全從構建制度機制開始

構建制度

1.1 制度和機制是保障安全生產的重要前提

如果從安全形度考慮,對於事故處理,不應該說只是開除當事責任人的方式了事,我認為這是不正確的。真正應該是自己公司內部做好管理體制和機制,把安全做得更好才是準確的。

許可權絕對要管理嚴格,正確的做法,如果是對物理伺服器,首先最高許可權只能有兩個人。這兩個人是不同的兩個人,這兩個人其中一個做A角,一個做B角,B角平時絕對不能用的。最高許可權只能用A角,他只能幹兩件事,一個是在系統裡開帳號,帳號開好以後,給這個帳號賦予相應的許可權,這個是A角的工作。所有人的工作都是由它賦予帳號和許可權,用這個許可權開展工作的。

而這些工作人員,他們所有的許可權是被嚴格限定的,對哪個檔案有許可權都會進行嚴格限定,B角幹什麼用的?當A角不在了,有某些緊急情況由B角來,在特殊情況下,A角又要開帳號,有最高許可權,又要操作伺服器或者維護伺服器,A角自己應該給自己開兩個帳號。

1.2 多賬號+許可權分離,用反人性來構建安全

一個帳號就是最高許可權的,只幹開帳號和賦予許可權的,第二個帳號是用來幹活的,只有這樣的情況下面,才能避免誤操作的情況。作為運維工作角度來說,它不僅僅要防範已知漏洞會造成黑客入侵,還要防護未知漏洞,更要防範內鬼,還要防範誤操作,還要防範一些日常等特殊情況。

所以說運維要把這個工作做好是非常不容易的,要克服人性的弱點。你任何一個人水平再高,工作經驗再豐富,誤操作是沒有人可以避免的,我們就可以通過技術手段把誤操作避免掉,為什麼呢?

A帳號最高許可權只負責開帳號和賦予帳號許可權,就這麼幾條固定的命令,如果一旦伺服器出現你的最高許可權用了別的命令了就說明存在安全隱患,就說明有可能被黑客入侵了。A角給你開的許可權和命令操作伺服器,你想犯錯誤也是不可能的,全部給限定死了。也就是說對伺服器的操作,一定要被限定死,要牢牢控制住。

1.3 實踐案例分析

  • 場景描述:
    在平時企業區域網的許可權分配中,只設置了一個人有最高許可權,這個許可權給了公司的管理層或者老闆,外圍通常會外包一些運維的人做定期的維護。
  • 案例分析:
    在這個場景中,如果出於安全考慮,首先公司地面不管有沒有外包,你們公司裡面必須要有懂技術的運維人員,由他負責控制最高許可權,最好這個人日常維護的工作不要操作,只有最高許可權,他作為B角。然後你可以放權給外包公司或者你公司的IT工程師去給他最高許可權,這個許可權只負責開帳號和給帳號賦予許可權這兩件事情。其他人的工作,包括外聘人員的其他工作,全部是由A角,給他分配的許可權操作,這種方法不會誤操作,也可以避免內鬼,也可以避免員工的工作情緒化導致的異常情況發生。

真實事故事件
因為許可權不管理嚴格,浙江的華數管有線電視的,發生一個情況,溫州那邊整個有線電視所有電視都在滾屏,反動標語。後來查出來是給華數他們有線電視公司做軟體開發的外包公司,就是北京的一家公司。

它裡面的程式設計師,因為跟公司內部待遇各方面沒談好,心裡面不開心,覺得自己的工作沒有得到認可,為了洩憤入侵到華數的有線電視裡面的區域伺服器上面搞了破壞,為什麼可以進去呢?因為華數在應用的時候是由他們開發的軟體部署的,帳號密碼出廠預設值,最後被抓住了,造成的社會影響是非常惡劣的。

2.立體型安全防護簡介

立體型安全

安全在你真實做的時候並不是方格型的,我們在做安全的時候應該做到層層防護,步步為營。就好象二戰打仗的時候,戰場上面你出於保護國家的目的有第一道防線,第二道防線。我們做運維也是應該做到這樣,怎麼樣能夠把作業系統維護好,把應用維護好,同時對於黑客的入侵我們能夠做到關門打狗。

2.1 網格化漏洞管理

現在很多的漏洞補丁都是大家宣佈出來以後才有相應的策略,特別是勒索病毒等等。REDIS漏洞、bash漏洞,肯定還有很多漏洞沒有公佈出來了,REDIS漏洞是開發者自己說出來的,如果不說沒有人知道這個漏洞的。作為我們的運維從安全形度考慮,我們不僅僅要防禦已知漏洞,我們更要防禦未知漏洞,怎麼防禦呢?

我們相當於建立這樣的網格,打個比方說這裡有一個漏洞,它產生了一定的範圍,漏洞一般都比較單一,要麼是提權的,要麼是入侵的,會造成這樣的影響範圍,同時這裡面也有一個漏洞,它也構成一定的影響範圍。

這個漏洞構成一定的影響範圍。打個比方這個是入侵的,格子格開只能入侵,他只能提權,其他什麼幹不了,這樣以後兩個串不通了,不能組合在一起了。如果沒有防控體系,這個漏洞和那個漏洞通過串通以後可以實現入侵、提權,想幹什麼幹什麼,我們必須建立起像這樣網格化、蜘蛛網一樣的安全加固體系。

而真正做安全,不是說你要建立一個粗礦型網格就可以,我們必須要像蜘蛛網一樣。當一個地方知道有漏洞了,我們就可以通過修補的方式,修補有一個問題。修補是需要時間的,而入侵進來可以非常快速的。我們要想辦法怎麼樣利用安全防護體系來延長時間,能夠讓我們有時間修補。很多東西曝出來之後這一邊在修補還沒修補完,那邊已經黑客入侵進來了。所以對於我們來說,為什麼要建立起蜘蛛網的安全防護體系,也是為自己的漏洞打補丁,爭取時間。

2.2 建立蜘蛛網式的安全防護體系實現關門打狗的效果

要建立起像蜘蛛網的安全防護體系,如果碰到一些不知道的漏洞,但是剛剛被曝出來的時候,可以通過自己的安全加固體系可以權衡一下這個漏洞到底是什麼樣的危害,如果危害不是很大,我們可以慢慢對它進行修補,如果危害比較大快速修補掉,你就可以對漏洞可控可管理。不會像有一些公司漏洞一旦曝出來了,就四腳朝天,死給你看,一點辦法沒有了,做不到關門打狗的效果。

作為運維公司來說對於曝出來的漏洞及時修補掉,還有對於未知的漏洞也要有一定的防禦能力,是非常重要的。立體型安全防護體系原理就是這樣的,我們繼續往下看。

3.安全的分類

我們可以把安全進行分類,首先拓撲架構考慮安全措施,另外通過網路方面也可以做好安全加固。作業系統層面和應用環境層面的。應用環境層面指的是PHP等等應用軟體,然後開發程式碼方面的安全,資料庫方面。還有郵件伺服器,共享儲存安全等等。每個公司用的軟體不一樣,分配要根據公司內部的需要做自己的分類。我們展開看一下每一部分。

3.1拓撲架構的安全

拓撲架構

首先是拓撲架構的安全,有幾個基本的原則。

  • 主要的應用伺服器不要直接連線到網際網路上面。
    為什麼呢?因為像NGINX都是有漏洞的,如果伺服器直接掛到網際網路上了,相當於黑客可以對官網進行掃描。
  • WEB或應用服務與資料庫服務部署在不同的伺服器上。
    打個比方說WEB伺服器有它的漏洞,資料庫有資料庫的漏洞,如果同時部署在一臺伺服器上漏洞量就大了,更方便黑客的入侵。所以我們一般來說把不同的應用放在不同的伺服器上,這樣可以提高更高的安全性。
  • 管理後臺資料庫作業系統登陸不要與外部網際網路普通使用者的訪問使用同一條線路,需要隔離或者剝離。
    什麼意思呢?我們從拓撲架構來說,前端也許是LB(負載均衡)裝置,接下來是WEB伺服器叢集,WEB1、WEB2、WEB3、WEB4。呼叫快取裝置,然後調動資料庫。普通的網際網路使用者通過這裡進來訪問WEB1,快取調動資料庫的,我們自己的運維角度來說,這裡訪問用的是VPN,使用的是office環境。也就是說我們的office環境下面運維人員、開發人員呼叫這些應用的時候我們不是在同一條線路上的,我們是通過VPN的線路和你的辦公室打通,辦公室裡面的人員則是使用一條光纖線路,你的管理線路和你的網際網路應用使用的光纖線路不要放在一起。
  • 通過網路對不同級別的許可權進行分類或分組限制
    打個比方說這是GDP的網路,如果VPN的線路在不同網段的,比方說80.77.63.47,去跟公司的VPN連,為什麼要這麼做?首先網際網路的應用是比較複雜的,有可能受到入侵的攻擊。如果你的線路從這來,作為你運維人員來說,登都登不進去。如果出現任何問題,你在辦公室裡面,在運維人員都可以通過VPN的線路進行排查,通過出口架構線路設計方面提高更多的安全性。

    當然後面還有開發人員或者DBA,DBA只需要登入到資料庫就可以了,通過VPN的設定允許登陸這四臺伺服器就可以了,這樣就可以把不同的技術人員,對伺服器不同管理登陸的許可權就可以進行分離和分組了,這樣會大大提高安全性。

  • 對於網際網路普通使用者的訪問進出許可權也需要進行嚴格限制
    這是通過網路層面的,通過網路對不同級別的許可權進行分類或分組限制,對運維人員、運營人員DBA進行分組。對於網際網路普通使用者的訪問進出許可權也需要進行嚴格限制。

3.2網路安全

網路安全

網路安全我們分成外網安全、內網安全和交換機安全。一般來說外網安全,所有公司都可以做得到,都很重視。內網安全和交換機安全往往會忽視的,絕大多數的公司都會出現這樣的情況。

3.2.1外網安全

外網安全有這幾個原則

原則一:連線外網的裝置越少越好
一般中等規模的網際網路公司最多隻需要4臺伺服器裝置連線到外網就可以了。如果有其他的安全裝置就有其他的安全裝置。

原則二:使用者登陸到WEB伺服器
在這裡登陸的,不是先登陸這裡再登陸這裡,是非常不安全的,直接登陸。

原則三:安全裝置並不安全
現在有一些安全裝置,其實安全裝置並不安全,安全裝置本身就有漏洞。安全裝置並不安全,公信部給下面的教育企業強制使用深信服的裝置。結果該裝置就被暴出bash漏洞。接下來看內網和外網的需求,通過轉法方式嚴格控制。

我們在做開發的時候需要我們的應用跟第三方合作伙伴,比方說用支付寶需要幹什麼,需要外網呼叫別的合作伙伴API介面,我們一般來講通過IP轉發方式調動API介面的,同時對於對方的IP地址、埠,要在配置當中寫的非常詳細。

如果你的WEB伺服器被黑客入侵了,要麼盜取你資訊,要麼就是當肉機幹別的壞事。如果沒有作為嚴格限制,就可以幹壞事了,如果安全設定比較嚴格,只能呼叫這裡,想幹別的壞事幹不了。在伺服器上架應用之初,應該聯合做好避免攻擊入侵的防護。

當你伺服器上架之前,包括你的遠端管理卡,都要做一些安全的設定,安裝完作業系統進行安全加固,同時對於WEB伺服器,在設定的時候在邊緣安裝的時候考慮到入侵,考慮好之後做到位。

從安全形度來說,永遠是預防比消防更加重要。

安全裝置只是解決你第一道防線,裡面的一些東西靠你自己來做。對於連線外網的伺服器內容和日誌重點防範,多頻率的定期巡檢,人工巡檢與實時監控報警相結合。使用者對於網際網路來說只是轉發機制,是暴露在Intel網上的,這幾臺伺服器,作為運維人員來說要特別重點防護的,因為最容易被黑客入侵。

運維需要經常巡檢經常檢查,監控軟體配套起來做二次開發,如果有什麼異常情況馬上報警,大大提高安全性。只要符合規範就可以配合工作了,很方便。最好的安全措施是什麼,比方說有監控伺服器,對於每一個被監控下,最好自己把需要監控的內容,自己整理弄好之後形成一個檔案,這樣是最安全的。每隔幾分鐘推送給伺服器,讀取必要的資訊,這樣伺服器的效能也不會受太大影響。

3.2.2內網安全

然後是內網安全,內網伺服器之間根據彼此呼叫關係開放相應的埠,防火牆策略必須嚴格細緻,比如來源IP,到本機的目的地IP,網絡卡、請求的協議,請求的斷口號,允許請求的頻率,接受或拒絕等等。

預設策略設定為拒絕,儘量不要為了除錯而隨便關閉防火牆,對防火牆實時監控,一旦失效或關閉,立即報警。

為什麼要這麼做呢?如果你沒這麼做,一臺伺服器入侵進去以後,所有的都可以通過內網登陸了,內網都要跟防火牆的規則寫的非常詳細,千萬不要偷工減料。

3.2.3交換機安全

交換機的安全,這也是絕大部分工作容易被忽視的。

首先登陸裝置方面裝置要禁止WEB訪問,除錯需要時開啟,除錯完畢後立即關閉。禁止TELNET訪問,設定SSH訪問。最好使用證書方式登陸,如果不行,使用複雜密碼,設定密碼複雜程度。定期更換證書或密碼。

其次訪問方式方面。使用VPN方式,並限制來源IP,對交換機帳戶許可權分組,嚴格管理。因為交換機設定不同的帳號,每個帳號組擁有不同的許可權,特別是規模大了以後分組管理比較演進一些。

3.4作業系統安全

系統安全

我們下面講作業系統安全,現在最多的是LINUX作業系統和Windows作業系統。

3.4.1 Linux系統

  • 系統安裝最小化
    在很多公司在生產系統上面會對軟體下載並且進行安裝到編譯,這些是非常不安全的,最小化裁減,到最後只需要大概45個RPM包作業系統就起來了,沒有最基本的LINUX命令,什麼都沒有,但是能夠起來。這樣做的好處是45個RPM包你背都背得出來,每個包裡包含哪些檔案,檔案內容是什麼,花點時間和精力就可以搞清楚。裁減好以後,整個作業系統裡面有什麼東西,有哪些檔案,標準的環境是什麼樣的,如果一旦被黑客入侵併且修改以後,你就很容易的去分辨出來。

    我們一般官網上面穩定的最新版,在編譯的單獨的伺服器上面編譯好,編譯好以後再把編譯的結果打包放到生產系統裡面。沒有任何編譯環境的是非常乾淨的。然後你用那些軟體編譯出來的檔案,你可以真正做到對作業系統你是瞭如指掌的。如果做不到這一點,如果被黑客入侵你自己都是不知道的。

    你的編譯環境要跟你的生產環境大的版本必須是一致的。如果大的版本不一致,編譯出來的放上去也是沒用的。把相關的檔案從編譯的環境放在位置上就可以了。整個的編譯過程,編譯的時候會需要一個環境,編譯好了以後環境是不需要的。

    通過這種方式來做,黑客碰到這樣的環境,哪怕黑進來了,窮鄉僻壤也幹不了什麼壞事,太貧瘠了土地。操作要最小化裁減,一般來說作業系統只需要四自啟動服務,network、sshd、iptables、rsyslog,刪除無用的RPM包。

  • SSH安全加固,允許登陸的帳戶,禁止的帳戶,重試次數等
    手工分配帳戶的UID、GID,如果新增一個帳號有UID和GID,伺服器多為了帳號的統一規範,我們建議UID、GID的手工配置。禁止異地或本地密碼登入。禁止SU。SU一般我們大家的操作習慣是,先用自己的帳戶登入,登入上去再用SU,建議不要這樣做。我們對重要檔案縮小相關許可權,配置的帳號資訊的檔案,許可權一定要縮小。而對於日誌檔案,也要鎖住,避免黑客入侵以後抹掉自己的痕跡,都要進行鎖定,這樣提升伺服器本身的安全性。禁用root帳戶,這是最基本的原則。
  • 禁止使用編輯器,使用命令修改檔案內容
    包括你的配置檔案也好,包括修改檔案內容也好,為什麼要這麼做,新浪微博發生過這樣的事情,自動部署上去以後發現很奇怪的問題,日誌收集不上來,他們開始排查原因。複雜小組的排查以後過了三個月沒有查出來,最後他們把小組長撤銷,運維經理親自排查,排查三個月也是還沒有排查出來,運維總監親自上,最後排查出來了,就是配置檔案有一個地方多打一個i,然後才把這個問題解決掉,花了大半年的時間。所以後來他們就把VI編輯器的命令給禁止了,全部用SED替換。

    使用SED替換,首先能全部記錄下來,如果有問題只要找到相關的檔案改兩下就可以,改了那麼多行資訊改到哪裡都不知道,大海撈針。

    從安全運維角度來說,確實應該把VI禁掉,如果自己設定每一條都有,黑客入侵進來以後,把自己的命令抹掉,你在伺服器文件裡面是抹不掉的,當我一臺伺服器上面不管是內鬼還是黑客,我在伺服器上面馬上記錄下來,當我黑客把命令全部清除掉以後,這裡還有,功能非常的大。

  • ACL對檔案控制權進行限制
    剛剛講用sudo分配帳戶許可權,付給每個使用者使用命令的許可權。使用者對於檔案的控制權,因為系統地面就兩樣東西,一個是命令,一個是檔案,對於命令我們是用sudo配備命令許可權,我們檔案是ACL,對檔案控制權進行限制的。自己有時間可以研究一下,我這裡不展開了,ACL展開可以講三四個小時的。
  • 防火牆策略
    嚴格配置防火牆策略,這是非常重要的。防火牆對於作業系統自我防護來講是非常重要的,登陸伺服器的帳戶IP嚴格限制。
  • 帳戶嚴格限制管理
    對安裝自動生成的帳戶嚴格限制。對於系統中重要檔案進行鎖定,我剛剛說的各種各樣的檔案,根據你們自己來判斷,要根據自己的工作需要嚴格限制的。縮小LINUX命令的使用範圍。
  • 帳戶登陸實時監控並報警
    對於帳戶的登陸實時監控並報警,比方說最高許可權進行監控和報警,對於帳戶實時監控,特別是RM這樣的命令我們也可以進行監控,可以避免出現這樣的命令。對於重要的日誌可以設定敏感詞。

3.4.2 Windows系統

  • 安裝最小化的系統
    首先也是一樣的,安裝最小化的系統,把不需要畫圖的亂七八糟的,計算器能夠去掉就區別掉。定期的手工補丁升級,使用使用者口令策略加固。一般Windows下面可以對使用者的口令的設定可以有嚴格限制,比方說要用大小寫,數字要整合等等。
  • 賬戶管理
    把guest禁用,把administrator降權,調整日誌和稽核的策略配置。預設情況下對於日誌和稽核策略不是很嚴格的,作為生產系統,我們應該設定嚴格的日誌稽核。調整本地安全策略,本地安全策略有很多內容可以調整,大家可以回去自己試一下,可以把安全設定的比較嚴格。
  • 許可權策略
    使用者許可權策略,還有登錄檔,可以提高更高的安全性。還有組策略,組略如果有耐心去搞,可以有很多安全加固,還有很多的顯示介面,大家有興趣可以研究一下,通過組策略,使用者許可權策略基本上可以把整個作業系統的安全加固做一個比較高的級別了。
  • 防火牆
    接下來要配置Windows自帶防火牆,IPSEC可以設定的非常嚴格,一般來說我們這兩個都設定,可以極大提高安全性。定期更改密碼,Windows帳號密碼需要自己經常修改。查詢並關閉異常埠。

3.5 資料庫安全

資料庫安全

後面是資料庫的安全,分為兩部分。

一是作為資料庫本身伺服器的安全,還有資料庫自己軟體的安全

對於資料庫伺服器來說,嚴格設定防火牆安全策略,系統和資料庫引數進行優化。如果你的伺服器做資料庫,核心引數還有配置檔案,都要進行優化,這樣發揮伺服器的效能。儘量限制本地系統帳號登入資料庫,首先登入伺服器上面,這樣可以提高安全性,直接通過VPN的方式,對他們來講操作比較簡單,安全性又好。

二是對於資料庫應用程式安裝完畢後進行安全加固。

儘量避免使用-e引數,必須要輸入使用者名稱和密碼的,這個時候你的資料庫的使用者名稱和密碼就顯示出來了,是非常不安全的。

禁止在LINUX命令中帶密碼,禁止在指令碼中使用最高許可權的帳號密碼。指令碼中必須帶資料庫帳號密碼的情況,必須嚴格限制帳號的許可權。你在對資料庫進行備份的時候要設定備份的帳號,備份哪一個庫,開一個帳號。

接下來講資料庫本身的安全,對於每個WEB應用呼叫資料庫使用單獨的帳號密碼,根據工作需要開放最小的許可權,避免使用all privilages的許可權。不同的庫不同的WEB伺服器調動,有可能存在1和2調到A庫。

如果你所有WEB伺服器呼叫資料庫只用一個帳號,比方說我用A號設定一個密碼呼叫所有資料庫,如果這個剛好程式碼沒有寫好,可以入侵到我的資料庫,可以拿走所有資料,是非常不安全的。比方說一個A的帳號密碼呼叫它。WEB2用B的帳號,各自的帳號和密碼,都不要使用同一個,如果一個被黑進去了,只是傷害極小部分,而不是全部。

對於帳號許可權要定位到來源IP,打個比方說我這個WEB呼叫資料庫,我的IP地址是192.168.3.1,許可權再是資料庫,這樣可以設定比較嚴格。根據功能不同使用不同的帳號、密碼、許可權。定期或根據情況更改帳號、密碼、頻率。包括WEB呼叫資料庫,過幾個月要變,規律是最好按照你們架構改造的時候一起做,不要平時經常去換,這樣會不穩定的。

但是你可以利用架構改造或者升級的時候順帶著去做。對於開發人員的帳號通過WEB伺服器登陸對應資料庫,如果你是開發的人員配程式程式碼,對於WEB呼叫資料庫,我們需要把資料庫的帳號密碼告訴開發人員,一般來說這種情況下面,就不要讓開發人員登入到資料庫裡面,通過WEB登入到資料庫看情況,這樣會更加的安全。

不同的資料庫應用放在不同的資料庫伺服器上,最好是拆開放。如果放在一起危險性大一些,拆開放安全性高一些。這一塊我基本上就把立體型安全防護的理論知識講完了,我這裡所有的知識點都是點到為止,不可能在這個時間範圍內我展開講的很細,大家領會這個意思就可以了,具體要做比我講的要複雜多,沒這麼簡單。

我話說回來,我這裡講的也是一些基本的點,哪怕你技術水平不高的人做到這一些,至少安全性可以做的比較到位了。因為我今天跟大家講不是專業的運維工程師講,所以我不可能講的很深入,我講的比較簡單一點,讓大家能夠理解,所以說講的比較簡單,基本上屬於入門級的運維安全知識。

4.安全認識誤區

  • 誤區一  使用安全裝置就能解決安全問題
    安全認識誤區,使用安全裝置就能解決安全問題,很多公司包括老闆、技術總監都是這麼認為的,包括在中國電信、移動、聯通的技術總監和移動通訊的老總,包括一些銀行,他們都是認為購買安全裝置就能解決安全問題,都是這麼認為的,這是不對的。
  • 誤區二  安全是運維部門的事
    安全裝置自己也是有問題的。還有安全是運維部門的事,其實大家也知道安全包括程式碼的安全,包括運維的安全,包括系統的安全,包括網路的安全,並不是安全運維部門一個部門的事情。就像我前面說的大公司裡面也都出了被黑客入侵、攻擊這些情況,出現了很嚴重的安全問題。所以大公司有錢再搞安全,有一兩臺伺服器,不需要搞安全和架構設計。
  • 誤區三  大公司的安全都出事,安全不重要
    大公司可以其他措施可以彌補,小公司付出的代價越大了,越是小的公司越要注意安全,才能讓錢花在刀刃上。很多公司技術總監跟我交流我這段時間很穩定,半年了沒出什麼事,過去三個月沒出什麼事,他們就認為是安全的,這種觀念是非常錯誤的。
  • 誤區四  沒出事,就是安全的,等出事了再說
    從安全形度來說,安全是為了防範出事故的,你前面一段時間不出事故,不見得你明天就是安全的。所以說安全問題不是看以前的,是要往後看的,是要看未來的。還有公司就是說安全成本太高,本公司有錢融到資以後再來進行安全工作,這主要是因為因為現在的社會競爭比較激烈,我覺得公司有這方面的考量是正常的,但是千萬不要偷雞不著蝕把米,不要因為安全問題搞的反而競爭不過別人了。
  • 誤區五  安全成本太高,等公司有錢了再搞安全
    就像前段時間摩拜單車跟OFO兩家在打,特別是創業型的公司,我就一兩臺伺服器,不需要搞安全和架構設計是不對的。當你用到一臺伺服器的時候你就要搞安全問題,當你用到兩臺伺服器,你就需要考慮架構設計。最起碼兩臺裝置的時候要考慮到安全冗餘,當你有兩臺伺服器就開始考慮做架構設計。還有這也是很普通的。安全太影響效率效益,回報率更重要。因為如果安全沒做好,因為安全問題你會帶來更大的損失。
  • 誤區六  就一兩臺伺服器,不需要搞安全和架構設計
    雲主機供應商會提供安全產品,不需要安全和運維。打個比方說阿里雲和騰訊雲提供安騎士等等產品,只是在外圍做防護,沒有深入到你的系統和客戶架構方面做安全加固,所以說光靠雲廠商提供的安全裝置,是不能夠完全解決自己的安全問題的,是一道門檻而已。

有的公司技術總監跟我交流的時候有很多安全上的缺陷和漏洞,就說我跟誰都不說,我也不跟員工講,我就保密,說不定大家就沒有人知道我這有安全問題了。但實際上不是這麼回事,安全資訊不是從別的那邊聽說的,是完全靠工具進行安全掃描的,所以跟保不保密,說不說都沒有關係。

黑客太厲害,安全技術難度擡高,讓高手或者安全公司來搞,這種觀念也是不對的,哪怕是運維工程師,哪怕是入門級的運維工程師,我剛才舉的運維安全加固的手段並沒有包含太高的技術難度,所以說哪怕技術水平不高,你也通過一些最基本的安全手段來給網際網路應用做一些安全加固,那也比裸奔強多了

技術能力也不高,大部分的小黑客都可以防範掉,你自己有多少能力,就做多少的安全加固,那就很不錯了。有的員工認為我做的再好老闆也看不到,做了也白做,這就看你自己內心了,願意對工作更加負責一點還是願意混日子,這個觀點是錯誤的,反面教材。

5.如何做好安全

作為技術人員,怎麼樣做好安全工作呢?下面是幾個基本的原則。

  • 原則一  憂患意識
    首先作為技術人員來說時刻要有憂患意識,要對伺服器定期巡檢,發現蛛絲馬跡,要有警覺意識,能夠發現蛛絲馬跡或者異常的情況能夠深究下去找到真正的原因。不要等到出了事情再想辦法,這個就晚了。
  • 原則二 換位思考
    作為技術人員要能夠換位思考,自己做安全架構的時候也要站在黑客的角度思考問題,這就好比有個電影蠻有名的,好萊塢的叫《兵臨城下》,二戰納粹的狙擊手和蘇聯的狙擊手,兩個人就說你想把我消滅,我想把你消滅,一方面通過自己高超的技術手段互相算計對方,另一方面也是通過周圍的猶太小孩子中間來穿針引線去誘惑別人,想一些辦法,作為我們運維工程師,是要經常站在對方的角度思考。
  • 原則三 勇於探索
    勇於探索,安全的網站上面多去看看,網際網路安全網站上面多學習一些安全漏洞知識,安全知識之類的。然後對技術要有敬畏之心,不要玩弄技術,不要沽名釣譽。然後要有工匠之心,對待技術要專心鑽研,技術這個東西都是厚積薄發,不要急功近利。
  • 原則四 嚴格自律
    要做到嚴格自律,你的方便就給黑客提供的方便,從某種意義上來說運維工程師的職業,實際上是非常自虐的工作,自己去約束自己,自己去管理自己,只有做到這一些嚴格自律以後,任何技術困難都是紙老虎,就不會出現各種各樣的疑難雜症了。

6.總結

十年磨一劍,十年入門,二十年進階。

為什麼這麼說?運維涉及的面太廣了,現在還好,DBA,還有監控工程師,還有運維研發,這些工作都是從運維工作當中剝離開來了,都有專門的職位和崗位,以前這些都是屬於運維工作。

運維的工作崗位知識面包羅永珍,所以說要做的深入,差不多十年我覺得才可以入門,20年可以上一個臺階的,中國黑客不可怕,無視安全最可怕,這是非常重要的。因為黑客之所以能夠入侵,關鍵是自己對安全的不夠重視。

對於技術我們要有敬畏心,對技術敬畏心不夠的,今天玩弄技術,明天就要被黑客玩弄。現在都說牛人牛人,在中國我們整個在技術領域,其實專業程度還不夠高的,跟美國比,其實我們技術水平還是不高的,所以我覺得在我們中國牛蛙是很多的,牛人不多,沒有幾個。

文章來自微信公眾號:高效運維