Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> Web服務器維護和安全管理技巧3則

Web服務器維護和安全管理技巧3則

日期:2017/2/8 10:26:26      編輯:關於服務器

  一、轉換角色,把自己當作可能的攻擊者 

  大部分時候,我們若只是站在WEB管理員的角度上考慮問題,可能就發現不了Web服務器的漏洞。相反,我們此時若能夠換個角度,把自己當作可能的攻擊者,從他們的角色出發,想想他們可能會利用那些手段、哪些Web服務器的漏洞進行攻擊,或許,我們就可以發現Web服務器可能存在的安全漏洞,從而早先一步,修補安全漏洞,防止被木馬或者病毒攻擊。

  從公司外面訪問自己的Web服務器,進行完正的檢測,然後模擬攻擊自己的網站,看看,會有什麼樣的結果。這對於WEB的安全性來說,可能是一種很好的方法。如我們可以假當攻擊者,利用掃描工具,對Web服務器進行掃描,看看有否存在可以被攻擊的服務。有些東西我們平時可能不會引起我們重視,但是,利用黑客常用的工具進行掃描,就會發現一些可能會被他們利用的服務或者漏洞。如在服務器安裝的時候,操作系統會默認的安裝並啟動一些不需要的服務;或者在服務器配置的時候,需要啟動一些服務,但是事後沒有及時的關閉,從而給了不法攻擊者一個攻擊的機會。最常見的如SNMP服務,又稱簡單網絡管理協議。這個服務在系統安裝完畢後,默認情況下是開啟的。但是,這個服務可以為攻擊者提供服務器系統的詳細信息,如Web服務器是采用了什麼操作系統,在服務器上開啟了什麼服務與對應的端口等等寶貴的信息。攻擊者只有了解這些最基本的信息之後,才能夠開展攻擊。 //本文轉自www.45it.com電腦軟硬件應用網

  我們安全管理人員,在平時的時候可能不會發現這個問題,但是,若能夠利用黑客的掃描工具一掃描,就能夠發現問題的所在。故在必要的時候,需要換個角度,從攻擊的角色出發,考慮他們會采用什麼樣的攻擊方法。如此的話,我們才可以避免“當局者迷”的錯誤,保障Web服務器的安全。

  二、合理的權限管理

  有時候,在一台服務器上,不僅運行了Web服務器,而且還會運行其他的諸如FTP服務器之類的網絡服務。在同一台服務器上應用多種網絡服務的話,很可能造成服務之間的相互感染。也就是說,攻擊者只要攻擊一種服務,就可以利用相關的技術,攻陷另一種應用。因為攻擊者之需要攻破其中一種服務,就可以利用這個服務平台,從企業內部攻擊其他服務。而一般來說,從企業內容進行攻擊,要比企業外部進行攻擊方便的多。

  那或許有人會說,那不同服務采用不同服務器就可以了。其實,這對於企業來說,可能是種浪費。因為從性能上講,現在的服務器上同時部署WEB服務與FTP服務的話,是完全可行的,性能不會受到影響。為此,企業從成本考慮,會采取一個服務器。而現在給我們安全管理員出了一個難題,就是在兩種、甚至兩種以上的服務同時部署在一台服務器上,如何保障他們的安全,防止他們彼此相互之間感染呢?

  例如現在的Web服務器上運行著三種服務。一個是傳統等WEB服務;二是FTP服務;三是OA(辦公自動化)服務,因為該服務是WEB模式的,互聯網上也可以直接訪問OA服務器,所以也就把他部署在這台服務器上。由於這台服務器的配置還是比較高的,所以,運行這三個服務來說,沒有多少的困難,性能不會有所影響。現在的問題是,如號來保障他們的安全,FTP服務器、OA服務器與Web服務器之間安全上不會相互影響呢?

  現在采用的是Windows2003服務器,為了實現這個安全需求,把服務器中所有的硬盤都轉換為NTFS分區。一般來說,NTFS分區比FAT分區安全性要高的多。利用NTFS分區自帶的功能,合理為他們分配相關的權限。如為這個三個服務器配置不同的管理員帳戶,而不同的帳戶又只能對特定的分區與目錄進行訪問。如此的話,即使某個管理員帳戶洩露,則他們也只能夠訪問某個服務的存儲空間,而不能訪問其他服務的。如把WEB服務裝載分區D,而把FTP服務放在分區E。若FTP的帳戶洩露,被攻擊利用;但是,因為FTP帳戶沒有對分區D具有讀寫的權利,所以,其不會對Web服務器上的內容進行任何的讀寫操作。這就可以保障,其即時攻陷FTP服務器後,也不會對Web服務器產生不良的影響。

  雖然說微軟的操作系統價格昂貴,而安全漏洞又比較多,但是,其NTFS分區上的成就表現還是不差的。在NTFS分區上,可以實現很大程度的安全管理,保障相關服務於數據的安全性。所以最後還是采用了微軟的2003操作系統作為服務器系統,而沒有采用Linux系統。

  三、腳本安全管理

  根據以往經驗,其實很多Web服務器因為被攻擊而癱瘓,都是由於不良的腳本所造成的。特別是,攻擊者非常喜歡利用CGI程序或者PHP腳本,利用他們的腳本或者程序漏洞,進行攻擊。

  一般來說,WEB應用需要傳遞一些必要的參數,才能夠正常訪問。而這個參數又可以分為兩類,一個是可值得信任的參數,另外一類是不值得信任的參數。如企業可能是自己管理Web服務器,而不是托管。他們就把服務器放置在企業的防火牆內部,以提高Web服務器的安全性。所以一般來說,來自於企業防火牆內部的參數都是可靠的,值得信任的;而來自於企業外部的參數,都是不值得信任的。但是,也不是說不值得信任的參數或者說,來自於防火牆外部的參數Web服務器都不采用。而是說,在Web服務器設計的時候,需要注意,采用這些不值得信任的參數的時候,需要進行檢查,看其是否合法;而不能向來自於企業內部的參數那樣,不管三七二十一,都照收不誤。這明顯會對Web服務器的安全帶來威脅。如有時會,攻擊者利用TELNET連接到80端口,就可以向CGL腳本傳遞不安全的參數。

  所以,在CGI程序編寫或者PHP腳本編輯的時候,我們要注意,一定不能讓其隨便接受陌生人的參數,不要隨便跟陌生人打交道。在接受參數之前,一定要先檢驗提供參數的人或者參數本身的合法性。在程序或者腳本編寫的時候,可以預先加入一些判斷條件。當服務期認為若提供的參數不合法的時候,及時通知管理員。這也可以幫助我們,盡早的發現可能存在的攻擊者,並采取相應的措施。

  對於腳本的安全性來說,要注意以下問題:

  1、在腳本或者程序編寫的時候,不應該把任何不信任的參數直接保存為會話變量。因為根據WEB應用的設計原理,會話變量只保存信任變量。也就是說,會話變量中的值,WEB服務都認為其是值得信任的,會不加思索的采用。一般的設計思路是,先設置一個臨時變量進行存儲,然後編寫一個檢驗其合法性的過程或者函數,來驗證其合法性。只有通過驗證的時候,這個值才能夠被傳給會話變量。根據經驗,要是沒有親身經歷過慘痛教訓的WEB管理員,可能對此不屑一顧。但是,那些有過這方面教訓的人,則會非常看重這個合法性的檢驗過程。畢竟是吃一塹長一智,所以新手還是需要多聽聽過來人的建議,不會吃虧的。

  2、在沒有充分必要的時候,不要采用腳本,盡量使得網頁的簡單化。其實,企業的網站跟個人網站有個很大的不同,企業的網站只要樸素就好,不需要過多的渲染。一方面,過度渲染的網站會降低用戶網站訪問的速度;另一方面,這也會降低網絡的安全性能。故,在沒有充分必要的情況下,不要共腳本或者程序在渲染網站的華而不實的功能。

  3、對腳本或者程序的執行情況要進行持續的跟蹤。在萬不得已網站采用了程序或者腳本的時候,則需要定時不定時的對這些腳本或者程序的運行情況進行稽核,看看其有沒有被非法利用的嫌疑。

Copyright © Windows教程網 All Rights Reserved