1. 程式人生 > >如何保證Web伺服器安全

如何保證Web伺服器安全

不但企業的入口網站被篡改、資料被竊取,而且還成為了病毒與木馬的傳播者。有些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管理團隊也應該及早的發現攻擊的行為。畢竟有沒有發現、與最終有沒有取得成功,是兩個不同的概念。     二是要測試伺服器的漏洞是否有補上。畢竟大部分的攻擊行為,都是針對伺服器現有的漏洞所產生的。現在這個專業團隊要做的就是,這些已發現的漏洞是否都已經打上了安全補丁或者採取了對應的安全措施。有時候我們都沒有發現的漏洞是無能為力,但是對於這些已經存在的漏洞不能夠放過。否則的話,也太便宜那些攻擊者了。

相關推薦

如何保證Web伺服器安全

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

【root-me CTF練習】Web伺服器安全-SSTI攻擊(模板注入)

靶機地址 http://challenge01.root-me.org/web-serveur/ch41/ 模板引擎 模板的誕生是為了將顯示與資料分離,模板技術多種多樣,但其本質是將模板檔案和資料通過模板引擎生成最終的HTML程式碼。服務端模板注入和常見We

【root-me CTF練習】Web伺服器安全-PHP 遠端檔案包含

靶機地址 http://challenge01.root-me.org/web-serveur/ch13/ 解題思路 根據題目,得知考的應該是include()函式遠端包含檔案,那麼則需要php.ini的配置選項allow_url_fopen和allow_u

【root-me CTF練習】Web伺服器安全-PHP type juggling

靶機地址 http://challenge01.root-me.org/web-serveur/ch44/ 解題思路 檢視提示的原始碼,發現主要是需要繞過以下比較: if($auth['data']['login'] == $USER &&

【root-me CTF練習】Web伺服器安全-PHP preg_replace

靶機地址 http://challenge01.root-me.org/web-serveur/ch37/index.php 解題思路 此題考的是利用PHP 的preg_replace函式導致的程式碼執行。 /e 修正符使 preg_replace()

【root-me CTF練習】Web伺服器安全-PHP -寬鬆的比較

靶機地址 http://challenge01.root-me.org/web-serveur/ch55/ 解題思路 檢視提示的原始碼,發現需要滿足 $s != false && $h != false if($s.$r == $h) 也就

【root-me CTF練習】Web伺服器安全-本地檔案包含-雙重編碼

靶機地址 http://challenge01.root-me.org/web-serveur/ch45/ 解題思路 通過構造測試連結發現,這關也是通過include函式包含的,並且檔名自動加上.inc.php,而這個版本的php是無法使用%00也就是null位元組

【root-me CTF練習】Web伺服器安全-本地檔案包含

靶機地址 http://challenge01.root-me.org/web-serveur/ch16/ 解題思路 通過點選網站上的不同板塊,可以看到可根據不同目錄讀取相應的檔案內容,如以下連結讀取sysadm目錄裡的index.html檔案內容。 http://

WEB伺服器安全設定,有效防護網站攻擊70%

  伺服器安全是網站站長很關注的話題,因為網站安全關係到網站優化排名的波動、企業品牌形象以及傳遞錯誤資訊,將錯誤網站瀏覽頁面展現給了瀏覽使用者。那麼ileowu今天對WEB伺服器安全設定,從而提升伺服器安全性,有效的防護我們的站點,保護我們企業網路形象,希望對站長們有所幫助! 伺服器安全設

【root-me CTF練習】Web伺服器安全-第二十一關- PHP register globals

解題思路: 本題考的是PHP變數覆蓋漏洞。那麼首先來了解下PHP的變數覆蓋。 變數覆蓋: 變數覆蓋指的是用我們自定義的引數值去替換程式原有的變數值,一般變數覆蓋漏洞需要結合程式的其它功能來實現完整的攻擊。經常導致變數覆蓋漏洞場景有:$$,extract()函式,pa

web伺服器安全配置

最近裝了個web伺服器,好久不弄了,有點手生了,為了保護web伺服器的安全性,在遠端登陸上做了安全措施,以防制惡意人入侵,這只是些基礎的設定。   os:debian 安裝資料庫 # apt-get install  php4-mysql mysql-server mysql

web伺服器啟用了不安全的HTTP方法

1、什麼是不安全的HTTP方法 開發人員、運維人員一般可能用於除錯伺服器,開啟了一些客戶端能夠直接讀寫伺服器端檔案的方法,例如:DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK 等HTTP協

Web伺服器點選劫持(ClickJacking)的安全防範

一.介紹 ClickJacking即點選劫持,是一種將惡意程式碼經過處理使其變成透明、不可見的iframe,並將其覆蓋在一個網頁上,然後誘使使用者在該網頁上進行點選操作。通過改變iframe的在頁面的位置,可以誘使使用者正好點選我們設定好的透明iframe。 二.防禦 1.

Web伺服器的工作原理與安全防護策略

Web伺服器的工作原理  Web伺服器的工作原理並不複雜,一般可分成如下4個步驟:連線過程、請求過程、應答過程以及關閉連線。下面對這4個步驟作一簡單的介紹。連線過程就是Web伺服器和其瀏覽器之間所建立起來的一種連線。檢視連線過程是否實現,使用者可以找到和開啟socket這個虛擬檔案,這個檔案的建立意味著連線過

怎麼保證遠端登入伺服器安全

遠端登入進行伺服器的管理和維護是管理員的日常工作之一,如何保障遠登入的安全性也是大家必須要考慮的問題。本文將從帳戶管理和登入工具的安全部署兩個方面入手,談談如何實現服務的安全登入。   一、嚴密設定加強帳戶安全 1、帳戶改名 Administrator和guest是Se

web安全/滲透測試--43--web伺服器控制檯地址洩漏

1、漏洞名稱: Web容器控制檯地址洩漏、中介軟體控制檯地址洩漏、web伺服器控制檯地址洩漏 2、漏洞描述: Web控制檯是一種基於Web的使用者介面,其常常被用於網站後臺或者web容器控制檯中,其不僅僅侷限於容器或者網站管理後臺,還包括一些資料庫預設地址等。在

2019測試指南-web應用程式安全測試(二)檢視Web伺服器圖元檔案的資訊洩漏

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

【常見Web應用安全問題】---4、Directory traversal

控制 code 註冊 input site 硬盤管理 下載 num ron Web應用程序的安全性問題依其存在的形勢劃分,種類繁多,這裏不準備介紹所有的,只介紹常見的一些。 常見Web應用安全問題安全性問題的列表:   1、跨站腳本攻擊(CSS or

互聯網+(怎樣保證小孩的安全

我認 easy 溫度 主動 缺點 彌補 安全 情況 原因 今日。湖南長沙又有一個小朋友由於疏忽被關在車裏,由於熱和缺氧死亡,這是一個悲劇。不管怎麽樣。大人的疏忽是主要原因,但說實在的,人,畢竟是人。百密一疏,有些事情是非常難杜絕的。在現代這個社會中。技術已經如此發達,應

[筆記]《白帽子講Web安全》- Web框架安全

產生 response pro 直接 返回 攻擊 指定 his 數據 一、MVC框架安全 從數據的流入來看,用戶提交的數據先後流經了View層、Controller、Model層,數據流出則反過來。在設計安全方案時,要牢牢把握住數據這個關鍵因素。