來源:巨靈鳥軟件 作者:進銷存軟件 發布:2014/10/14 瀏覽次數:4521
一、保護WEB服務器的關鍵是什么
WEB服務器自身脆弱性:Web服務器軟件自身存在安全問題,如Web服務器軟件缺省安裝提供了過多的不必要功能,密碼過于簡單遭到破解,當服務器管理員使用了不安全協議的軟件(如telnet)進行管理時,被監聽而導致信息外泄。
Web應用程序安全性差:主要是指CGI程序和ASP、PHP腳本等等程序的安全性。這些程序大大擴展了Web服務器的功能,但它們往往只重功能而忽視了安全性。
保護WEB服務的方法:1、用防火墻保護網站,可以有效地對數據包進行過濾,是網站的第一道防線;2、用入侵監測系統監測網絡數據包,可以捕捉危險或有惡意的訪問動作,并能按指定的規則,以記錄、阻斷、發警報等等多種方式進行響應,既可以實時阻止入侵行為,又能夠記錄入侵行為以追查攻擊者;3、正確配置Web服務器,跟蹤并安裝服務器軟件的最新補丁;4、服務器軟件只保留必要的功能,關閉不必要的諸如FTP、SMTP等公共服務,修改系統安裝時設置的默認口令,使用足夠安全的口令;5、遠程管理服務器使用安全的方法如SSH,避免運行使用明文傳輸口令的telnet、ftp等程序;6、謹慎使用CGI程序和ASP、PHP腳本程序7、使用網絡安全檢測產品對安全情況進行檢測,發現并彌補安全隱患。
CGI(COMMOM GATE INTERFACE)是外部應用程序與WEB服務器交互的一個標準接口,它可以完成客戶端與服務器的交互操作。CGI帶來了動態的網頁服務, CGI 腳本是主頁安全漏洞的主要來源,這主要是由于CGI程序設計不當,暴露了未經授權的數據。通過構造特殊字符串給CGI程序就可能得到這種權限。
防范CGI腳本漏洞主要是:1、使用最新版本的Web服務器,安裝最新的補丁程序,正確配置服務器;2、按照幫助文件正確安裝CGI程序,刪除不必要的安裝文件和臨時文件;3、使用C編寫CGI程序時,使用安全的函數;4、使用安全有效的驗證用戶身份的方法;5、驗證用戶的來源,防止用戶短時間內過多動作;6、推薦過濾“& ; ` ' \ ” | * ? ~ < > ^ ( ) [ ] { } $ \n \r \t \0 # ../;7、在設計CGI腳本時,其對輸入數據的長度有嚴格限制;8、實現功能時制定安全合理的策略,CGI程序還應具有檢查異常情況的功能,在檢查出陌生數據后CGI應能及時處理這些情況。
三、如何保護FTP服務器
1、禁止匿名登錄。在Windows 2000中,最初安置的ftp服務默認允許匿名登陸,它是一種可以讓沒有用戶帳戶的人登陸你的ftp服務器的方法。允許匿名訪問有時會導致被利用傳送非法文件。 取消匿名登錄,只允許被預定義的用戶帳號登錄, 配置被定義在FTP 主目錄的ACLs [ 訪問控制列表] 來進行訪問控制,并使用NTFS 許可證。
2、設置訪問日志。通過訪問日志可以準確得到哪些IP 地址和用戶訪問的準確紀錄。定期維護日志能估計站點訪問量和找出安全威脅和漏洞。
3、強化訪問控制列表。采用NTFS 訪問許可,運用ACL[訪問控制列表] 控制對您的FTP 目錄的的訪問。
4、設置站點為不可視。如您只需要用戶傳送文件到服務器而不是從服務器下載文件,可以考慮配置站點為不可視。 這意味著用戶被允許從FTP 目錄寫入文件不能讀取。 這樣可以阻止未授權用戶訪問站點。要配置站點為不可視,應當在“站點”和“主目錄”設置訪問許可。
5、使用磁盤配額。磁盤配額可能有效地限制每個用戶所使用的磁盤空間。授予用戶對自己上傳的文件的完全控制權。使用磁盤配額可以檢查用戶是否超出了使用空間,能有效地限制站點被攻破所帶來的破壞。并且,限制用戶能擁有的磁盤空間,站點將不會成為那些尋找空間共享媒體文件的黑客的目標。
6、使用訪問時間限制。Windows2000 訪問時間限制是從nt4.0繼承而來。 這個選項限制用戶只能在指定的日期的時間內才能登陸訪問站點。這可以限制在唯一被批準的時間才能訪問服務器。如果站點在企業環境中使用,可以限制只有在工作時間才能訪問服務請。 下班以后就禁止登錄以保障安全。
7、基于IP策略的訪問控制。Windows2000的 FTP 可以限制具體IP 地址的訪問。限制只能由特定的個體才能訪問站點,可以減少未批準者登錄訪問的危險。
8、審計登陸事件。審計帳戶登錄事件,能在安全日志察看器里查看企圖登陸站點的(成功/失敗)事件,以警覺一名惡意用戶設法入侵的可疑活動。 它也作為歷史記錄用于站點入侵檢測。
9、使用安全密碼策略。復雜的密碼是采用終端用戶認證的安全方式。這是鞏固站點安全的一個關鍵部分,FTP 用戶帳號選擇密碼時必須遵守以下規則:不包含用戶帳號名字的全部或部份;必須是至少6 個字符長;包含英文大、小寫字符、數字和特殊字符等多個類別。
10、限制登錄次數。 Windows2000 安全策略允許管理員當帳戶在規定的次數內未登入的情況下將帳戶鎖定。
目前互連網上的郵件服務器所受攻擊有兩類:一類就是中繼利用(Relay),即遠程機器通過你的服務器來發信,這樣任何人都可以利用你的服務器向任何地址發郵件,久而久之,你的機器不僅成為發送垃圾郵件的幫兇,也會使你的網絡流量激增,同時將可能被網上的很多郵件服務器所拒絕;另一類攻擊稱為垃圾郵件(Spam),即人們常說的郵件炸彈,是指在很短時間內服務器可能接收大量無用的郵件,從而使郵件服務器不堪負載而出現癱瘓。這兩種攻擊都可能使郵件服務器無法正常工作。
防止郵件服務器被攻擊的方法有三種:一種是升級高版本的服務器軟件,利用軟件自身的安全功能限制垃圾郵件的大量轉發或訂閱反垃圾郵件服務;第二種就是采用第三方軟件利用諸如動態中繼驗證控制功能來實現,從而確保接受郵件的正確性;第三種是配置病毒網關、病毒過濾等功能,從網絡的入口開始,阻止來自互聯網的郵件病毒入侵,同時還要防止它們在進出公司內部網絡時的傳播。
由于DNS服務使用UDP協議,因此對于攻擊者而言,更容易把攻擊焦點集中在DNS服務上。DNS服務面臨的威脅包括:
緩存區中毒:這種攻擊是指黑客在主DNS服務器向輔DNS服務器進行區域傳輸時插入錯誤的DNS信息,一旦成功,攻擊者便可使輔DNS服務器提供錯誤的名稱到IP地址的解析信息;如果使用DNS緩存偽造信息的話,攻擊者可以改變發向合法站點的傳輸流方向,使它傳送到攻擊者控制的站點上;
拒絕服務:對某些域名服務器的大規模拒絕服務攻擊會造成互聯網速度普遍下降或停止運行;
域劫持:通過利用客戶升級自己的域注冊信息所使用的不安全機制,攻擊者可以接管域注冊過程來控制合法的域;
泄漏網絡拓樸結構:設置不當的DNS將泄漏過多的網絡拓樸結構:如果你的DNS服務器允許對任何人都進行區域傳輸的話,那么你的整個網絡架構中的主機名、主機IP列表、路由器名、路由器IP列表,甚至包括你的機器所在的位置等信息都會不知不覺的泄露出去。
為了保護DNS服務器不受攻擊,首先應當保護DNS服務器所存儲的信息,而且此信息應當由創建和設計者才能修改。部分注冊信息的登錄方式仍然采用一些比較過時的方法,如采用電子郵件的方式就可以升級DNS注冊信息,這些過時的方法需要添加安全措施,例如采用加密的口令,或者采用安全的瀏覽器平臺工具來提供管理域代碼記錄的方式;其次是正確配置區域傳輸,即只允許相互信任的DNS服務器之間才允許傳輸解析數據;還要應用防火墻配合使用,使得DNS服務器位于防火墻的保護之內,只開放相應的服務端口和協議;還有一點需要注意的是使用那些較新的DNS軟件,因為他們中有些可以支持控制訪問方式記錄DNS信息,因此域名解析服務器只對那些合法的請求作出響應。內部的請求可以不受限制的訪問區域信息,外部的請求僅能訪問那些公開的信息;最后系統管理員也可以采用分離DNS的方式,內部的系統與外部系統分別訪問不同的DNS系統,外部的計算機僅能訪問公共的記錄。
六、路由器面臨有哪些威脅,如何保護路由器的安全
路由器作為互聯網上重要的地址信息路由設備,直接暴露于網絡之中。攻擊路由器會浪費CPU周期,誤導信息流量,使網絡陷于癱瘓。路由器面臨的威脅有:
將路由器作為攻擊平臺:入侵者利用不安全的路由器作為生成對其他站點掃描或偵察的平臺;
拒絕服務:盡管路由器在設計上可以傳送大量的數據流,但是它同樣不能處理傳送給大于它傳輸能力的流量。入侵者利用這種特性攻擊連接到網絡上的路由器,而不是直接攻擊網絡上的系統,從而造成對路由器的拒絕服務攻擊;
明文傳輸配置信息:許多網絡管理員未關閉或加密Telnet會話,因此若明文傳輸的口令被截取,黑客就可以任意配置路由器。
好的路由器本身會采取一個好的安全機制來保護自己,但是僅此一點是遠遠不夠的。保護 路由器安全還需要網管員在配置和管理路由器過程中采取相應的安全措施:
限制系統物理訪問:限制系統物理訪問是確保路由器安全的最有效方法之一,即將控制臺和終端會話配置成在較短閑置時間后自動退出系統;避免將調制解調器連接至路由器的輔助端口也很重要。一旦限制了路由器的物理訪問,用戶一定要確保路由器的安全補丁是最新的。因為漏洞常常是在供應商發行補丁之前被披露,這就使得黑客搶在供應商發行補丁之前利用受影響的系統,這需要引起用戶的關注。
加強口令安全:黑客常常利用弱口令或默認口令進行攻擊。加長口令、選用30到60天的口令有效期等措施有助于防止這類漏洞。另外,一旦重要的網管員工辭職,用戶應該立即更換口令。用戶應該啟用路由器上的口令加密功能,實施合理的驗證控制以便路由器安全地傳輸數據。
應用身份驗證功能:在大多數路由器上,用戶可以配置一些加密和認證協議,如遠程驗證撥入用戶服務。驗證控制可以將用戶的驗證請求轉發給通常在后端網絡上的驗證服務器,驗證服務器還可以要求用戶使用雙因素驗證,以此加強驗證系統。
禁用不必要服務:擁有眾多路由服務是件好事,但近來許多安全事件都凸顯了禁用不需要本地服務的重要性,如禁止CDP服務;需要注意的是,禁用路由器上的CDP可能會影響路由器的性能。定時對有效操作網絡是必不可少的,即使用戶確保了部署期間時間同步,經過一段時間后,時鐘仍有可能逐漸失去同步。由此,用戶可以利用名為網絡時間協議(NTP)的服務,對照有效準確的時間源以確保網絡上的設備時針同步;不過,確保網絡設備時鐘同步的最佳方式不是通過路由器,而是在防火墻保護的網絡區段放一臺NTP服務器,將該服務器配置成僅允許向外面的可信公共時間源提出時間請求。另外,在路由器上,對于SNMP、DHCP以及WEB管理服務等,只有絕對必要的時候才可使用這些服務。
限制邏輯訪問:限制邏輯訪問主要是借助于合理處置訪問控制列表,限制遠程終端會話有助于防止黑客獲得系統邏輯訪問。其中SSH是優先的邏輯訪問方法,還可以使用終端訪問控制,以限制只能訪問可信主機。因此,用戶需要給Telnet在路由器上使用的虛擬終端端口添加一份訪問列表。
有限使用ICMP消息類型:控制消息協議(ICMP)有助于排除故障,但也為攻擊者提供了用來瀏覽網絡設備、確定本地時間戳和網絡掩碼以及對OS修正版本作出推測的信息。因此,為了防止黑客搜集上述信息,只允許以下類型的ICMP流量進入用戶網絡:主機無法到達的、端口無法到達的、源抑制的以及超出生存時間(TTL)的。此外,還應禁止ICMP流量以外的所有流量,以防止拒絕服務攻擊。
控制流量有限進入網絡:為了避免路由器成為DoS攻擊目標,用戶應該拒絕以下流量進入:沒有IP地址的包、采用本地主機地址、廣播地址、多播地址以及任何假冒的內部地址的包。雖然用戶無法杜絕DoS攻擊,但用戶可以限制DoS的危害;另外,用戶還可以采取增加SYN ACK隊列長度、縮短ACK超時等措施來保護路由器免受TCP SYN的攻擊。
安全使用SNMP/TELNET:如果用戶使用SNMP,那么一定要選擇功能強大的共用字符串,最好是使用提供消息加密功能的SNMP V3。如果不通過SNMP管理對設備進行遠程配置,用戶最好將SNMP設備配置成只讀;拒絕對這些設備進行寫操作,用戶就能防止黑客改動或關閉接口。為進一步確保安全管理,用戶可以使用SSH等加密機制,利用SSH與路由器建立加密的遠程會話;為了加強保護,用戶還應該限制SSH會話協商,只允許會話用于同用戶經常使用的幾個可信系統進行通信。
緩沖區溢出(又稱堆棧溢出)攻擊是最常用的黑客技術之一。這種攻擊之所以泛濫,是由于開放源代碼程序的本質決定的。Unix本身以及其上的許多應用程序都是用C語言編寫的,而C語言不檢查緩沖區的邊界。在某些情況下,如果用戶輸入的數據長度超過應用程序給定的緩沖區,就會覆蓋其他數據區,這就稱作”緩沖區溢出”。 一般情況下,覆蓋其他數據區的數據是沒有意義的,最多造成應用程序錯誤;但是,如果輸入的數據是經過“黑客”精心設計的,覆蓋緩沖區的數據恰恰是黑客的入侵程序代碼,黑客就獲取了程序的控制權。盡管這項攻擊的技術要求非常高,而一旦執行這項攻擊的程序被設計出來卻是非常簡單的。
由于緩沖區溢出是一個編程問題,所以他們只能通過修復被破壞的程序代碼來解決問題。從“緩沖區溢出攻擊”的原理可以看出,要防止此類攻擊,我們可以在開放程序時仔細檢查溢出情況,不允許數據溢出緩沖區。經常檢查操作系統和應用程序提供商的站點,一旦發現補丁程序就馬上下載是最好的方法。
八、防范IP欺騙攻擊
IP欺騙技術就是偽造某臺主機的IP地址的技術。通過IP地址的偽裝使得某臺主機能夠偽裝另外的一臺主機,而這臺主機往往具有某種特權或者被另外的主機所信任。假設現在有一個合法用戶(1.1.1.1)已經同服務器建立了正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP為1.1.1.1,并向服務器發送一個帶有RST位的TCP數據段。服務器接收到這樣的數據后,認為從1.1.1.1發送的連接有錯誤,就會清空緩沖區中建立好的連接。這時,如果合法用戶1.1.1.1再發送合法數據,服務器就已經沒有這樣的連接了,該用戶就必須從新開始建立連接。攻擊時,偽造大量的IP地址,向目標發送RST數據,使服務器不對合法用戶服務。
雖然IP欺騙攻擊有著相當難度,但我們應該清醒地意識到,這種攻擊非常廣泛,入侵往往由這里開始。預防這種攻擊還是比較容易的,比如刪除UNIX中所有的/etc/hosts.equiv、$HOME/.rhosts文件,修改/etc/inetd.conf文件,使得RPC機制無法應用。另外,還可以通過設置防火墻過濾來自外部而信源地址卻是內部IP的報文。
九、防范Syn Flood攻擊
SYN Food攻擊是利用特殊的程序,設置TCP的Header,向服務器端不斷地成倍發送只有SYN標志的TCP連接請求。當服務器接收的時候,都認為是沒有建立起來的連接請求,于是為這些請求建立會話,排到緩沖區隊列中。如果你的SYN請求超過了服務器能容納的限度,緩沖區隊列滿,那么服務器就不再接收新的請求了。其他合法用戶的連接都被拒絕掉。此時,服務器已經無法再提供正常的服務了,所以SYN Food攻擊是拒絕服務攻擊。
對于SYN Flood攻擊,目前尚沒有很好的監測和防御方法,不過如果系統管理員熟悉攻擊方法和系統架構,通過一系列的設定,也能從一定程度上降低被攻擊系統的負荷,減輕負面的影響。
對于WindowsNT/2000而言,它的SYN攻擊保護機制可以這樣考慮:正常情況下,OS對TCP連接的一些重要參數有一個常規的設置:SYN Timeout時間、SYN-ACK的重試次數、SYN報文從路由器到系統再到Winsock的延時等等。這個常規設置針對系統優化,可以給用戶提供方便快捷的服務;一旦服務器受到攻擊,SYN Half link 的數量超過系統中TCP活動 Half Connction最大連接數的設置,系統將會認為自己受到了SYN Flood攻擊,并將根據攻擊的判斷情況作出反應:減短SYN Timeout時間、減少SYN-ACK的重試次數、自動對緩沖區中的報文進行延時等等措施,力圖將攻擊危害減到最低。如果攻擊繼續,超過了系統允許的最大Half Connection 值,系統已經不能提供正常的服務了,為了保證系統不崩潰,可以將任何超出最大Half Connection 值范圍的SYN報文隨機丟棄,保證系統的穩定性。
十、防范Smurf攻擊
Smurf攻擊是利用Ping程序中使用的ICMP協議。攻擊者首先制造出源地址是受攻擊主機的IP地址的包;然后攻擊者將這些包發送給不知情的第三方,使它們成為幫兇;如果攻擊者發送足夠的ICMP包,回應會超過受攻主機的承受能力;因此,Smurf攻擊實際上是一種IP欺騙式的攻擊,將導致拒絕服務攻擊的結果。
十一、防范Fraggle攻擊
Fraggle攻擊與Smurf攻擊類似,只是利用UDP協議;雖然標準的端口是7,但是大多數使用Fraggle攻擊的程序允許你指定其它的端口。
最好的防止系統受到Smurf和Fraggle攻擊的方法是在防火墻上過濾掉ICMP報文,或者在服務器上禁止Ping,并且只在必要時才打開ping服務。
十二、防范Ping of Death攻擊
這種攻擊通過發送大于65536字節的ICMP包使操作系統崩潰;通常不可能發送大于65536個字節的ICMP包,但可以把報文分割成片段,然后在目標主機上重組;最終會導致被攻擊目標緩沖區溢出。
防止系統受到Ping of Death攻擊的方法與防范Smurf和Fraggle攻擊是相同得,可以在防火墻上過濾掉ICMP報文,或者在服務器上禁止Ping,并且只在必要時才打開ping服務。
十三、防范Tear Drop攻擊
Teardrop類的攻擊利用UDP包重組時重疊偏移(假設數據包中第二片IP包的偏移量小于第一片結束的位移,而且算上第二片IP包的Data,也未超過第一片的尾部,這就是重疊現象。)的漏洞對系統主機發動拒絕服務攻擊,最終導致主機菪掉;對于Windows系統會導致藍屏死機,并顯示STOP 0x0000000A錯誤。
對付這種類型得攻擊最好的方法就是要及時為操作系統打補丁了,但是Teardrop攻擊仍然會耗費處理器的資源和主機帶寬。
十四、防范拒絕服務攻擊
盡管目前沒有哪個網絡可以免受拒絕服務(DoS)攻擊,但如果采取以下幾項措施,能起到一定的預防作用。
1.確保所有服務器采用最新系統,并打上安全補丁。根據計算機緊急響應協調中心的發現,幾乎每個受到DoS攻擊的系統都沒有及時打上補丁。
2.確保管理員對所有主機進行檢查,而不僅針對關鍵主機。這是為了確保管理員知道每個主機系統在運行什么?誰在使用主機?哪些人可以訪問主機?否則,即使黑客侵犯了系統,也很難查明。
3.確保從服務器相應的目錄或文件數據庫中刪除未使用的服務,如FTP或NFS。
4.禁止內部網通過Modem連接至PSTN系統。否則,黑客能通過電話線發現未受保護的主機,立刻就能訪問極為機密的數據。
5.禁止使用網絡訪問程序如Telnet、Ftp、Rsh、Rlogin和Rcp,使用加密的訪問程序(如SSH)取代。SSH不會在網上以明文格式傳送口令,而Telnet和Rlogin則正好相反,黑客能搜尋到這些口令,從而立即訪問網絡上的重要服務器。此外,若沒有必要使用Rlogin登錄,則最好在Unix上應該將.rhost和hosts.equiv文件刪除,因為不用猜口令,這些文件就會提供登錄訪問。
6.限制在防火墻外的網絡文件共享。否則的話會使黑客有機會截獲系統文件,并以特洛伊木馬替換它,文件傳輸功能無異將陷入癱瘓。
7.確保手頭有一張最新的網絡拓撲圖。這張圖應該詳細標明TCP/IP地址、主機、路由器及其他網絡設備,還應該包括網絡邊界、安全服務器區(SSN)及內部網部分。
8.應用防火墻系統,在防火墻上運行端口映射程序或端口掃描程序。大多數事件是由于防火墻配置不當造成的,使DoS/DDoS攻擊成功率很高,所以定要認真檢查特權端口和非特權端口。
9.檢查所有網絡設備、主機和服務器系統的日志。只要日志出現漏洞或時間出現變更,幾乎可以肯定:相關的主機安全受到了危脅。
來源:巨靈鳥 歡迎分享本文
上一個文章:技術一旦被用來作惡,究竟會有多可怕(一)
下一個文章:如何有效地防治計算機病毒