本書基于多所重點高校網絡安全的多年教學實踐編著而成。針對網絡安全實踐性強的特點,作者為網絡安全重要知識點的教學設計了一系列配套實驗,并且都部署在網絡安全在線實驗平臺http://seclab.online上,使用本書的讀者可以通過在線的安全實驗加深相關知識點的理解,增強動手能力。本書從常用的網絡安全分析工具開始,涵蓋局域網安全、傳輸層協(xié)議安全、域名系統(tǒng)(DNS)安全、Web系統(tǒng)安全、電子郵件系統(tǒng)安全、防火墻技術、虛擬私有網絡()技術、網絡入侵檢測系統(tǒng)等內容,每部分內容在實驗平臺上都有相應的實驗。使用本書的讀者不必費時費力地搭建實驗環(huán)境,可直接使用在線平臺上已部署的實驗環(huán)境進行操作,將精力聚焦在網絡安全相關知識點的學習和思考上,進而加深對網絡安全知識和技能的理解,增強網絡攻防實戰(zhàn)技能。使用本書的教師也可以在實驗平臺上方便地設計自己的在線實驗,并與其他教師共享。本書可作為網絡空間安全、信息安全、密碼科學與技術、計算機科學與技術、保密管理等相關專業(yè)的本科生或研究生教材,也可作為網絡與信息安全領域從業(yè)人員自學的參考書。
本書為戰(zhàn)略性新興領域“十四五”高等教育教材體系建設團隊——新一代信息技術(網絡空間安全)建設項目。本書注重網絡攻防實戰(zhàn)式實操,真正的落地技能。本書旨在為網絡安全專業(yè)教育提供實戰(zhàn)性的實驗設計和內容。學生通過練習本書所提供的實驗,可以更好地掌握網絡安全理論知識,提升對網絡安全學科的學習興趣,提高網絡攻防技能;教師基于本書所提供的實驗,可以組織開展網絡安全實驗教學,提高學生的培養(yǎng)質量,也可將本書每章提供的高階實驗作為網絡攻防競賽的基礎訓練題目。通過本書學習,讀者將獲得防御網絡攻擊、加固網絡安全的實戰(zhàn)技能。收獲在實際生活和工作中使用所學來保護個人、組織及單位網絡安全的信心和能力。
前言
本書的作者主要是來自清華大學、山東大學和中山大學網絡安全方向的教師,在計算機網絡安全領域長期承擔著教學與科研任務。在多年的教學實踐中,我們有一個共識:計算機網絡安全是一門實踐性強的學科,在明晰網絡安全技術原理的同時,通過動手實驗加深對網絡安全理論與技術的理解、增強實踐能力,對于網絡安全的教學至關重要。然而,目前適合高校網絡安全專業(yè)實踐教學的教材相對較少。這是因為網絡安全實驗往往涉及多臺機器組成的較為復雜的網絡拓撲結構、依賴特定版本的軟件以及預設漏洞的軟件系統(tǒng)等,任課教師常年維護這樣的教學實驗平臺并不容易。同時,對學生來說,常常為搭建復雜的實驗環(huán)境投入了大量時間和精力,難以聚焦在網絡安全知識點本身的理解和思考上。
于是,本書作者基于各自教學工作的需要,幾年前便開始共享課程的內容和某些實驗的設計。在此基礎上,萌生了編寫網絡安全實踐教材、建設共享實驗平臺的想法。我們不僅希望共享網絡安全教學的內容,還希望通過一個開放的協(xié)作式實驗平臺在高校教師社區(qū)中共享所設計的實驗。我們也希望通過虛擬化技術為廣大師生提供一個在線的虛擬實驗環(huán)境和相應的算力資源,這將省去學生為搭建實驗環(huán)境所耗費的資源和精力。在安全企業(yè)奇安信集團的支持下,本書和相應的網絡安全在線實驗平臺SecLab(https://seclab.online)把我們的設想變成了現實。
本書的內容是在清華大學、山東大學、中山大學教師多年教學實踐的基礎上凝練而成的,書中所設計的安全實驗均已經部署在SecLab平臺上,供廣大教師、學生和讀者進行實操。本書每章的內容均獨立成體系:前半部分主要介紹網絡安全知識點及其技術原理,后半部分包含多個完整的實驗設計,介紹實驗目的、實驗內容和關鍵的實驗步驟。每章最后提供了若干思考題及關鍵參考文獻,便于讀者對章節(jié)內容進一步延伸學習。本書共11章,內容概述如下:
第1章介紹本書的計算機網絡基礎知識及常用的網絡安全分析工具,包括TCP/IP的基本概念、常見網絡服務及網絡設備的工作原理、tcpdump、Wireshark和 Scapy等分析工具,為后續(xù)章節(jié)的學習與實踐奠定基礎。
第2章介紹局域網安全相關的基礎協(xié)議及其工作原理,同時介紹局域網中常見的攻擊手段。內容涵蓋以太網工作原理、地址解析協(xié)議(ARP)和動態(tài)主機配置協(xié)議(DHCP)工作機制,以及ARP欺騙、DHCP劫持和拒絕服務等攻擊。
第3章介紹傳輸層協(xié)議TCP和UDP的安全問題及常見攻擊,包括端口掃描、TCP洪泛攻擊(SYN Flood)、TCP序列號預測攻擊、UDP反射放大等攻擊。
第4章介紹互聯網域名系統(tǒng)(DNS)的工作原理、常見攻擊手段及防范措施,包括DNS劫持、DNS緩存污染、反射放大等攻擊。
第5章介紹Web應用系統(tǒng)安全,包括Web系統(tǒng)的核心協(xié)議HTTP,瀏覽器相關的CSS、JavaScript、插件等技術,Web服務器相關的持續(xù)對話、分段傳輸、緩存、認證等技術,Web系統(tǒng)面臨的主要威脅,Web系統(tǒng)中常見的安全防范機制、如瀏覽器的沙箱、同源策略(SOP)和Cookie等,以及Web系統(tǒng)的常見攻擊,如SQL注入、跨站腳本(XSS)、跨站請求偽造(CSRF)等。
第6章介紹傳輸層安全(TLS)協(xié)議及內容分發(fā)網絡(CDN)的工作原理。TLS協(xié)議依賴公鑰基礎設施實現對數據的加密傳輸,CDN已被業(yè)界廣泛采納,并被視為對抗大規(guī)模分布式拒絕服務攻擊的防范措施。
第7章探討電子郵件系統(tǒng)的安全性,包括電子郵件的基本工作原理、郵件發(fā)信人身份偽造攻擊。在此基礎上,介紹了郵件安全當前主流的防范措施,如發(fā)信人策略框架(SPF)、基于數字簽名的域名密鑰識別郵件(DKIM)機制、基于域的消息驗證、報告和一致性(DMARC)等。
第8章介紹防火墻技術,包括包過濾防火墻、狀態(tài)檢測防火墻和應用層防火墻等防火墻常見類型、常見的Linux系統(tǒng)內置的防火墻Netfilter的實現機制,以及iptables規(guī)則等。讀者在本章將會學習如何設計防火墻的訪問控制策略。
第9章介紹遠程接入或異地辦公必需的虛擬私有網絡()技術,包括虛擬網卡技術、密碼技術和密鑰管理、身份認證以及PPTP、L2TP、GRE、IPSec和SSL/TLS 等常見協(xié)議。
第10章介紹網絡入侵檢測系統(tǒng)及常見的網絡入侵檢測技術。本章結合業(yè)界廣泛采用的兩類開源入侵檢測系統(tǒng)(Snort和Zeek),介紹網絡入侵檢測系統(tǒng)的組成、入侵檢測規(guī)則設計等關鍵技術。
第11章介紹本書所使用的網絡安全在線實驗平臺SecLab的功能和使用方法,以及如何在SecLab平臺上進行本書所提供實驗的實操。SecLab平臺除對個人用戶提供云端的計算資源外,還對學校以班級為單位的課堂教學提供混合云的部署方式,即學校提供邊緣接入服務器,學生實驗所需要的計算資源分配到本地;旌显频牟渴鸱绞娇芍С执笠(guī)模、高并發(fā)的網絡安全實驗。
本書凝聚了清華大學、山東大學、中山大學多位教師、學生和奇安信集團開發(fā)人員的共同努力。清華大學段海新教授組織協(xié)調本書內容的編寫工作以及SecLab平臺的設計,并編寫了第1章和第6章的主要內容。清華大學劉保君老師負責第3、4、10章內容的編寫;山東大學郭山清教授負責第2、8、9章內容編寫;中山大學金舒原教授負責第5、7章內容的編寫;奇安信集團林雪綱博士負責 SecLab 的設計與開發(fā),產品經理谷敏編寫了第11章實驗平臺的介紹。清華大學劉武老師和王浩銘老師在本書的審校和排版工作中付出了大量精力,王浩銘老師還完成了SecLab平臺上所有實驗的部署和測試工作。
清華大學陳建軍副教授和博士生王一航為第6章中的內容分發(fā)網絡貢獻了部分內容并設計了相關實驗。清華大學研究生許威為傳輸層協(xié)議安全章節(jié)的編寫付出了辛勤努力,孫俊哲與陸超逸則協(xié)助編寫了域名系統(tǒng)安全章節(jié)的部分內容,李瑞烜為電子郵件系統(tǒng)安全章節(jié)做出了貢獻,吳大帥協(xié)助編寫了網絡入侵檢測系統(tǒng)章節(jié)部分內容。山東大學研究生潘浩和臧傳超在局域網安全章節(jié)的編寫中提供了寶貴的支持,胡成田在防火墻技術章節(jié)中做出了貢獻,孫景閣和吳虹霖則幫助完成了虛擬專用網絡章節(jié)的部分內容。中山大學研究生張笑天為本書文字內容整理、實驗環(huán)境搭建與測試付出了辛苦努力,李維龍參與了Web系統(tǒng)安全章節(jié)和網絡入侵檢測系統(tǒng)章節(jié)的編寫,王亞博對域名系統(tǒng)安全和電子郵件系統(tǒng)安全等章節(jié)的編寫也做出了重要貢獻。作者對他們付出的辛苦努力表示衷心感謝,沒有他們就沒有本書的順利出版。
由于編寫時間緊迫,書中難免存在不足之處。我們誠懇地希望各位讀者不吝指正,提出寶貴意見,這將有助于我們不斷完善和改進本書的內容。希望本書的出版可以為我國計算機網絡安全的教育做出貢獻。
作者2025年6月
目錄
第1章計算機網絡基礎及常用工具1
1.1計算機網絡基本組成和協(xié)議1
1.1.1常用網絡設備和子網劃分2
1.1.2局域網常用的網絡服務4
1.1.3上網過程實例: 一次Web訪問5
1.2IPv4協(xié)議報文格式6
1.3網絡流量分析和構造常用工具簡介7
1.3.1tcpdump7
1.3.2Wireshark9
1.3.3Scapy11
1.3.4Burp Suite15
1.4網絡基礎實驗16
1.4.1實驗1: 使用tcpdump分析ICMP流量17
1.4.2實驗2: 使用Wireshark分析訪問Web過程19
1.4.3實驗3: 使用Scapy構造ICMP Echo Request數據包21
1.4.4實驗4: 使用Burp Suite修改HTTP請求25
1.5思考題27
第2章局域網安全28
2.1局域網協(xié)議概述28
2.1.1以太網協(xié)議28
2.1.2ARP30
2.1.3DHCP32
2.2局域網常見攻擊34
2.2.1MAC地址泛洪攻擊34
2.2.2ARP攻擊36
2.2.3DHCP攻擊39
2.3局域網攻擊實驗41
2.3.1實驗1: ARP緩存污染攻擊41
2.3.2實驗2: ARP中間人攻擊44
2.3.3實驗3: DHCP拒絕服務攻擊46
2.3.4實驗4: DHCP假冒攻擊49
2.4思考題51
第3章傳輸層協(xié)議常見攻擊與防范52
3.1傳輸層協(xié)議簡介52
3.1.1TCP簡介52
3.1.2UDP簡介56
3.1.3協(xié)議的端口57
3.2傳輸層常見攻擊的原理與防范措施58
3.2.1端口掃描及資產探查58
3.2.2TCP SYN泛洪攻擊61
3.2.3TCP會話的劫持與重置62
3.2.4UDP 反射放大攻擊64
3.3傳輸層安全實驗65
3.3.1實驗1: 資產探查與端口掃描66
3.3.2實驗2: SYN洪泛攻擊與防范68
3.3.3實驗3: TCP連接重置70
3.3.4實驗4: TCP會話劫持72
3.4思考題74
第4章域名系統(tǒng)安全75
4.1域名系統(tǒng)的基本工作原理75
4.1.1互聯網域名空間76
4.1.2互聯網域名解析過程78
4.1.3域名協(xié)議報文79
4.2域名系統(tǒng)的典型攻擊及防范措施80
4.2.1DNS劫持攻擊81
4.2.2DNS緩存污染攻擊82
4.2.3DNS反射放大攻擊83
4.2.4DNS重綁定攻擊84
4.2.5常見DNS安全防護措施85
4.3域名系統(tǒng)安全實驗86
4.3.1實驗1: DNS緩存污染攻擊實驗87
4.3.2實驗2: DNS反射放大攻擊實驗90
4.3.3實驗3: DNS重綁定攻擊93
4.4思考題97
第5章Web系統(tǒng)安全98
5.1Web系統(tǒng)及HTTP98
5.1.1Web客戶端相關技術99
5.1.2Web服務器相關技術101
5.1.3統(tǒng)一資源定位符102
5.1.4HTTP103
5.1.5HTTP的狀態(tài)管理和Cookie 109
5.1.6訪問Web系統(tǒng)的一個例子111
5.2Web系統(tǒng)面臨的常見威脅112
5.2.1身份假冒攻擊112
5.2.2網絡流量監(jiān)聽和中間人攻擊113
5.2.3Web客戶端和Web服務器端的系統(tǒng)入侵攻擊114
5.2.4拒絕服務攻擊114
5.3Web系統(tǒng)主要安全機制概要115
5.3.1沙箱116
5.3.2同源策略117
5.3.3瀏覽器插件的安全規(guī)則119
5.3.4HTTP Cookie的安全策略119
5.4Web系統(tǒng)常見攻擊原理120
5.4.1SQL注入120
5.4.2跨站腳本130
5.4.3跨站請求偽造135
5.4.4服務器端請求偽造137
5.4.5文件上傳漏洞142
5.5Web系統(tǒng)安全實驗145
5.5.1實驗1: SQL注入攻擊146
5.5.2實驗2: 跨站腳本攻擊151
5.5.3實驗3: 服務器端請求偽造攻擊155
5.5.4實驗4: 文件上傳漏洞的利用159
5.6思考題163
第6章傳輸層安全協(xié)議與內容分發(fā)網絡164
6.1傳輸層安全協(xié)議164
6.1.1傳輸層安全協(xié)議的設計目標164
6.1.2Web公鑰證書基礎165
6.1.3SSL/TLS發(fā)展歷程169
6.1.4TLS協(xié)議工作原理169
6.2內容分發(fā)網絡174
6.2.1內容分發(fā)網絡的基本原理和主要功能174
6.2.2CDN的基本結構175
6.3TLS和CDN實驗177
6.3.1實驗1: Web服務配置TLS證書實驗177
6.3.2實驗2: 構建CDN對抗DoS攻擊實驗180
6.4思考題184
第7章電子郵件系統(tǒng)安全185
7.1電子郵件系統(tǒng)工作原理185
7.1.1電子郵件通信過程185
7.1.2電子郵件基礎協(xié)議187
7.2電子郵件系統(tǒng)常見攻擊及安全擴展協(xié)議190
7.2.1電子郵件身份偽造攻擊190
7.2.2電子郵件身份驗證機制190
7.2.3電子郵件身份驗證繞過攻擊198
7.3郵件系統(tǒng)安全實驗206
7.3.1實驗1: 搭建MTA、用命令行及Web兩種MUA實現郵件收發(fā)207
7.3.2實驗2: 郵件系統(tǒng)未配置安全擴展協(xié)議下的電子郵件偽造攻擊213
7.3.3實驗3: 郵件系統(tǒng)有安全擴展協(xié)議SPF下的電子郵件偽造攻擊 ……215
7.3.4實驗4: 實現有簽名驗證的郵件通信219
7.4思考題223
第8章防火墻技術224
8.1防火墻技術原理224
8.1.1防火墻介紹224
8.1.2包過濾防火墻226
8.1.3狀態(tài)檢測防火墻228
8.1.4應用層防火墻229
8.2Linux內置防火墻介紹230
8.2.1Netfilter介紹230
8.2.2iptables介紹232
8.3防火墻實驗236
8.3.1實驗1: 實現包過濾防火墻并嘗試繞過該防火墻236
8.3.2實驗2: 防火墻綜合應用實驗240
8.4思考題247
第9章虛擬專用網絡248
9.1虛擬專用網絡的工作原理248
9.1.1虛擬專用網絡介紹248
9.1.2虛擬專用網絡工作原理介紹248
9.2虛擬專用網絡的關鍵技術和協(xié)議249
9.2.1虛擬網卡技術(TUN/TAP)249
9.2.2密碼技術與密鑰管理250
9.2.3用戶和設備身份認證技術251
9.2.4隧道技術251
9.3虛擬專用網絡實驗255
9.3.1實驗1: 使用OpenSSL實現加密通信256
9.3.2實驗2: 用虛擬網卡實現數據包收發(fā)259
9.3.3實驗3: 實現基于SSL/TLS雙向認證的加密261
9.4思考題 266
第10章網絡入侵檢測技術267
10.1網絡入侵檢測技術的基本原理267
10.1.1入侵檢測系統(tǒng)的發(fā)展歷程267
10.1.2常見的入侵檢測技術269
10.1.3網絡入侵檢測的當前挑戰(zhàn)270
10.2典型網絡入侵檢測系統(tǒng)272
10.2.1Snort系統(tǒng)簡介及語法規(guī)則272
10.2.2Zeek系統(tǒng)簡介及語法規(guī)則276
10.2.3典型網絡入侵檢測系統(tǒng)對比279
10.3入侵檢測實驗280
10.3.1實驗1: 基于Snort的Web SQL注入攻擊檢測280
10.3.2實驗2: 基于Zeek的惡意挖礦通信流量檢測286
10.4思考題291
第11章網絡安全在線實驗平臺292
11.1網絡安全在線實驗平臺簡介292
11.2教材配套實驗的使用方法294
11.2.1個人學習294
11.2.2學校教學294
參考文獻297