計算機網絡學習筆記:第七章.網絡安全與攻防

本文是《計算機網絡》的自學課程,視頻地址爲:https://www.bilibili.com/video/av47486689。僅作我的學習使用,若有侵權,請聯繫刪除php


第七章:網絡安全

安全分類

安全有:web

  • 數據安全(對文件的訪問、儲存)
  • 應用程序安全(要確保應用程序是安全的)
  • 操做系統安全(操做系統漏洞,要定時升級、設置用戶權限)
  • 網絡安全:網絡傳輸信息時的安全
  • 物理安全
  • 用戶安全教育

本課程主要關注網絡安全算法

網絡安全問題概述

image-20191105154711460

CAIN軟件截獲信息、篡改信息

CAIN只能對本網段起做用。c#

使用的原理依然是ARP欺騙瀏覽器

DNS劫持(修改DNS解析的結果)安全

若是交換機支持監視端口的功能的話,將該設備設置爲內網的監視端口設備也能作的這樣的效果服務器

CAIN必須結合抓包工具來實現網絡

CAIN只保留帳號密碼信息分佈式

DNS欺騙:ide

image-20191105160106381
DNS經常被用來作釣魚網站

僞造

僞造身份,從而得以訪問有訪問控制的資源

例如設置網站只有特定ip才能訪問:

image-20191105160441440
直接訪問就是這樣的:

image-20191105160503461
通常冒充設備要等到原設備關機等時候,防止出現衝突、露出馬腳

這個不須要其餘軟件,直接改ip等就能夠

中斷

來源:https://baike.baidu.com/item/DoS%E6%94%BB%E5%87%BB

DoS是Denial of Service的簡稱,即拒絕服務,形成DoS的攻擊行爲被稱爲DoS攻擊,其目的是使計算機或網絡沒法提供正常的服務。最多見的DoS攻擊有計算機網絡寬帶攻擊和連通性攻擊。

DOS最多見的形式是DDoS攻擊:

分佈式拒絕服務攻擊(英文意思是Distributed Denial of Service,簡稱DDoS)是指處於不一樣位置的多個攻擊者同時向一個或數個目標發動攻擊,或者一個攻擊者控制了位於不一樣位置的多臺機器並利用這些機器對受害者同時實施攻擊。因爲攻擊的發出點是分佈在不一樣地方的,這類攻擊稱爲分佈式拒絕服務攻擊,其中的攻擊者能夠有多個。

UDP炸彈、不斷ping等等

之因此使用DDoS,是由於單個機器的流量過小,根本不足以佔滿服務的帶寬

DDoS真的是很難防止,各類方式(高防cdn等等)都要花錢,花很多錢。

肉雞一覽,這還只是一部分有漏洞的網站服務器,不包括其餘智能設備等:(注,這是2013年的教學視頻)

image-20191105161422809
使用軟件控制這些肉雞:

image-20191105161451000
先驗證資源是否依然能夠

image-20191105161530739
給肉雞下發指令

能夠調整攻擊目標、端口、時長、間隔、攻擊次數、威力等

image-20191105161625525

病毒和木馬

image-20191105161700233
木馬的全稱是「特洛伊木馬」

計算機蠕蟲主要是佔用系統資源

邏輯炸彈:據說過著名的江民反盜版邏輯炸彈嗎

加密技術

加密分爲對稱加密和非對稱加密,使用一樣的祕鑰就是對稱加密,不然是非對稱加密

加密的安全性取決於加密祕鑰而不是加密算法,經常使用的加密算法都是公開的

對稱加密

優勢:效率高

缺點:

  1. 若是須要經過網絡傳輸祕鑰,祕鑰自己容易被截獲
  2. 每個會話使用一個祕鑰,使得1對多發送時發送設備要記錄全部的祕鑰,維護量很大

數據加密標準:由IBM研製,後來美國將其官方化

image-20191105162917122
分組加密,64位祕鑰,但實際是56位起做用

可是道高一尺魔高一丈:

image-20191105163029589
破解很快23333

後來就使用128位祕鑰了

非對稱加密

加密祕鑰和解密祕鑰不同

祕鑰對:公鑰和私鑰,公鑰和私鑰不能相互推導

用法:公鑰加密、私鑰解密,或者公鑰解密、私鑰加密

公鑰和私鑰的生成:隨機數經過函數運算,一部分結果做爲公鑰,一部分結果做爲私鑰

對於公鑰解密、私鑰加密:將公鑰發給每個用戶用於加密、能夠在網上傳播,私鑰留下本身解密用

這樣,每一個人只須要保存一個私鑰就行了

缺點:加密效率低

數字簽名:應用層安全

例如合同,購買方使用私鑰對合同進行簽名,供貨商拿着有數字簽名的合同,至關於具備了法律意義,防止抵賴

數字簽名過的內容不可更改,更改後數字簽名即失效,這也是合同的基本要求之一,防止更改

例如軟件的數字簽名,就是軟件開發者爲了防止軟件被修改所設置的,防止其中被加上病毒、木馬等。因此下載到數字簽名失效的軟件要謹慎選擇是否安裝

數字簽名的實現:

對要加密的文件經過單向散列函數(只要文件有任何的變化,函數處理後的結果就會不同)進行處理,結果爲128位的一個摘要。而後經過私鑰對摘要進行加密,獲得數字簽名。最後傳輸的是文件(注意內容是不加密的)+數字簽名+公鑰。

接收方收到以後,經過相同的函數計算摘要,而後使用公鑰對數字簽名進行解密,若是兩個摘要同樣說明就沒有被更改,不然就是改了。

可是若是發送方發送的是不真實的公鑰或者發送方偷偷換了私鑰怎麼辦?這就須要一個機構來頒發公鑰和私鑰,而不是本身生成了.

CA使用本身的私鑰,對送審的公鑰和其餘一些相關的信息一塊兒加密,生成了數字證書。以後傳輸時,發送方傳輸的是文件+數字簽名+數字證書

證書頒發機構(CA)

提交材料、代表身份,發放公鑰、私鑰,祕鑰有機構簽名。接受方收到後:

  1. 向CA檢查該數字證書對是否已經失效或者掛失
  2. 先使用CA的公鑰解鎖數字證書,獲得發送方的公鑰
  3. 檢測無誤後使用公鑰來比對內容和摘要是否一致

有了CA的背書(注意這一切都是創建在CA的私鑰不能泄露的基礎上的),發送方或者第三者就沒辦法修改內容或者證書了

計算機中存儲的已經信任的證書,這就是咱們電腦保存的CA的公鑰:

image-20191105171651331
分爲當前用戶信任的證書和本地計算機信任的證書

例如https訪問就是這樣的過程,若是數字證書不是由受信任的機構頒發的,瀏覽器會發出警告:

img

CA也分層的,根CA能夠給子CA發證,子CA給用戶發證

使用服務器能夠搭建CA服務

image-20191106013056402
image-20191106013143868
Windows對CA服務器有默認的網頁配置,已經能夠完成線上申請證書的步驟了

image-20191106013213241
image-20191106013337157
image-20191106013350165
image-20191106013429876
申請的數字證書能夠用來加密郵件:

image-20191106013923993
image-20191106014133749
對郵件進行簽名

收到以後是這樣子的:

image-20191106014226771
收到的一方若是要信任該CA證書,須要下載證書鏈

image-20191106014432875
對於使用簽名傳輸的郵件,客戶端會保留聯繫人,而這個聯繫人就對應着他的公鑰:

image-20191106014548079
有了對方的公鑰後,就能夠對對方發送加密郵件了:使用對方的公鑰加密

簽名和加密是能夠一塊兒選的

對於證書,咱們還能夠導出出來,以防止電腦重裝以後加密的內容都打不開了:

image-20191106020941604
注意必定要導出私鑰,公鑰怎麼着都好辦,可是私鑰沒了就麻煩了

導出也是須要密碼的,密碼不對就沒辦法導入:

image-20191106021105028
若是私鑰丟失,要向CA報告,CA會公開。應用能夠主動選擇是否向CA檢查證書的有效性

對稱加密和非對稱加密結合

使用對稱加密對內容進行加密,使用非對稱加密來對對稱加密的祕鑰進行加密,最後傳輸加密後的內容和加密後的祕鑰,這樣就彌補了非對稱加密效率低的缺點

Internet上的安全協議

SSL(安全套接字):介於應用層和傳輸層之間

image-20191106021637059
安全套接字在應用層和傳輸層之間,對應用層的數據加密。應用層也要有解密

傳輸層安全性協議及其前身安全套接層是一種安全協議,目的是爲互聯網通訊提供安全及數據完整性保障。網景公司在1994年推出首版網頁瀏覽器-網景導航者時,推出HTTPS協議,以SSL進行加密,這是SSL的起源。IETF將SSL進行標準化,1999年公佈初版TLS標準文件。

來源:維基百科

因此HTTP是不加密的:

來源:https://www.zhihu.com/question/25119364

HTTP 協議沒法加密數據,全部通訊數據都在網絡中明文「裸奔」,這是致使數據泄露、數據篡改、流量劫持、釣魚攻擊等安全問題的重要緣由。而 HTTPS 是用來解決 HTTP 明文協議的缺陷,在 HTTP 的基礎上加入 SSL/TLS 協議,依靠 SSL 證書來驗證服務器的身份,爲客戶端和服務器端之間創建「SSL」通道,確保數據運輸安全。

有些小網站一直使用http,甚至對於註冊、登陸這樣的環節也是,安全性可謂幾乎爲0

安全套接字最好是全站使用,可是因爲開銷、速度等緣由,許多網站都只是在關鍵的地方,例如註冊、登陸、充值的時候纔會使用http

SSL加密在Web上的應用

這裏用到的就是咱們在上面講的、對稱和非對稱結合的方法,兼顧安全性和解密速度

  1. 服務器將本身的公鑰傳輸給瀏覽器
  2. 瀏覽器產生一個隨機的對稱祕鑰
  3. 使用服務器的公鑰對對稱祕鑰進行加密
  4. 服務器解密獲得對稱祕鑰
  5. 使用對稱祕鑰進行加密、解密

能夠理解爲非對稱祕鑰「護送」對稱祕鑰到服務器

https一開始訪問不會太快,由於要協商對稱祕鑰

SSL在其餘服務上的應用

image-20191106023247402
使用SSL加密後的端口發生了變化,也是爲了和不加密的服務相區分

SSL提供的三個功能

image-20191106023337770
服務器鑑別:web服務器給瀏覽器發生證書,證實本身就是瀏覽器要訪問的域名對應的服務器,防止仿站以假亂真

客戶端鑑別:和服務器鑑別原理同樣,要求客戶端出示證書

IPSec:網絡層安全

數字簽名是應用層安全,由於它須要應用程序來支持、實現。和傳輸層等其餘層沒有關係,它們只是照樣傳而已

SSL不須要應用程序的支持,可是須要對應用程序進行配置

IPSec是底層加密,在網絡層加密,對應用層、用戶來講是透明的,不影響使用體驗

來源:https://zh.wikipedia.org/wiki/IPsec

互聯網安全協議(英語:Internet Protocol Security,縮寫:IPsec)是一個協議包,透過對IP協議分組進行加密認證來保護IP協議的網絡傳輸協議族(一些相互關聯的協議的集合)。

IPsec主要由如下協議組成[1][2]:1、認證頭(AH),爲IP數據報提供無鏈接數據完整性消息認證以及防重放攻擊保護[3][4];2、封裝安全載荷(ESP),提供機密性、數據源認證、無鏈接完整性、防重放和有限的傳輸流(traffic-flow)機密性[5];3、安全關聯(SA),提供算法和數據包,提供AH、ESP操做所需的參數[6]

SA(安全關聯)

image-20191106104455187

安全關聯(SA),提供算法和數據包,提供AH、ESP操做所需的參數[6]

簽名只能保證內容不被篡改,不能保證不被窺視

若是隻簽名,用AH;若是既要簽名又要加密,用ESP

image-20191106104713919

AH

image-20191106104825643
在IP首部和TCP/UDP的報文段之間加了一個AH首部

使用AH時,IP協議號是51

ESP

image-20191106105018301
使用ESP,IP協議號是50

實戰演示

實驗要求:

image-20191106110051257
服務器端建立三個不一樣的規則,對應三臺客戶端:

image-20191106110119699
自定義安全措施:

image-20191106110236861
自定義身份驗證:

image-20191106110339566
對客戶端也要配置,雙方配置一致了才能通:

image-20191106110557831
image-20191106110630009
有多條規則都符合要求時,最佳匹配優先

ping一下試一試,第一個包是協商,以後就通了:

image-20191106110746822

數據鏈路層安全

數據鏈路層安全是指一段數據鏈路之間的傳輸安全

路由器加密、解密,每一段鏈路使用一個單獨的祕鑰

也能夠實現數據鏈路層上的身份驗證,例如PPP協議封裝時,就支持身份驗證,每一段鏈路共享一個密碼(這個密碼是手動配置的):

image-20191106111904141
其實,ADSL的撥號上網模式,也是數據鏈路層安全的體現。

防火牆

image-20191106111920927
防火牆內的網絡稱爲「可信賴的網絡」,外部的網絡稱爲「不可信賴的網絡」

image-20191106112044238
網絡層防火牆能夠檢測數據包的各個部分,可是它不能理解數據是什麼內容,若是要對數據的內容進行控制,就要使用應用級的防火牆(高級防火牆):

image-20191106113218516

企業級防火牆分類
  • 邊緣防火牆

image-20191106112617846

  • 三向外圍網

image-20191106112711242
內網不對外開放,防火牆對內網訪問外網進行控制,也對外網對DMZ(用於網站搭建)的訪問進行控制

  • 背靠背防火牆

image-20191106112841455
外網要入侵內網須要經過兩個防火牆。這裏建議兩個防火牆使用不一樣公司的產品,防止被一樣的漏洞攻破

  • 單一網卡防火牆

image-20191106113018587 在路由器上設置規則,必須通過防火牆才能上網

相關文章
相關標籤/搜索