網站安全是指為了避免網站遭到外部計算機入侵者的攻擊,而采取的一系列防御措施。網站的設計者通常注重用戶體驗,較少考慮安全漏洞。然而,黑客能夠敏銳地發現并利用這些漏洞,將其轉化為獲取利益的機會。網站防御措施常常滯后,傳統的基于特征識別的入侵防御技術效果不佳。此外,網站管理者往往低估網站的價值,不愿投入過多的成本進行安全防護。黑客入侵后,有時難以及時發現,因為他們可能會利用網站進行隱蔽活動,如網頁掛馬。網站安全問題的解決方案并不總是徹底有效,因為多數網站開發與設計公司在安全代碼設計方面的知識有限。
常見問題
- 大多數網站設計,只考慮正常用戶穩定使用
- 但在黑客對漏洞敏銳的發覺和充分利用的動力下,網站存在的這些漏洞就被挖掘出來,且成為黑客們直接或間接獲取利益的機會。對于Web應用程序的SQL注入漏洞,有試驗表明,通過搜尋1000個網站抽樣測試,檢測到有15%的網站存在SQL注入漏洞。
- 網站防御措施過于落后,甚至沒有真正的防御
- 大多數防御傳統的基于特征識別的入侵防御技術或內容過濾技術,對保護網站抵御黑客攻擊的效果不佳。比如對SQL注入、跨站腳本這種特征不唯一的網站攻擊,基于特征匹配技術防御攻擊,不能精確阻斷攻擊。因為黑客們可以通過構建任意表達式來繞過防御設備固化的特征庫,比如:and 1=1 和 and 2=2是一類數據庫語句,但可以人為任意構造數字構成同類語句的不同特征。而and、=等這些標識在WEB提交數據庫應用中又是普遍存在的表達符號,不能作為攻擊的唯一特征。因此,這就很難基于特征標識來構建一個精確阻斷SQL注入攻擊的防御系統。導致目前有很多黑客將SQL注入成為入侵網站的首選攻擊技術之一。基于應用層構建的攻擊,防火墻更是束手無策。
- 網站防御不佳還有另一個原因,有很多網站管理員對網站的價值認識僅僅是一臺服務器或者是網站的建設成本,為了這個服務器而增加超出其成本的安全防護措施認為得不償失。而實際網站遭受攻擊之后,帶來的間接損失往往不能用一個服務器或者是網站建設成本來衡量,很多信息資產在遭受攻擊之后造成無形價值的流失。不幸的是,很多網站負責的單位、人員,只有在網站遭受攻擊后,造成的損失遠超過網站本身造價之后才意識到這一點。
- 黑客入侵后,未被及時發現
- 有些黑客通過篡改網頁來傳播一些非法信息或炫耀自己的水平,但篡改網頁之前,黑客肯定基于對漏洞的利用,獲得了網站控制權限。這不是最可怕的,因為黑客在獲取權限后沒有想要隱蔽自己,反而是通過篡改網頁暴露自己,這雖然對網站造成很多負面影響,但黑客本身未獲得直接利益。更可怕的是,黑客在獲取網站的控制權限之后,并不暴露自己,而是利用所控制網站產生直接利益;網頁掛馬就是一種利用網站,將瀏覽網站的人種植其木馬的一種非常隱蔽且直接獲取利益的主要方式之一。訪問網站而被種植木馬的人通常也不知情,導致一些用戶的機密信被竊取。網站成了黑客散布木馬的一個渠道。網站本身雖然能夠提供正常服務,但訪問網站的人卻遭受著木馬程序的危害。這種方式下,黑客們通常不會暴露自己,反而會盡量隱蔽,正好比暗箭難防,所以很多網站被掛木馬數月仍然未被察覺。由于掛馬原理是木馬本身并非在網站本地,而是通過網頁中加載一個能夠讓瀏覽者自動建立另外的下載連接完成木馬下載,而這一切動作是可以很隱蔽的完成,各個用戶不可見,因此這種情況下網站本地的病毒軟件也無法發現這個掛馬實體。
- 發現安全問題不能徹底解決
- 網站技術發展較快、安全問題日益突出,但由于關注重點不同,絕大多數的網站開發與設計公司,網站安全代碼設計方面了解甚少,發現網站安全存在問題和漏洞,其修補方式只能停留在頁面修復,很難針對網站具體的漏洞原理對源代碼進行改造。這些也是為什么有些網站安裝網頁防止篡改、網站恢復軟件后仍然遭受攻擊。我們在一次網站安全檢查過程中,曾經戲劇化的發現,網站的網頁防篡改系統將早期植入的惡意代碼也保護了起來。這說明很少有人能夠準確的了解網站安全漏洞解決的問題是否徹底。
主要手段
攻擊分類
1. 利用Web服務器的漏洞進行攻擊。如CGI緩沖區溢出,目錄遍歷漏洞利用等攻擊;
2. 利用網頁自身的安全漏洞進行攻擊。如SQL注入,跨站腳本攻擊等。
應用攻擊
1. 緩沖區溢出——攻擊者利用超出緩沖區大小的請求和構造的二進制代碼讓服務器執行溢出堆棧中的惡意指令。
2. Cookie假冒——精心修改cookie數據進行用戶假冒。
3. 認證逃避——攻擊者利用不安全的證書和身份管理。
4. 非法輸入——在動態網頁的輸入中使用各種非法數據,獲取服務器敏感數據。
5. 強制訪問——訪問未授權的網頁。
6. 隱藏變量篡改——對網頁中的隱藏變量進行修改,欺騙服務器程序。
7. 拒絕服務攻擊——構造大量的非法請求,使Web服務器不能響應正常用戶的訪問。
8. 跨站腳本攻擊——提交非法腳本,其他用戶瀏覽時盜取用戶帳號等信息。
9. SQL注入——構造SQL代碼讓服務器執行,獲取敏感數據。
10. URL 訪問限制失效——黑客可以訪問非授權的資源連接強行訪問一些登陸網頁、歷史網頁。
11. 被破壞的認證和 Session 管理——Session token 沒有被很好的保護 在用戶退出系統后,黑客能夠盜竊 session。
12. DNS攻擊——黑客利用DNS漏洞進行欺騙DNS服務器,從而達到使DNS解析不正常,IP地址被轉向導致網站服務器無法正常打開。
攻擊手段
SQL注入
對于和后臺數據庫產生交互的網頁,如果沒有對用戶輸入數據的合法性進行全面的判斷,就會使應用程序存在安全隱患。用戶可以在可以提交正常數據的URL或者表單輸入框中提交一段精心構造的數據庫查詢代碼,使后臺應用執行攻擊者的SQL代碼,攻擊者根據程序返回的結果,獲得某些他想得知的敏感數據,如管理員密碼,保密商業資料等。
跨站腳本攻擊
由于網頁可以包含由服務器生成的、并且由客戶機瀏覽器解釋的文本和HTML標記。如果不可信的內容被引入到動態頁面中,則無論是網站還是客戶機都沒有足夠的信息識別這種情況并采取保護措施。攻擊者如果知道某一網站上的應用程序接收跨站點腳本的提交,他就可以在網上上提交可以完成攻擊的腳本,如ECMAScript、VBScript、ActiveX、HTML 或 Flash 等內容,普通用戶一旦點擊了網頁上這些攻擊者提交的腳本,那么就會在用戶客戶機上執行,完成從截獲帳戶、更改用戶設置、竊取和篡改cookie到虛假廣告在內的種種攻擊行為。
DNS攻擊
黑客使用常見的洪水攻擊,阻擊DNS服務器,導致DNS服務器無法正常工作,從而達到域名解析失敗,造成網站無法訪問。
安全檢測
網站漏洞掃描
網站安全檢測的第一步是對網站的漏洞進行掃描,這是因為現在很多網站都存在SQL注入漏洞、上傳漏洞等問題。黑客可以通過這些漏洞攻擊網站。有一些在線的網站漏洞檢測工具可供免費使用。
網站木馬檢測
網站被掛馬的情況十分常見,這對網站的聲譽影響很大。因此,網站安全檢測中,網站是否被掛馬是一項重要的指標。可以通過一些殺毒軟件提供的在線安全中心進行木馬檢測。
網站環境檢測
網站環境包括網站所在的服務器安全環境和維護網站的工作人員的工作環境。選擇可靠的服務器服務商,穩定的服務器對網站的優化和SEO很有幫助。同時,站長或維護人員的工作環境中也要保持系統的安全,建議安裝必要的殺毒軟件,并設置復雜的賬號和密碼。
其他檢測
黑鏈檢測是另一項重要的檢測項目,因為黑鏈的存在會影響網站的SEO優化。可以通過一些工具檢測是否存在PR較低且陌生的鏈接,這些鏈接可能是黑鏈,應及時刪除。
遠程連接檢測
打開寬帶連接,進行寬帶的檢測和IP地址的檢測,以防惡意竊取用戶資料。
結構設計
網站結構設計是網站設計的重要組成部分。在內容設計完成后,網站的目標及內容主題已確定。結構設計的任務是將內容劃分為清晰合理的層次體系,如欄目的劃分及其關系、網頁的層次及其關系、鏈接的路徑設置、功能在網頁上的分配等,以上這些都僅僅是前臺結構設計。前臺結構設計的實現需要強大的后臺支撐,后臺也應有良好的結構設計以保證前臺結構設計的實現。網站的結構設計體現了內容設計與創意設計的關鍵環節,應理清網頁內容及欄目結構的脈絡,使鏈接結構、導航線路層次清晰;內容與結構要突出主題。
安全措施
1. 登錄頁面加密
登錄后實施加密可能有所幫助,但如果不加密登錄會話,就相當于把大門關上卻把鑰匙留在鎖里。許多情況下,即使登錄會話被傳輸到加密資源,也可能被惡意黑客攻克,他們會偽造登錄表單,訪問相同的資源并訪問敏感數據。通常的加密方式包括MD5加密、數據庫加密等。
2. 專業工具輔助
市場上有許多針對網站安全漏洞的檢測監測系統,其中大部分是付費的,但也有一些免費的網站安全檢測平臺,可以幫助快速查找網站的安全隱患,并提供相應的防范措施。
3. 加密連接管理站點
使用不加密的連接(或僅使用輕度加密的連接)訪問安全資源,如使用不加密的斷點續傳或HTTP管理Web站點或Web服務器,會使自己暴露在“中間人”攻擊和登錄/口令嗅探等風險之下。因此,請務必使用加密協議,如SSH,訪問安全資源,以確保您使用的安全工具經過驗證,不會限制您的用戶基礎。
4. 兼容性加密
考慮到當前的發展狀況,SSL不再是最先進的Web網站加密技術。可以考慮使用TLS(傳輸層安全),這是安全套接字層加密的繼任者。確保您選擇的任何加密方案不會限制您的用戶基礎。
5. 連接到安全網絡
避免連接安全特性未知或不確定的網絡,也不要連接安全性較差的網絡,如未知的開放無線訪問點。任何時候,如果您必須登錄到服務器或Web站點進行管理,或訪問其他安全資源,請務必使用安全代理,這樣您到安全資源的連接就會來自一個有安全保障的網絡代理。
6. 不共享登錄信息
共享登錄機要信息會導致多種安全問題。這不僅適用于網站管理員或Web服務器管理員,也適用于在網站上有登錄憑證的人員,客戶也不應共享其登錄憑證。登錄憑證共享得越多,越容易公開共享,甚至對不應訪問系統的人員也是如此;登錄機要信息共享得越多,建立跟蹤索引來追蹤、追查問題來源就越困難,如果安全性受損或受到威脅,需要更改登錄信息時,受影響的人就越多。
7. 采用基于密鑰的認證而非口令認證
口令認證比基于密鑰的認證更容易被攻破。設置口令是為了在需要訪問安全資源時更容易記住登錄信息。但是,如果使用基于密鑰的認證,并僅將密鑰復制到預先定義的、授權的系統(或將密鑰復制到與授權系統分開的獨立介質中,在需要時取回),您將獲得一個更強健的難以破解的認證憑證。
8. 維護安全的工作站
如果您從客戶端系統連接到安全資源站點,而您不能完全保證其安全性,就不能保證某人沒有在監視您所做的每一件事。因此,鍵盤記錄器、受到惡意損害的網絡加密客戶以及其他黑客的破壞安全性的技巧都會允許未經授權的個人訪問敏感數據,而不管網絡是否有安全措施,是否使用加密通信,也不管您是否部署了其他網絡保護。因此,保障工作站的安全至關重要。
9. 運用冗余性保護網站
備份和服務器的故障轉移有助于保持最長的正常運行時間。盡管故障轉移可以大大縮短服務器停機時間,但這不是冗余性的唯一價值。用于故障轉移計劃的備份服務器可以保持服務器配置的最新狀態,這樣在發生災難時,您不必從頭開始重建服務器。備份可以確保客戶端數據不會丟失,如果您擔心受損系統上的數據落入壞人之手,您可以毫不猶豫地刪除此類數據。當然,您還必須確保故障轉移和備份方案的安全,并定期檢查以確保在需要這些方案時不會讓您措手不及。
10. 確保對所有系統實施強健的安全措施,而不只是特定的Web安全措施
在這方面的通用手段包括使用強密碼、強健的外圍防御系統、及時更新軟件和打補丁、關閉不使用的服務、使用數據加密等,以確保系統的安全。
11. 利用防火墻防護網站安全
例如使用操作系統自帶的Internet連接防火墻(ICF),檢查進出防火墻的所有數據包,決定攔截或放行哪些數據包。防火墻可以是硬件、固件或軟件,如專用防火墻設備、帶有防火墻固件的路由器、代理服務器等軟件。
12. 運用網站監控措施
隨著互聯網的快速發展,個人網站、企業網站、社區網站等數量不斷增加,網站之間的競爭也越來越激烈,由此產生了對網站的監控需求,以確保網站的連續性和數據分析。
參考資料 >
保障網站安全的措施有哪些?.新網.2024-10-23
網站防御怎么樣-網站防御措施全面解析,保障您的網絡安全.天劍網.2024-10-23
漏洞掃描服務(如何對網站進行滲透測試和漏洞掃描).搜了網.2024-10-23