網路安全概論王振生彙編電腦網路簡介‣今日的世界,電腦網路與生活密不可分。電腦網路可以由兩台電腦連線組成,也可以由上千台電腦組成。我們通常稱辦公區域電腦組成的網路為『區域網路』(LocalAreaNetwork,LAN);由區域網路再延伸出去組成範圍更大的網路,比如整個城市甚至整個國家,這樣的網路稱為『廣域網路』(WideAreaNetwork,WAN)。‣電腦網路(ComputerNetwork)表示許多電腦之間連接形成通路,建立資料傳輸的通道。而各個獨立的小網路再互相連接形成大網路(internetnetwork),簡稱『internet』。第一個字母用小寫表示互連的網路,用大寫的『Internet』表示現行的網際網路。電腦網路可看成將分散於各地的電腦主機(Hosts)相互連接,彼此間可以互傳訊息或共享資源的網路架構。‣‣Internet是全球性電腦網路,連接全球網路,形成一個大網路,包含無數的電腦組成之WAN與LAN。而(WorldWideWeb或簡稱Web)是Internet的一種應用,可提供圖形化(GraphicUserInterface,GUI)、容易瀏覽的介面。Web可以用網頁互相連結,簡易將文字、圖像、動畫、聲音等所有的物件連結。‣企業組織獨立的一個網路架構稱為企業內網路(Intranet),Intranet是相對於Internet產生的概念。Intranet是指Internet網際網路無法存取的網路段,通常安裝在企業或組織內部,使用Internet通訊標準,在企業內使用防火牆及網路位址轉換(NetworkAddressTranslation,NAT)與Internet連接。如下頁圖。‣相反地,不同企業組織間為了架構一個獨立於Internet之外的網路,以讓彼此間的商業行為能安全進行,此種網路稱為企業間網路(Extranet)企業內網路(Intranet)網際網路(Internet)伺服器伺服器電腦電腦電腦防火牆企業內網路(Intranet)企業內網路架構圖‣電腦網路中,電腦之間的互通協定非常複雜,藉由抽象的階層概念,可使系統發展變得簡易。為提供良好的互通性,構成網路分層的抽象層稱為協定『Protocol』,是電腦之間彼此交換資訊的規定。電腦網路必須提供互通的協定,其協定要符合效益、合宜與穩定,為了處理協定的複雜工作,發展出基本設計的建構稱為『網路協定架構』。‣主要的網路協定架構有兩種,一種是OSI協定架構(或稱為OSI架構),另一種是DoD協定架構(網際網路協定架構)。OSI協定架構除了少數特殊系統使用之外,網際網路協定架構已被廣泛使用。網路協定(NetworkProtocol)‣國際標準組織(InternationalOrganizationforStandardization,ISO)是第一個正式定義方法以連接電腦之組織,該組織所提出的架構,稱為開放系統連接(OpenSystemInterconnection,OSI)協定架構。OSI協定架構將網路協定依功能分為七個層次,如下頁圖所示。國際電信團體ITU(InternationalTelecommunicationUnion,ITU)依據此模式,制定一系列協定規格,此系列被稱為『Xdot』系列,如X.25、X.400、或X.500等。OSI協定架構應用層展現層會議層傳輸層網路層資料鏈結層實體層OSI協定架構圖‣實體層(PhysicalLayer):處理通訊連結位元傳輸‣資料鏈結層(DataLinkLayer):將資料收集起來,成為一個資料框(Frame),網路卡將通訊連結位元組合成資料框,上送至主機‣網路層(NetworkLayer):提供定址及路由功能,處理資料稱為封包(Packet)。‣傳輸層(TransportLayer):建構程序間之通道,通常在終端機執行,不是在路由器或交換器,此層的資料單元稱為訊息(Message)OSI協定架構‣會議層(SessionLayer):提供一個名稱以結合屬於相同的應用程式,但可能不屬於同一資料流,如視訊傳輸中,影像與聲音資料流‣展現層(PresentationLayer):負責同層協定資料交換格式‣應用層(ApplicationLayer):定義應用程式間相互運作之協定;如FTP傳輸協定,定義檔案傳輸的各項命令之執行協定。OSI協定架構‣分為四層,強調以TCP/IP為主的網路架構。‣鏈結層(LinkLayer):其協定由硬體或驅動程式軟體組成‣網路層(NetworkLayer)或IP層(InternetProtocolLayer):提供定址及路由功能‣傳輸層(TransportLayer):包含兩個主要協定,TCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol);TCP與UDP提供兩個網路邏輯通道,TCP提供可靠位元組資料流通道,UDP提供非可靠位元組資料通道‣應用層(ApplicationLayer):執行應用程協定,如FTP、Telnet、Http、SMTP(SimpleMailTransferProtocol),使應用程式可以互相溝通DoD協定架構鏈結層網路層TCPUDP應用層DoD協定架構圖網路IP定址‣網路連接層是建構網路之基礎,定義網路上每一節點都有一個IP位址(InternetAddress),是一種在Internet上給主機定址的方式,常見的主機定址方式是IPv4定址模式,IPv4意義為IPversion4。近年來,因為網際網路蓬勃發展,新規範IPv6定址模式以因應網路定址資源之不足。‣在IPv4中,規範節點的IP位址由32個位元組成,在理論上可以提供42億個IP位址。但由於早期編碼上的問題,許多位址實際上不能使用,加上網際網路的快速發展,許多專家擔心IP位址不夠用,所以在IPv6新版本定址方式,採用128位元的定址方式。在IPv4中,32個位元的IP位址,在書寫表達上,使用四個十進位數字,以小數點分開書寫;換言之,使用XXX.XXX.XXX.XXX的形式表示,每個XXX代表小於或等於255的十進位數字,例如172.87.23.101。172.87.23.10010101100.01010111.00010111.01100100IPv4位址傳輸層網路協定‣傳輸層的協定能夠協助解決諸如:資料是否已經到達目的地、資料是否按照正確的順序到達,等可靠性問題。在TCP/IP協定組合中,傳輸協定也包括所給資料應該送給那個應用程序。連接埠管理、流量控制、錯誤處理、與資料重送皆是傳輸層的工作項目。傳輸層的兩個主要協定為TCP與UDP,在協定組合一般表示為TCP/IP或UDP/IP。TCP/IP協定為現今網際網路的基礎。UDP協定‣UDP(UserDatagramProtocol)是一個相當簡單的協定,僅提供連接埠(Port)處理的功能。UDP表頭記錄封包來源端與目的端的連接埠資訊,讓封包能夠正確地送達目的端的應用程式。‣UDP是以非連線式(Non-connectionOrientedorConnectionless)來傳送封包,傳送者將資料封裝,傳出至目的端之前,不必與對方連線,即可將資料送出,所以送出端無法確知目的端是否收到資料。使用UDP協定的主要原因是節省電腦資源,例如:在網域名稱系統DNS。透過DNS系統,我們可以由一部機器的DomainName查詢其IP位址,反之也可以由機器的IP位址,查詢它的DomainName。DNS伺服器要處理來自用戶端的大量詢問,若是使用TCP協定將會耗費許多電腦資源,因此使用資源需求較低的UDP協定。‣TCP為傳輸層的協定,除了連接埠的功能外,更重要的是TCP提供了一種『可靠』的傳送機制,當TCP來源端在傳送資料時,透過與目的端的相互溝通,可以確認目的端已經收到所傳送的資料。所以TCP為一種連線導向式(ConnectionOriented)的通訊協定,先建立連線才開始傳遞封包,並採用三向交握(Three-wayHandshaking)式建立連線。由使用者端送出SYN信號,伺服器接收訊號後,回應SYN/ACK信號,接著使用者在送出ACK信號,才開始傳送資料。TCP協定‣網路上每一部電腦至少有一個IP位址,但很多不同種類的訊息會送到此部電腦來,因此需要辨識訊息服務的種類,以分派給適當的服務程式去處理。TCP與UDP就是利用辨識碼,即『連接埠』,作為辨識。每一種服務有一個指定的連接埠,以服務相對的協定;如果一部電腦同時提供網站(Web)服務與FTP檔案服務,傳送至該電腦的TCP/IP訊息就有連接埠,Web(HTTP)服務的連接埠是80,FTP檔案服務的連接埠是20與21。連接埠(Port)‣複雜的網路環境中,可能會有線路斷線、設備失效、負載過高等問題,需要有一套機制來偵測或通知可能發生的各式各樣的狀況,這就是ICMP協定的目的。網路指令中的Ping與Traceroute這兩個工具,其底層是ICMP協定。ICMP與IP雖然是屬同層的網路協定,但在使用上,其傳送封包需要使用網路IP。伺服器電腦echo-requestICMP封包echo-replyICMP封包ICMP協定Ping與Tracert指令的使用TCP/IP應用程式介面‣網路協定架構是建構電腦網路的基礎,今日的網際網路已連接全世界將近三千萬台的電腦,使用人口超過十億人。各種網路應用程式是透過網路應用程式介面(ApplicationInterface,API)與底層網路協定溝通。應用程式介面使用一個抽象的概念稱為『插槽』(Socket),插槽是應用程式連接到網路上的一個入口點,透過插槽可以到網路上收送訊息。插槽透過應用程式介面(API),是應用程式與網路之間的聯繫口,並提供標準的函式以符合不同的網路規格。什麼是防火牆‣防火牆是一種用來控制網路存取的設備,並阻絕所有不允許放行的流量。‣防火牆通常是由一組軟硬體所組成,基本上是由一台主機,包含作業系統及安裝防火牆應用軟體而構成,通常建置於網際網路與內部網路之間,作為內部與外部溝通與管制的橋樑。‣防火牆的原理,就是利用預先設定或動態學習的規則,對遠端連接的封包進行檢查,符合規則的就允許通過,否則便進行阻止。防火牆的類型‣防火牆基本上可以分為『應用層防火牆(applicationlayer)』或稱『網路服務代理型(proxy)防火牆』和『封包過濾型防火牆(packetfiltering)』兩種。這兩種防火牆各自提供不同的功能,如果能妥善設定相關組態設定,都可以達到阻斷不符合安全需求的不正常流量。防火牆的限制‣無法防範全新的攻擊模式‣無法防範病毒‣無法管理不經過防火牆的連線‣無法防止防火牆自己內部的不法行為防火牆的組成架構分類‣硬體防火牆–量身定制的硬體(ASIC)–量身設計的作業系統–例如:Netscreen(screenos)‣軟體防火牆–通用架構的PC硬體–Unix或是windows系列的通用作業系統–例如:Checkpoint(unix,windows)‣運作平台–提供最佳化過的硬體平台(模組化設計)–運作專屬的作業系統–例如:Crossbeam(X-SeriesOperatingSystem(XOS)軟硬體防火牆的差異‣硬體防火牆–強調高效能,實用性,處理速度–內部實際上也是靠軟體在運作‣軟體防火牆–設定較為彈性,可自行微調,近代作業系統多有內建各自的軟體防火牆。防火牆的歷史(技術)發展依類型分類:•封包過濾型防火牆packetfilter•網路服務代理型防火牆proxy(gateway)依發展時間分類:•封包過濾packetfilter•電路層代理circuit-levelproxy•應用層代理application-layerproxy•動態封包過濾dynamic(stateful)packetfilter•狀態檢測statefulinspection封包過濾式(第一代)‣針對IP封包的表頭欄位與管理者制定的規則進行過濾封包過濾式使用的標頭資訊‣來源IP位址‣目的地IP位址‣來源連接埠‣目