国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

TCP/IP安全
2006-04-07   

TCP/IP協議安全

5.1 TCP/IP是Internet實現通信的核心

TCP/IP是現在Internet上使用的最流行的協議,它在70年年代早期被開發出來,并最終與BSD UNIX結合在一起,從那時起,它就成為了Internet的一個標準。今天,幾乎所有與Internet連接的計算機都運行著某種形式的TCP/IP協議。TCP/IP可以在各種不同的硬件和操作系統上工作,因而利用TCP/IP可以迅速方便地創建一個異構網絡。

但是,在Internet首先在1966年創建時,創始者遠沒有對安全問題考慮的太多。當時創建者注重的是網絡的功能,因此Internet和TCP/IP并沒有被過多的考慮安全性。所以現在的安全機制被經常修改以適應現有的網絡和TCP/IP。

與計算機網絡的層次結構有所不同,TCP/IP協議采用的層次結構,所涉及的層次包括網絡接口層、網間網層、傳輸層和應用層。每一層都實現特定的網絡功能。各層包含常用的協議。

TCP/IP與ISO/OSI模型的對應關系并不非常嚴密,其內部差別是很大的。兩種分層結構比較起來:TCP/IP力求簡單高效,例如IP層并沒有實現可靠的面向連接,而是把它交給了TCP層實現,保證了IP層的簡練性。事實上有些服務并不需要可靠的面向連接服務,如在IP層上加上可靠性控制,對有些服務來說是
一種處理能力的浪費。況且由于光纖的大量應用,網絡傳輸的可靠性大大提高。簡單高效的特點是TCP/IP在Internet上大有用武之地的重要原因,但也是TCP/IP協議安全性能較低的原因之一。而OSI模型在各層上有所重復,而且會話層和表示層不是對所有的服務都適用,無疑有些繁瑣,但對實現安全可靠的網絡協議則是有幫助的。

5.2 物理層

物理層的功能是傳輸在線纜上的電子信號。用于信號傳輸的介質的類型有多種,包括光纖,同軸電纜和雙絞線。物理層上的安全保護措施不多。如果一個潛在的黑客可以訪問物理介質,如搭線竊聽和sniffer,他將可以復制所有傳送的
信息。同時,安全管理員必須了解他們保護的網絡的所有布局。黑客最常用的攻擊和滲透到網絡中的一種方法是在公司內部主機上安裝一個packet sniffer,監聽網絡介質上的流量。局域網使用基帶傳輸,任何線纜上傳輸的數據將可被任何可以物理連接的人得到。理解你的網絡布局可以幫助阻止未知的sniffer發生。最普通的網絡拓撲結構是星型,總線型,環型,和復合型。

在物理層,唯一有效的保護是使用加密,流量添充等,所有這些技術,對于黑客來說利用Sniffer來獲得信息都是很難成功的。

IP層其作用是將數據包從源主機發送出去,并且使這些數據包獨立地到達目的主機。它并不提供任何錯誤糾正和流控制方法。在IP層定義了一個標準的包格式和協議,所有上層通信如TCP,UDP,ICMP等都被封裝在一個IP數據報中,在網絡層應用的協議在主機到主機的通信中起到了幫助作用。絕大多數安全威脅
并不來自于TCP/IP的這一層。

IP協議:IP地址是一個32位的地址,標識在網絡中主機的唯一性,IP數據包中包含一些信息和控制字段,以及32位的源IP地址和目的IP 地址。每個IP數據報文都是單獨的信息,從一個主機傳遞到另一個主機,主機把收到的IP 數據包整理成一個可使用的形式,這種開放式的構造使得IP層很容易成為黑客的目標。在這一層常見的攻擊就是IP地址沖突和欺騙。

ICMP協議:ICMP在IP層檢查錯誤和其它條件,一般的ICMP信息是非常有用的,例如,當ping一臺主機想看是否運行時,就正在產生一條ICMP信息。遠程主機將用它自已的ICMP信息對ping請求作出回應。然而ICMP信息常用于攻擊遠程網絡或主機,近來的攻擊方法如Tribal flood Network系列的程序利用ICMP來消耗帶寬來有效地摧毀站點。很久以前的ICMP攻擊microsoft的TCP/IP的例子,就是黑客從ping請求中產生一個特殊的ICMP信息包,運行早期的TCP協議版本的任何計算機都不能較好處理ICMP請求而崩潰。業界經常把這種攻擊稱為winnuck攻擊。到今天,microsoft的站點對于ping并不作出響應,因為它已過濾了所有的ICMP請求。一些公司也在防火墻上過濾ICMP流量。

5.3 網絡層

531 IP地址沖突

兩臺Internet主機的IP地址相同,就出現了IP地址沖突。有設置失誤的
情況,也有盜用的情況。盜用IP不是IP不夠用,而且有時也是為了做一些非法
的活動,例如冒充另外的主機去攻擊別人的主機。相比之下,冒充同一網段內的主機比較方便容易。Windows里修改一下IP地址設置和子網掩碼就可以了,UNIX下稍微麻煩一些,需要編程修改。

532 IP地址欺騙

黑客經常利用一種叫做IP欺騙的技術,把源IP地址替換成一個錯誤的IP地址。接收主機不能判斷源IP地址是不正確的,并且上層協議必須執行一些檢查來防止這種欺騙。在這層中經常被發現的另外一種策略是利用源路由IP數據包,僅僅被用于一個特殊的路徑中傳輸。這種利用被稱做源路由。這種數據包被用于擊破安全措施例如防火墻。

使用IP欺騙的一種攻擊很有名的一種是Smurf 攻擊。一個Smurf攻擊向大量的遠程主機發送一系列的ping請求命令。黑客把源IP地址替換成想要攻擊的目標主機的IP地址。所有的遠程計算機都響應這些ping請求,然后對目標地址進行回復而不是回復給攻擊者的IP地址。目標IP地址將被大量的ICMP包淹沒而不能有效的工作。Smurf攻擊是一種拒絕服務攻擊。

5.4 傳輸層

傳輸層的服務允許用戶按照傳輸層的數據格式分段及封裝應用層送來的數據。這一層數據流提供了端到端的傳輸服務,它在發送主機與接收主機之間構建了一個邏輯連接。傳輸層的主要有方面的功能,一是通過滑動窗口實現流量的控制;二是通過序列號及確認提供可靠性。
傳輸層包括兩個協議。第一個是TCP協議,即傳輸控制協議,是一個可靠的、面向連接的協議。它允許在Internet上兩臺主機之間信息的無差錯傳輸。TCP還進行流量控制,以避免發送過快而發生擁塞。不過這一切對用戶是透明的。第二個是UDP協議,它采用無連接的方式,不管發送的數據包是否到達目的主機,數據包是否出錯。收到數據包的主機也不會告訴發送方是否正確收到了數據,它的可靠性是由上層協議來保障的。因此UDP很少有安全上的隱患,因為主機發出一個UDP應不期望收到回復。

兩者各有優缺點。面向連接的TCP可靠,但是效率較低,通信過程中傳送了很多與數據無關的信息,降低了信道的利用率,TCP常用于一些對數據可靠性要
求較高的應用;無連接的UDP不可靠,但因為不用傳輸許多與數據本身無關的信息,所以速度快,常用于一些實時業務,也用于一些對差錯不敏感的應用。

541 TCP包頭

TCP包頭的標記區建立和中斷一個基本的TCP連接。有三個標記來完成這些過程:
SYN:同步序列號
FIN:發送端沒有更多的數據要傳輸的信號
ACK:識別數據包中的確認信息

542 TCP建立連接的過程

TCP是面向連接的協議,因此在數據傳送之前,它需要先建立連接。TCP的
數據段格式中含有序列號及確認位ACK,在TCP建立連接時,兩個主機必須保持同步,以它們各自的初始序列號(ISN)表現出來。初始序號是建立一個TCP連接時的開始號,在連接過程中交換初始序號,可以確保在以后出現問題時,能恢復丟失的數據。

同步是通過在建立連接的數據段中攜帶一個被稱為SYN控制位及一個初始序列號的段之間的交換過程來實現的,其中SYN位代表了同步,它要求每一端在發送它自已的初始序列號時,同時還要接收本次連接中對方的確認ACK,每一端也都必須接收到另一端的初始序列號及發送一個確認ACK,這一過程是有特定順序的,通常這個交換過程被稱為3次握手/建立連接。至此,A和B各自獲得了對方將來要發送的數據最小序列號。由于網絡中的序列號并沒有一個全球性的時鐘,TCP提取初始序列號可能使用的是不同的機制,所以3次握手是必須的。當接收者收到的第一個SYN是一個被遲延的舊信號時,接收者是不知道的,除非他能記住本次連接的最后一個序號,但這通常是不可能的。所以他必須要求發送者驗證這個SYN。你應該不斷檢查TCP握手,因為它經常被黑客操縱。例如有名的SYN Spoofing。

543 TCP簡單確認過程

在可靠的面向連接的數據傳輸過程中數據包必須按和它們傳送時完全相同的順序發送到接收端。如果在任何數據包丟棄、破壞或以不同順序接收、發送過
程均將失敗。因此TCP的確認辦法是使接收端對接收到的每一個數據包都發出一個確認信號。每個數據包須發送前都賦予一個編號。在接收方,TCP把分開的段重新裝配成為一個完整的報文。如果在序號系列中丟失了一個序號,那個丟失序
號的段要被重發。在給定時間間隔內,沒有得到確認的段也要被重發。
544 中斷TCP連接

因為TCP連接是全雙向的,中斷一個TCP連接需要四個步驟。全雙向意味著數據獨立的在兩個方向上流動,因此兩個連接都必須被關閉,為了正確的關閉TCP連接,任何一個主機都必須發送一個FIN(就是激活TCP包頭中的FIN標記);當一臺主機接受到一個FIN,它必須終止流動在另一個方向的數據,通過發送一個FIN到另一端的應用程序,一個會話結束大多數的應用程序將關閉兩個方向上的數據流,然而,僅僅關閉一個方向并且在半關閉的模式中進行操作是可能的。

結束一個TCP連接的四個基本步驟是:
1)服務器通過激活FIN標記執行一個Active close(客戶端經常結束應用程序,但是服務器將開始TCP連接的結束),這個行動終止了從服務器到客戶機的數據流。
2)客戶端通過發送一個ACK到服務器,執行了一個passive close。
3)客戶端也發送它自己的FIN給服務器,以終止從客戶端到服務器的數據流。
4)最后服務器發送一個ACK返回給客戶端,TCP連接被終止了,上圖展示了完整的過程。

545 用戶數據協議UDP

UDP是一個非面向連接的協議。它經常用做廣播類型的協議,如音頻和視頻數據流。它更快并更少占用帶寬,因為一個UDP連接不被持續保持。這個協議并不能保證信息的仁慈也不能重復被中斷的傳輸,但TCP可以。因此,在音頻或視
頻傳輸中,幾個數據包的丟失將不會有什么影響。

一些其它使用UDP的協議,例如TFTP,它要比FTP簡單。如果認證并不被考慮的話也是非常有用的。類似于TFTP的協議需要所有的包都到達,但這些協議僅僅需要確保在應用層上傳遞和接收。

UDP沒有所謂的窗口技術,也不用確認,應用層協議可以保證可靠性,一個UDP的報頭相對來說較小。

546 端口

一臺主機通常只有一個IP地址,但常常要提供多種TCP/IP服務。 如何分別出客戶端的請求對應哪個服務呢?通常使用端口號來標識主機上的不同服務,當與這臺主機通信時,不但要指出通信主機的IP地址,還要指明同主機上的端口,即指明是哪種服務通信。主機對各個端口進行監聽,監聽到服務請求后,發送給相應的服務處理。

端口號是一個16位的數,編號可以從1到65535。 Internet Assigned Numbers Authority(IANA)規定有1023個端口作為well-know端口。Well-know端口專門為服務器端的應用程序保留下來,一個服務器應用程序能夠使用任何未被限定的端口,及那些大行1023的端口,而不需要向IANA申請。

有的端口號對應的服務有安全缺陷,因為安全在很大程度上依賴于你控制網絡數據包的能力,必須能夠準確地確定這些數據包流向哪些計算機和程序。攻擊
者可以利用端口掃描軟件對主機的各個端口進行分析,期望找到安全漏洞。比如一個著名的缺陷是某些UNIX系統中SMTP服務對應的25號端口有可能被攻擊者利用直至攻擊成功,所以應該盡量關閉無用的端口(服務),減少安全隱患。

5.5 應用層

應用層協議直接面向用戶。TCP/IP的應用層協議是非常多的,最常見和最常用的有Telnet,FTP,SMTP和HTTP等。正是這些應用層協議將TCP/IP的優勢發揮得淋漓盡致,使Internet變得如此豐富多彩。

Telnet,也就是虛終端服務,是用得較多的一類應用層協議。

Ftp,即文件傳輸協議,提供了一個有效的途徑,將數據從一臺主機傳送到另一臺主機。文件傳輸有文本和二進制兩種模式。文本模式用來傳輸文本文件,并實現一些格式轉換。在二進制傳輸模式時,如傳輸圖像文件,壓縮文件,可執行文件時,則不進行轉換。

SMTP,即電子郵件服務,使用缺省的端口25,以電子數據的方式,是用戶快速,方便地傳送信息。

HTTP,即超文本傳輸協議,用來在WWW服務器上取得用超文本標記語言書寫
的頁面。

551 簡單郵件傳輸協議SMTP
SMTP本身有很小的風險,但黑客還是嘗試去破壞一個email服務器。通常黑客對SMTP服務器采用不同方式的攻擊,例如,可以創建一個偽造的e-mail信息直接發送到你的SMTP服務器,這條信息中可以包含一些有害的信息。SMTP另一重要的威脅是拒絕服務攻擊,黑客經常向SMTP服務器發送大量的E-mail信息使得這臺服務器不能處理合法用戶的e-mail流量。這種方法有效地導致SMTP服務器不可用,因此對合法的用戶造成了拒絕服務。

SMTP最大的風險就是發送和接收病毒和特洛伊木馬。一個典型的e-mail信息包含很少的一些基本內容:標題、接收者,以及時間和日期。E-mail信件中標題中的信息很容易被作假,信件的另一個位置是正文部分,含有標準的文本或真正的信息,較新的e-mail客戶端程序可以發送HTML格式的信息。E-mail信件中標題和正文部分都不包含可執行的代碼,因此病毒和特洛伊木馬不會出現在這兩個位置中,它們經常出現在附件中。一封電子郵件中可能含有各種類型的附件,包括病毒和木馬。最好的防范方法是購買和使用安全的SMTP服務器,另一個預防的方法是進行用戶教育。教育用戶了解病毒的木馬是如何通過SMTP傳播的以減少它們在網絡中的出現。

較新的SMTP服務器提出了一些安全特性,如反向域名查尋來確保E-mail是否來自一個真正想要發送的人。只要可能一定要使用認證機制。保護E-mail本身的內容,加密是一個關鍵。前面的課程中我們已經討論過主要加密的方法以及幾種流行的工具,包括在微軟服務器上加密方法的特性和公鑰加密如PGP。這些方法對于保證通過你的服務器發送的信息是否安全是非常有用的。
Internet蠕蟲
Internet蠕蟲是一種拒絕服務病毒,在一九八八年十一月二日開始危害了與Internet相連的主機很多天,它是一個非常重要的歷史事件,因為它告訴了安全專家有關TCP/IP應用程序的漏洞。此事件是由一個利用UNIX下的TCP/IP實施的漏洞編寫的程序產生的,這個用C語言編寫的程序大約破壞了5000臺Internet上的主機,這種病毒以幾種主要方法影響基于WEB技術開發的程序。首先,WEB程序語言如JAVA現在已經強制嚴格檢查邊界,在JAVA中想寫入超過最后512字
節是不可能的。其次,操作系統給予系統運行者對于通過網絡攻擊的過程更多的控制權限。Internet蠕蟲間接的影響堡壘主機和與互聯網連接的防火墻的體系結構。最近流行的紅色代碼也是類似的一種蠕蟲病毒,其版本2發作會自動開啟600個線程來對外掃描并傳播,并會安裝木馬,它是利用微軟Windows IIS服務器的一個安全漏洞進行攻擊和傳播,已危害全世界數十萬臺主機。
Melissa病毒
Melissa 病毒是由一個新澤西的黑客創建的,與一九八八年的Internet蠕蟲不同,Melissa病毒是利用E-mail客戶端應用程序,而不是服務器本身。這種病毒嵌入到微軟的WORD文檔中。當用戶打開此文檔時比病毒將會自身復制并傳播,這種病毒影響用戶的機器,利用E-mail客戶的應用程序自動的發送信息并包含已完全受感染的附件,并發送給用戶端的地址薄的前五十名聯系者。

E-mail和病毒掃描
Internet蠕蟲和Melissa病毒是需要進行有效E-mail掃描的最典型例子,這兩種攻擊顯示了SMTP服務器的一些漏洞。首先E-mail服務器不檢查傳送信息中的內容,其次,它們很容易的被大量的請求導致不能響應。商業反病毒程序可以創建一些安全的級別,因為它們可以在用戶激活內嵌病毒之前掃描E-mail附
件。然后這些程序只能在個人機器上使用。

網絡級E-mail掃描
在一些SMTP服務器中,有關新的安全特點是可以基于網絡級的自動掃描病毒。盡管E-mail信息本身不會攜帶病毒,但一個病毒可以通過附件進行發送。高級的SMTP服務器可以通過把Email信息放到一個臨時存放區域來掃描其是否攜帶病毒。這些服務器掃描文件,然后轉發適當的Email。經常,這種執行只需要少量的時間,但這種延遲卻是非常值得的。你還可以通過你的防火墻來掃描你的Email。然而這種掃描,不管是通過SMTP服務器還是防火墻,都在某種程度上降低了系統的性能。

訪問控制方法
當保護一個Email服務時,你要做到:
§禁止轉發非驗證用戶的信息。一些SMTP服務器默認情況下是不禁止這種轉發的
§減小Email附件的大小
§一個帳號可以接收有限的Email數量

配置SMTP驗證還是很有必要的,可以有效地防止黑客把你的SMTP服務器當作發送垃圾郵件的中轉站以至于你的SMTP服務器超負荷,下面列出有關Sendmail服務器來實現SMTP認證的步驟:
1. 首先要下載sasl庫,該函數庫提供了安全認證所需函數,下載地址是
ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/),版本3.5.21。
2. 下載sendmail(
http://www.sendmail.org),版本在8.10.0以上的
sendmail才支持SMTP認證功能。
3. 注意選擇客戶端電子郵件軟件。并不是所有的客戶端電子郵件軟件都支持SMTP認證功能,幾種常見的版本要求是這樣的:
Netscape Messenger的版本要4.6以上
Outlook和Outlook Express要5.0版本以上
Eudora pro的版本要在4.3以上
Foxmail目前還不支持這個功能。

每一種軟件的認證方法是不一樣的,編譯sasl庫的時候和配置sendmail略有不同。以最常見的Outlook Express 5.0的設置方法為例,介紹如下。

一、安裝sasl庫
1. 解壓cyrus-sasl-3.5.23.tar.gz到你選定的目錄

2. cd cyrus-sasl-3.5.21

3. ./configure-enable-login-with-pwcheck

Outlook Expresss使用LOGIN的認證方法,sasl 庫缺省并不支持這種方式,所以要在生成配置文件的特別加入,另外,Outlook的口令驗證方式也不是缺省的方式,所以也需要加入-with-pwcheck的選項。
下面就可以編譯和安裝sasl庫了。
Make
Make install
4. 缺省情況下,所有的庫函數安裝到/usr/local/lib目錄下,但sendmail使用的庫函數是在目錄/usr/lib下的,所以需要做一些調整。
Cd/usr/lib
In/usr/local/lib/sasl/./sasl-s
Cp/usr/local/lib/libsa*.
也可以避開這一步,在第3步時候運行configure腳本前,修改其中的缺省路徑就可以了。打開configure文件找到這一行ac_default_prefix=/usr/local(在文件前幾行),改為ac_default_prefix=/usr就可以了,這樣更方便一些。

5. 新建目錄/var/pwcheck, 供pwcheck命令使用,該命令是一個后臺程序,負責檢查用戶的輸入口令,以root權限件使用shadow口令文件。

6. 在/usr/lib/sasl目錄下建立文件Sendmail.conf,加入如下一行
pwcheck_method: pwcheck
這樣sasl庫函數的安裝就完成了。

二、編譯和配置sendmail

1. 解壓sendmail軟件到你希望的目錄,進入sendmail-8.10.2目錄。
在devtools/Site/目錄下創建config.site.m4文件,加入如下兩行文字,把SMTP認證功能編譯到sendmail中。
APPENDDEF(confENVDEF’, ‘-DSASL’)
APPENDDEF(‘conf_sendmail_LIBS’, ‘-lsasl’)

2. 回到sendmail-8.10.2目錄,再進入sendmail目錄,開始編譯sendmail。
./Build –c(如果不是第一次編譯,需要加入-c選項,清除以前的配置)
編譯成功后,運行./Build install安裝軟件。

3. 下一步需要改寫Sendmail的配置文件。回到上一級目錄,再進入cf/cf目錄,找到合適的.mc文件(具體做法參見其他文章,這些不在本文討論范圍中)。按照你的要求適當修改,加入如下幾行:
TRUST_AUTH_MECH(‘LOGIN PLAIN DIGEST-MD5’)
Define (‘confAUTH_MECHANISMS’, ‘LOGIN PLAIN DIGEST-MD5’)
Dnl define (‘confDEF_AUTH_INFO’, ‘/etc/mail/auth/auth-info’)
FEATURE (‘no_default_msa’)
DAEMON_OPTIONS (‘Port=25, Name=MSA, M=E’a)
說明:“TRUST_AUTH_MECH”的作用是使sendmail不管access文件中如何設置,都能relay那些通過LOGIN,PLAIN或DIGEST-MD5方式驗證的郵件。
“confAUTH_MECHANISMS”的作用是確定系統的認證方式。
“confDEF_AUTH_INFO”的作用是當你的計算機作為客戶機時,向另外一臺有smtp認證功能的主機進行認證,用戶和密碼存放在auth-info文件中,在這個例子中并不需要這個功能,所以注釋掉了。

4. 編譯生成/etc/mail/sendmail.cf文件
m4 xxxx.mc>/etc/mail/sendmail.cf,不過記住一定要備份舊的sendmail.cf文件,否則就可能麻煩了。

5. 現在基本上可以了,啟動sendmail來進行測試。
sendmail-bd-q20m
運行下面命令:
telnet localhost 25
ehlo localhost
注意有沒有以下的信息出現:
250-XXXXXXXX
250-XXXXXXX
250-AUTH LOGIN PLAIN DIGEST-MD5
250-XXXXXX

可能會略有不同,不過你選定的認證方式一定要有的。如果顯示沒有問題,則表明服務器端的配置已經成功了。如果沒有出現上面的信息,請運行sendmail –0 loglevel=14 –bs,仔細檢查問題所在。在結束服務器端的配置之前,還要做一件事,運行pwcheck這個daemon程序,這樣才能完成用戶認證功能。

三、Outlook Express 5.0的配置

1. 打開你的Outlook Express,修改你的賬號屬性,在服務器選項,選取我的smtp服務器需要認證選項,然后進入配置。

2. 不要選取安全口令認證,sendmail并不支持這個選項。是選取使用pop3同樣的口令還是選擇另外輸入用戶和密碼。如果你在服務器上有一個真實賬號,不妨選取使用同樣的口令,如果沒有賬號,選用其他的用戶口令同樣可以。到此
SMTP認證的功能已經實現了。

552 超文本傳輸協議HTTP和文件傳輸協議FTP
FTP用來建立TCP/IP連接后發送和接收文件。FTP由服務器和客戶端組成,幾乎每一個TCP/IP主機都有內置的FTP客戶端,并且大多數的服務器都有一個FTP服務器程序。FTP用兩個端口通信利用21端口來控制連接的建立,控制連接端口在整個FTP會話中保持開放,用來在客戶端和服務器之間發送控制信息和客戶端命令。數據連接建立使用一個短暫的臨時端口。在客戶端和服務器之間傳輸一個文件時每次都建立一個數據連接。

黑客很少直接使用FTP。因為它僅用于發送和接收文件,因些很難破壞,然而,黑客所做的是間接地破壞FTP服務器。FTP服務器可能不需要對客戶端進行認證,當需要認證時,所有的用戶名和密碼都是以明文傳輸的。一種常見的破壞就是尋找通話匿名連接并且有寫權限的FTP服務器,然后黑客上傳不正確的信息以塞滿整個硬盤空間,如果FTP服務器在含有操作系統的硬盤上,如果硬盤被錯誤信息塞滿,這種負載將會導致操作系統不會正常運行。同樣,如果硬盤被塞滿,使日志文件沒有空間再記錄其它事件,這樣黑客企圖進行操作系統或鞭它服務而不被日志所檢查到。

另外一種對于FTP服務器的破壞是把一些盜版軟件拷貝到服務器 ,然后把FTP服務器通知給其它黑客并上載或下載,在任何服務器上并沒有直接目的的攻擊,因為所以的活動看上去都是合法的,然而,他們已經把這個FTP服務器作為一個存儲服務器來達到他們的非法活動的目的。
HTTP是互聯網上最廣泛的協議,互聯網上大概有一半的流量是HTTP。HTTP使用80端口來控制連接和一個臨時端口傳輸數據,HTTP有兩種明顯的安全問題,它們是客戶端瀏覽程序和HTTP服務器外部應用程序,HTTP客戶端使用瀏覽器訪問和接收從服務器端返回的WEB頁面。瀏覽器應用程序用于格式化不同類型的內容。如下載電影則需要客戶端加載一個類似Windows Media Player或Real Audio Player這樣的程序。對于HTTP用戶的另一個問題是下載有破壞性的ActiveX控件或Java Applets。這些程序在用戶的計算機上執行并含有某種類型的代碼,包括病毒和特洛伊木馬。 對于這種破壞的最佳保護方法是教育你的用戶,這些程序是干什么用的并警告他們不要下載未檢驗過的應用程序。

HTTP服務器也須小心保護,HTTP服務器在很多基礎上類似FTP服務器。為了擴大和擴展WEB服務器的功能,一些擴展應用程序如JAVA,CGI,ASP等,這些程序都有一些安全漏洞,一旦WEB服務器開始執行代碼,那么它有可能遭到破壞,這些程序有兩種方法來破壞WEB服務器,第一,通過修改當前HTTP服務器的程序如何執行;第二,在HTTP服務器上放置一個特洛伊木馬。

553 TelnetSNMP

遠程登錄telnet

Telnet是用于遠程訪問并可用來管理計算機的,Windows NT默認安裝是提供Telnet服務器的,因為第三方的服務可以很容易地加進去。Telnet在遠程用戶登錄時是以明文方式發送所有的用戶名和密碼的。有經驗的黑客可以劫持一個Telnet會話。使用Telnet的另一個安全問題是什么時候使用這個協議。Telnet
應該在檢查整個連接到你的網絡上的客戶端和服務器時才使用。因此不應該應用于互聯網上。同時還應該在防火墻上過濾掉所有的Telnet流量。有一系列的程序功能類似:它們被稱為r系列,包括rsh 和rlogin。當使用r系列的程序時要考慮和Telnet相同的安全問題。

簡單網絡管理協議(SNMP)

SNMP允許管理員檢查狀態并且有時修改SNMP節點的配置。它使用兩個組件,即SNMP管理者和SNMP節點。管理者收集所有由SNMP節點發送的trap,并且直接從這些節點查詢信息,SNMP通過UDP的161和162端口傳遞所有的信息。SNMP所提供的唯一認證就是community name,一個community name就是由SNMP來驗證節點的術語,如果管理者與節點有相同的community name,將允許所有SNMP查尋,如果一個黑客危及到community name,他將能夠查詢和修改網絡上所有使用SNMP的節點。另一個安全問題是所有的信息都是以明文傳輸的。一個黑客用SNMP管理器連接到網絡中的任何位置上都可以得到這些信息,包括community name。SNMP不應該應用于公網上,尤其是互聯網上。SNMP是公司私有網絡中可用的網絡管理解決方案,但是所有SNMP流量應有防火墻中過濾掉。

554 域名系統DNS

DNS在解析DNS請求時使用UDP的53端口,但是,在進行區域傳輸時使用TCP的53端口,一次區域傳輸是以下面兩種情況完成的:

•一個客戶端利用nslookup命令向DNS服務器請求進行區域傳輸;
•當一個從屬域名服務器向主服務器請求得到一個區域文件。

黑客可以攻擊一個DNS服務器并得到它的區域文件,這種攻擊的結果是黑客可以知道這個區域中所有系統的IP地址和計算機名。

如何保護DNS服務器,首先把這個服務器放在防火墻后面,然后配置防火墻阻止所有的區域傳輸,第二可配置你的系統只接受特定主機的區域傳輸。

5.6 常見的協議層攻擊類型

了解常見的幾種攻擊方式及原理,增強網絡安全意識以避免受到攻擊,是作為安全人員應該遵循的一些規則。以下就介紹幾種常見的攻擊方式:

SYN flood攻擊:這種拒絕攻擊利用了TCP建立連接時三方握手的弱點,攻擊者可以建立很多半開連接。在這個過程中,當服務器要跟攻擊者建立連接時,攻擊者卻終止了連接。攻擊者再建立其它的連接然后再終止,直到目標服務器找開成百上千的半開連接。這種攻擊方式是最常見的攻擊WEB服務器的攻擊手段。

Smurf 和 Fraggle攻擊:Smurf攻擊是利用Ping程序中使用的ICMP協議。攻擊者首先制造出源地址是受攻擊主機的IP地址的包。下一步,攻擊者將這些包發送給不知情的第三方,使它們成為幫兇。如果攻擊者發送足夠多的ICMP包,回應會超過受攻主機的承受能力。實際上Smurf攻擊是一種IP欺騙,將導致拒絕攻擊的結果。Fraggle攻擊與Smurf攻擊類似,只是利用UDP協議。雖然標準的端口是7,但是大多數使用此類攻擊的程序允許指定其它的端口。最好的防止受
到Smurf和Fraggle攻擊的方法是在防火墻上過濾掉ICMP報文,或者在服務器上禁止Ping命令。

Smurf,Fraggle和廣播地址:廣播地址是指主機地址都為255的地址,有些路由器回應廣播IP地址。廣播地址可以被合法地用于排錯工具,你可以向整個子網發送ping包看哪些地址回應。當然,如果這些地址被smurf和fraggle攻擊所利用,一個廣播地址會有上百臺主機參與攻擊。因此應注意,在路由器上禁止網絡中的直接廣播地址。

Teardrop/Teardrop2:此類攻擊是利用UDP包重組時重疊偏移的漏洞,例如,sendmail使用ident服務來驗證用戶訪問服務的嘗試。Linux和Windows NT以及95/98更容易遭受這些攻擊。Teardrop是一種拒絕服務攻擊,會導致藍屏死機,并顯示STOP 0x0000000A錯誤。雖然大多數操作系統打了這種攻擊的補丁,但Teardrop仍然會耗費處理器的資源和主機帶寬。Teardrop 和Teardrop2的關鍵區別是后者使用20個字節的數據填充,而且欺騙了包的長度,允許新的攻擊者繞過特定的服務補丁。

Ping to death:這種攻擊通過發送大于65535字節的ICMP包使用操作系統崩潰,
通常不可能發送大地65535個字節的ICMP民,但可以把報文分割成片段,然后在目標主機上重組,最終導致被攻擊目標緩沖區溢出。

Land attack:這種攻擊是指攻擊者發送IP和端口相同的包,導致被攻擊目標由于系統崩潰或性能下降而拒絕服務。
5.7 資源和服務

每個服務都是單獨運行的。作為一個安全專家,你必須設計出一種方法使這種獨立為你工作,而不是和你做對的。每個單獨的服務可能會產生一些問題,因為一旦一個黑客危及到你的系統,可以利用這個服務來攻擊另外一個服務。但是你可以使你的服務和操作系統按下面所建議的方法來工作。

保護服務
你可以通過調整不同的權限、服務和技術來保護服務。你還要改變系統的默認值以及刪除不必要的服務。

保護配置文件
配置文件可能會成為黑客進一步確定網絡內主機情況的工具,還可以進一步確定穿過主機的流量。Packet sniffer可用于捕獲配置文件的詳細信息。當一塊網卡被設置成混雜模式時,黑客可以開始破壞這個網絡。對于這種活動可以用不同的有效方法阻止。

協同使用不同的方案和技術
在安全資源里最重要的一個概念就是要協同使用方案和技術,如果一個黑客攻破了一種方案那么還會有另一種來抵抗。還要考慮像HTTP,Telnet, FTP這些服務。每種系統都有它們自己的漏洞,一定要逐個地保護,這些要求包括改變默認的設置。要按照服務安全策略來定義操作系統的策略。你的系統不要僅依靠安全因素的某一條(如認證,加密,或審計)。舉個例子,不要僅依賴于認證的方法,你可以再加上加密和審計的手段來使用你的系統更安全一些。
通過改變默認設置來保護服務
任何有經驗的黑客都知道一些流行服務、server或計算機的默認設置。因此,你要盡可能地改變這些默認設置。
刪除不必要的服務
通常刪除不必要的服務會更安全些。很多公司都忽略了這種簡單的解決辦法,而無意識地為黑客留下了后門。例如,如果你使用Windows NT上的IIS,那么就不要讓service這個服務運行。如果不這么做會引起沒必要的風險。簡單地說如運行在系統上的OS/2子系統就是不必要的,因為它產生了一個安全突破口。所以你一定要小心對待這些多余的服務。進一步說就是不要運行它們,因為很多黑客查找這些多余的服務。

熱詞搜索:

上一篇:DHCP的工作原理
下一篇:網絡安全概述

分享到: 收藏
主站蜘蛛池模板: 惠来县| 磐安县| 泸州市| 定边县| 牟定县| 保康县| 天柱县| 靖西县| 迁西县| 永城市| 广宁县| 通山县| 噶尔县| 雷山县| 胶南市| 教育| 台北县| 长白| 牡丹江市| 嘉荫县| 武山县| 永修县| 双鸭山市| 滁州市| 关岭| 成安县| 敖汉旗| 郁南县| 三台县| 黑水县| 化德县| 革吉县| 林州市| 德安县| 锦屏县| 五寨县| 汝南县| 七台河市| 酒泉市| 乌苏市| 泽州县|