如何保證Web伺服器安全

gydtep發表於2018-10-09

不但企業的入口網站被篡改、資料被竊取,而且還成為了病毒與木馬的傳播者。有些Web管理員採取了一些措施,雖然可以保證入口網站的主頁不被篡改,但是卻很難避免自己的網站被當作肉雞,來傳播病毒、惡意外掛、木馬等等。筆者認為,這很大一部分原因是管理員在Web安全防護上太被動。他們只是被動的防禦。為了徹底提高Web伺服器的安全,筆者認為,Web安全要主動出擊。具體的來說,需要做到如下幾點。    

一、在程式碼編寫時就要進行漏洞測試  
  現在的企業網站做的越來越複雜、功能越來越強。不過這些都不是憑空而來的,是通過程式碼堆積起來的。如果這個程式碼只供企業內部使用,那麼不會帶來多大的安全隱患。但是如果放在網際網路上使用的話,則這些為實現特定功能的程式碼就有可能成為攻擊者的目標。筆者舉一個簡單的例子。在網頁中可以嵌入SQL程式碼。而攻擊者就可以利用這些SQL程式碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。有時候訪問某些網站還需要有某些特定的控制元件。使用者在安裝這些控制元件時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。  
  為此在為網站某個特定功能編寫程式碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。筆者在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。至少現在已知的病毒、木馬不能夠在你所開發的外掛中有機可乘。通過這層層把關,就可以提高程式碼編寫的安全性。    

二、對Web伺服器進行持續的監控  
  冰凍三尺、非一日之寒。這就好像人生病一樣,都有一個過程。病毒、木馬等等在攻擊Web伺服器時,也需要一個過程。或者說,在攻擊取得成功之前,他們會有一些試探性的動作。如對於一個採取了一定安全措施的Web伺服器,從攻擊開始到取得成果,至少要有半天的時間。如果Web管理員對伺服器進行了全天候的監控。在發現有異常行為時,及早的採取措施,將病毒與木馬阻擋在門戶之外。這種主動出擊的方式,就可以大大的提高Web伺服器的安全性。  
  筆者現在維護的Web伺服器有好幾十個。現在專門有一個小組,來全天候的監控伺服器的訪問。平均每分鐘都可以監測到一些試探性的攻擊行為。其中99%以上的攻擊行為,由於伺服器已經採取了對應的安全措施,都無功而返。不過每天仍然會遇到一些攻擊行為。這些攻擊行為可能是針對新的漏洞,或者採取了新的攻擊方式。在伺服器上原先沒有采取對應的安全措施。如果沒有及時的發現這種行為,那麼他們就很有可能最終實現他們的非法目的。相反,現在及早的發現了他們的攻擊手段,那麼我們就可以在他們採取進一步行動之前,就在伺服器上關掉這扇門,補上這個漏洞。  
  筆者在這裡也建議,企業使用者在選擇網際網路Web伺服器提供商的時候,除了考慮效能等因素之外,還要評估服務提供商能否提供全天候的監控機制。在Web安全上主動出擊,及時發現攻擊者的攻擊行為。在他們採取進一步攻擊措施之前,就他們消除在萌芽狀態。
  
  三、設定蜜罐,將攻擊者引向錯誤的方向  
  在軍隊中,有時候會給軍人一些偽裝,讓敵人分不清真偽。其實在跟病毒、木馬打交道時,本身就是一場無硝煙的戰爭。為此對於Web伺服器採取一些偽裝,也能夠將攻擊者引向錯誤的方向。等到供給者發現自己的目標錯誤時,管理員已經鎖定了攻擊者,從而可以及早的採取相應的措施。筆者有時候將這種主動出擊的行為叫做蜜罐效應。簡單的說,就是設定兩個伺服器。其中一個是真正的伺服器,另外一個是蜜罐。現在需要做的是,如何將真正的伺服器偽裝起來,而將蜜罐推向公眾。讓攻擊者認為蜜罐伺服器才是真正的伺服器。要做到這一點的話,可能需要從如下幾個方面出發。  
  一是有真有假,難以區分。如果要瞞過攻擊者的眼睛,那麼蜜罐伺服器就不能夠做的太假。筆者在做蜜罐伺服器的時候,80%以上的內容都是跟真的伺服器相同的。只有一些比較機密的資訊沒有防治在蜜罐伺服器上。而且蜜罐伺服器所採取的安全措施跟真的伺服器事完全相同的。這不但可以提高蜜罐伺服器的真實性,而且也可以用來評估真實伺服器的安全性。一舉兩得。  
  二是需要有意無意的將攻擊者引向蜜罐伺服器。攻擊者在判斷一個Web伺服器是否值得攻擊時,會進行評估。如評估這個網站的流量是否比較高。如果網站的流量不高,那麼即使被攻破了,也沒有多大的實用價值。攻擊者如果沒有有利可圖的話,不會花這麼大的精力在這個網站伺服器上面。如果要將攻擊者引向這個蜜罐伺服器的話,那麼就需要提高這個蜜罐伺服器的訪問量。其實要做到這一點也非常的容易。現在有很多用來互動流量的團隊。只要花一點比較小的投資就可以做到這一點。  
  三是可以故意開一些後門讓攻擊者來鑽。作為Web伺服器的管理者,不僅關心自己的伺服器是否安全,還要知道自己的伺服器有沒有被人家盯上。或者說,有沒有被攻擊的價值。此時管理者就需要知道,自己的伺服器一天被攻擊了多少次。如果攻擊的頻率比較高,管理者就高興、又憂慮。高興的是自己的伺服器價值還蠻大的,被這麼多人惦記著。憂慮的是自己的伺服器成為了眾人攻擊的目標。就應該抽取更多的力量來關注伺服器的安全。    四、專人對Web伺服器的安全性進行測試  
  俗話說,靠人不如靠自己。在Web伺服器的攻防戰上,這一個原則也適用。筆者建議,如果企業對於Web服務的安全比較高,如網站伺服器上有電子商務交易平臺,此時最好設定一個專業的團隊。他們充當攻擊者的角色,對伺服器進行安全性的測試。這個專業團隊主要執行如下幾個任務。  
  一是測試Web管理團隊對攻擊行為的反應速度。如可以採用一些現在比較流行的攻擊手段,對自己的Web伺服器發動攻擊。當然這個時間是隨機的。預先Web管理團隊並不知道。現在要評估的是,Web管理團隊在多少時間之內能夠發現這種攻擊的行為。這也是考驗管理團隊全天候跟蹤的能力。一般來說,這個時間越短越好。應該將這個時間控制在可控的範圍之內。即使攻擊最後沒有成功,Web管理團隊也應該及早的發現攻擊的行為。畢竟有沒有發現、與最終有沒有取得成功,是兩個不同的概念。  
  二是要測試伺服器的漏洞是否有補上。畢竟大部分的攻擊行為,都是針對伺服器現有的漏洞所產生的。現在這個專業團隊要做的就是,這些已發現的漏洞是否都已經打上了安全補丁或者採取了對應的安全措施。有時候我們都沒有發現的漏洞是無能為力,但是對於這些已經存在的漏洞不能夠放過。否則的話,也太便宜那些攻擊者了。


相關文章