算機(jī)網(wǎng)絡(luò)與信息安全考點(diǎn)解析:從OSI到子網(wǎng)劃分的備考指南)
1. 考點(diǎn)權(quán)重與命題套路為什么這章值得單獨(dú)扒一遍如果你備考過軟件設(shè)計(jì)師翻翻上午題歷年試卷就會(huì)發(fā)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)及信息安全這個(gè)板塊極其穩(wěn)定地占據(jù)著6到8分的量級(jí)偶爾還會(huì)在案例分析題里以配置場(chǎng)景的方式冒個(gè)頭。很多人覺得這部分知識(shí)點(diǎn)零散、名詞多、記了又忘干脆臨考前突擊一下結(jié)果選擇題里丟個(gè)四五分的很常見。實(shí)際上這一章是性價(jià)比最高的部分因?yàn)樗幌袼惴ê蛿?shù)據(jù)結(jié)構(gòu)那樣需要大量刷題思維也不像軟件工程那樣全是文字游戲只要你把框架搭清楚再用一些對(duì)比表格輔助記憶分?jǐn)?shù)幾乎是白送的。先說清楚考試中的實(shí)際分布。上午的選擇題一共75道計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)的題目通常在4到6道信息安全相關(guān)的2到3道合起來大概就是7到9分的區(qū)間。請(qǐng)注意下午的案例題一般不直接考網(wǎng)絡(luò)配置命令但有一年出現(xiàn)過基于網(wǎng)絡(luò)拓?fù)渑挪楣收系念}目如果對(duì)協(xié)議不熟很容易卡殼。因此我的建議是這一章你至少要保證選擇題拿滿同時(shí)順帶把網(wǎng)絡(luò)基礎(chǔ)概念弄懂防止下午題出幺蛾子。命題套路非常固定幾乎可以用老三樣來概括。第一樣是協(xié)議族和層次模型要么考OSI七層的功能分層要么考TCP/IP四層與協(xié)議對(duì)應(yīng)關(guān)系要么給你一個(gè)數(shù)據(jù)包從發(fā)送到接收的過程讓你判斷各層封裝。第二樣是IP地址與子網(wǎng)劃分計(jì)算這類題是實(shí)打?qū)嵉挠?jì)算題會(huì)的人一分鐘出答案不會(huì)的人蹲在考場(chǎng)里掰手指頭。第三樣是信息安全中的算法分類和數(shù)字簽名流程屬于概念辨析題把幾類算法和用途對(duì)照清楚就穩(wěn)了。理解了這套框架之后你就能針對(duì)性地去突破而不是捧著教材從頭背到尾。有一點(diǎn)要提醒你別被教材里那一堆英文縮寫嚇退。DHCP、ARP、ICMP這些協(xié)議只需要知道它在哪一層、干什么用、有哪些關(guān)鍵機(jī)制不需要去記報(bào)文格式。考試考的是知道不是實(shí)現(xiàn)。接下來我按自己復(fù)習(xí)時(shí)整理的邏輯把這塊內(nèi)容分成四個(gè)核心模塊過一遍每部分都附上應(yīng)試角度必須掌握的要點(diǎn)以及我踩過的坑。2. 網(wǎng)絡(luò)分層與協(xié)議族把OSI和TCP/IP理解成快遞鏈路很多第一次備考的人被OSI七層模型弄得頭大但換個(gè)角度就容易了你把數(shù)據(jù)發(fā)送過程想象成寄快遞。應(yīng)用層是你填寫的快遞單內(nèi)容傳輸層是決定用普通快遞還是特快專遞TCP還是UDP網(wǎng)絡(luò)層是依據(jù)地址規(guī)劃路線的調(diào)度中心數(shù)據(jù)鏈路層是實(shí)際裝車配送到隔壁街區(qū)的貨車物理層則是路況和車道本身。數(shù)據(jù)從你手里發(fā)出每下一層就套一個(gè)信封到了目的地逐層拆開這就是封裝與解封裝的過程??荚囎畛?嫉膶?duì)應(yīng)關(guān)系務(wù)必記清楚。應(yīng)用層協(xié)議與端口之間的匯聚點(diǎn)是選擇題的高頻區(qū)HTTP對(duì)應(yīng)80HTTPS對(duì)應(yīng)443FTP控制端口21和數(shù)據(jù)端口20DNS是53DHCP用67和68SMTP發(fā)信是25POP3收信是110遠(yuǎn)程登錄Telnet是23SSH是22。這些端口不要求你全背但至少每年有個(gè)一道題是在里面挑一個(gè)考的建議做成小卡片反復(fù)刷眼熟。TCP與UDP的區(qū)別是必考題我建議記這樣一句話TCP可靠但慢UDP快但不管丟。TCP的三次握手流程、四次揮手、全雙工通信、流量控制和擁塞控制每一個(gè)都可能成為選項(xiàng)。三次握手的序列號(hào)變化過程有幾年特別喜歡考你得知道SYN、SYNACK、ACK這幾個(gè)標(biāo)志的先后順序。UDP的典型應(yīng)用是視頻直播、語音通話、DNS查詢這些能承受少量丟失的場(chǎng)景。這個(gè)能不能容忍丟包就是判斷該類應(yīng)用該用誰的最快標(biāo)準(zhǔn)。ARP協(xié)議這個(gè)地方很多人容易混淆。ARP位于網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層之間作用是把IP地址解析為MAC地址它只在同一個(gè)廣播域內(nèi)工作。如果你收到一個(gè)數(shù)據(jù)包需要發(fā)往另一個(gè)網(wǎng)段源主機(jī)會(huì)先用ARP查詢默認(rèn)網(wǎng)關(guān)的MAC地址然后將數(shù)據(jù)交給網(wǎng)關(guān)轉(zhuǎn)發(fā)。這個(gè)細(xì)節(jié)是??嫉南葳錋RP是解析IP到MAC而DNS是解析域名到IP別把兩者混為一談。還有RARP是反向把MAC地址映射回IP地址考試出現(xiàn)的概率小但偶爾會(huì)拿來混淆視線。網(wǎng)絡(luò)層還需要分清ICMP和IGMP。ICMP是互聯(lián)網(wǎng)控制報(bào)文協(xié)議最典型的使用者是ping命令和traceroute命令ping返回的請(qǐng)求超時(shí)或目標(biāo)不可達(dá)就是ICMP報(bào)文的反饋。IGMP則是管理組播組成員關(guān)系的組播那個(gè)知識(shí)點(diǎn)隔幾年冒出來一次你只要記住組播用IGMP單播和廣播不用它就差不多了。## 3. 網(wǎng)絡(luò)分層與協(xié)議族把OSI和TCP/IP理解成快遞鏈路這一章的知識(shí)點(diǎn)如果死記硬背會(huì)非常折磨人。我的經(jīng)驗(yàn)是把它放在一個(gè)具體的數(shù)據(jù)包旅行場(chǎng)景里去理解所有層次和協(xié)議立刻就有了秩序感。下面先搭框架再講應(yīng)試中最常考的細(xì)節(jié)。3.1 從數(shù)據(jù)包的一次跨網(wǎng)傳輸看懂兩臺(tái)主機(jī)的協(xié)作想象一下你用瀏覽器打開某個(gè)網(wǎng)站整個(gè)過程涉及DNS解析、TCP建連、HTTP請(qǐng)求發(fā)送、路由轉(zhuǎn)發(fā)、響應(yīng)回傳。數(shù)據(jù)從應(yīng)用層產(chǎn)生后每經(jīng)過一層就會(huì)加上該層的頭部信息這個(gè)過程叫封裝對(duì)端收到后從物理層往上層層剝掉頭部這叫解封裝??荚嚭苌僦苯訂柲惴庋b順序是什么但會(huì)以當(dāng)數(shù)據(jù)到達(dá)目標(biāo)主機(jī)的網(wǎng)絡(luò)層時(shí)已經(jīng)處理完哪些層這類變體出現(xiàn)。網(wǎng)絡(luò)接口層負(fù)責(zé)在局域網(wǎng)內(nèi)傳輸幀幀里有源MAC地址和目的MAC地址。只要數(shù)據(jù)包要出本網(wǎng)段源MAC一定是發(fā)送方網(wǎng)卡目的MAC一定是下一跳設(shè)備的MAC通常是網(wǎng)關(guān)。但要記住源IP和目的IP在整個(gè)傳輸過程中基本不變而每一跳的MAC地址都在改變。這個(gè)考點(diǎn)一旦出成PC1發(fā)給PC2經(jīng)過一臺(tái)路由器請(qǐng)問哪些地址發(fā)生變化很多人就會(huì)栽在MAC地址的更新上。TCP三次握手的過程也完全可以串進(jìn)這個(gè)場(chǎng)景里。第一次握手客戶端發(fā)送SYN報(bào)文初始序列號(hào)假設(shè)為x第二次握手服務(wù)器回復(fù)SYNACK并帶上自己的初始序列號(hào)y同時(shí)確認(rèn)x1第三次握手客戶端再發(fā)ACK確認(rèn)y1。考試喜歡把三次握手亂序排列或者在狀態(tài)名上做文章你只要記住連接建立一定要雙向確認(rèn)這一句話就足以排雷了。3.2 協(xié)議與端口的高頻清單應(yīng)用層協(xié)議與端口的對(duì)應(yīng)關(guān)系幾乎是每年必考。我不建議你對(duì)著端口表硬背你可以把它們分類成網(wǎng)頁類、文件類、郵件類、遠(yuǎn)程管理類、基礎(chǔ)設(shè)施類這樣更容易形成網(wǎng)絡(luò)。類別協(xié)議默認(rèn)端口特征一句話網(wǎng)頁訪問HTTP / HTTPS80 / 443HTTPS多了加密和證書校驗(yàn)文件傳輸FTP控制21數(shù)據(jù)20明文傳輸需要登錄認(rèn)證郵件發(fā)送SMTP25只負(fù)責(zé)發(fā)信不負(fù)責(zé)收郵件接收POP3 / IMAP110 / 143POP3偏向下載后離線讀遠(yuǎn)程管理Telnet / SSH23 / 22Telnet明文SSH加密域名解析DNS53將域名轉(zhuǎn)成IP也支持反向查詢動(dòng)態(tài)地址分配DHCP67/68客戶端用68服務(wù)端用67無盤啟動(dòng)等TFTP69基于UDP簡單文件傳輸有個(gè)小提醒DHCP的67、68端口這兩年是高頻考點(diǎn)而且命題常常換個(gè)角度——問你DHCP客戶端發(fā)送請(qǐng)求時(shí)使用的源端口是哪個(gè)。答案是68。同理FTP的數(shù)據(jù)端口20與主動(dòng)模式被動(dòng)模式的差異不一定會(huì)考但端口對(duì)應(yīng)關(guān)系你得記。DNS還有一個(gè)極易踩的坑它不只做域名轉(zhuǎn)IP郵件服務(wù)器的MX記錄、負(fù)載均衡的SRV記錄也在DNS體系內(nèi)??荚?yán)锶绻霈F(xiàn)根據(jù)域名查詢郵件服務(wù)器地址你要能反應(yīng)出這是在用DNS的MX記錄而不是直接發(fā)一封郵件。3.3 TCP與UDP判斷的兩條鐵律看到一個(gè)應(yīng)用怎么判斷它該用TCP還是UDP大多數(shù)人卡在HTTP不是基于TCP嗎但視頻為什么用UDP其實(shí)判斷標(biāo)準(zhǔn)就兩條第一數(shù)據(jù)是否要求完整無損第二能否容忍延遲和丟包。需要的是正確性優(yōu)先比如網(wǎng)頁內(nèi)容、文件下載、郵件、數(shù)據(jù)庫同步統(tǒng)統(tǒng)TCP需要的是實(shí)時(shí)性優(yōu)先比如直播推流、語音通話、在線游戲的狀態(tài)同步、DNS快速查詢用了UDP??荚囘€有一個(gè)經(jīng)典陷阱DNS使用UDP但DNS區(qū)域傳送即主DNS服務(wù)器向備用DNS服務(wù)器同步整個(gè)區(qū)域數(shù)據(jù)用的卻是TCP。原因是區(qū)域傳送的數(shù)據(jù)量大需要可靠傳輸。這種特殊場(chǎng)景下?lián)Q協(xié)議的細(xì)節(jié)就是命題組最愛設(shè)的坑你必須單獨(dú)記住。三次握手的異常情況也值得看一眼。比如客戶端連續(xù)發(fā)送SYN但從未收到SYNACK可能是服務(wù)器監(jiān)聽隊(duì)列滿了也可能是防火墻攔截。但在上午選擇題里一般不會(huì)讓你做這么深入的排查更多是考SYN泛洪攻擊利用了TCP三次握手的哪個(gè)弱點(diǎn)答案指向服務(wù)器等待第三次ACK時(shí)半連接隊(duì)列被占滿。這個(gè)點(diǎn)放在后面的安全章節(jié)我會(huì)再展開。4. IP地址與子網(wǎng)劃分計(jì)算題拿分的關(guān)鍵公式如果說協(xié)議是背一背就能拿分那IP地址計(jì)算就是需要?jiǎng)庸P的題。放心它沒有你想象得那么難考試中出現(xiàn)的無非是以下幾類判斷IP地址的類別、計(jì)算網(wǎng)絡(luò)地址/廣播地址、計(jì)算可用主機(jī)數(shù)、判斷兩個(gè)IP是否在同一網(wǎng)段以及CIDR表示法的互相轉(zhuǎn)換。每類都有明確的步驟和公式只要訓(xùn)練幾道題就能熟練。4.1 IPv4地址分類與特殊地址IPv4地址是32位二進(jìn)制每8位一組轉(zhuǎn)為十進(jìn)制。A類地址第一字節(jié)范圍1到126默認(rèn)掩碼/8用于超大規(guī)模網(wǎng)絡(luò)B類128到191掩碼/16C類192到223掩碼/24D類224到239用于組播E類240到255保留研究。這個(gè)分類判斷雖然簡單但我建議你不要只背范圍而要明白它與默認(rèn)掩碼的關(guān)系A(chǔ)類前8位是網(wǎng)絡(luò)位B類前16位是網(wǎng)絡(luò)位C類前24位是網(wǎng)絡(luò)位。特殊地址里考試概率最大的是這三類第一地址127.0.0.1代表本機(jī)環(huán)回地址第二169.254.x.x是Windows主機(jī)無法從DHCP獲取地址時(shí)的自動(dòng)專用地址看到它說明DHCP可能出了問題第三私有地址段——10.0.0.0/8、172.16.0.0/12、192.168.0.0/16這些地址只能在內(nèi)網(wǎng)使用不能直接上公網(wǎng)。如果題目給了一個(gè)私有IP讓你判斷能否作為公網(wǎng)路由源地址答案自然是否定的。4.2 子網(wǎng)劃分計(jì)算的標(biāo)準(zhǔn)動(dòng)作子網(wǎng)劃分的本質(zhì)就是從主機(jī)位里借出若干位作為子網(wǎng)號(hào)??荚嚦=o一個(gè)標(biāo)準(zhǔn)地址和一個(gè)子網(wǎng)掩碼讓你求某個(gè)地址所屬的網(wǎng)絡(luò)地址、廣播地址和可用地址范圍。我的做法分三步第一步把子網(wǎng)掩碼寫成二進(jìn)制找出從第幾位開始是主機(jī)位第二步把IP地址與掩碼做按位與得到網(wǎng)絡(luò)地址第三步把主機(jī)位全部置1得到廣播地址第四步網(wǎng)絡(luò)地址加1是第一個(gè)可用地址廣播地址減1是最后一個(gè)可用地址。舉個(gè)例子IP地址192.168.10.130子網(wǎng)掩碼255.255.255.192。掩碼的最后一個(gè)字節(jié)192對(duì)應(yīng)二進(jìn)制11000000說明最后8位里前兩位是子網(wǎng)位后6位是主機(jī)位。IP地址的最后一個(gè)字節(jié)130對(duì)應(yīng)10000010與11000000做按位與得到10000000即128。所以網(wǎng)絡(luò)地址是192.168.10.128廣播地址把后6位置1得10111111即191可用范圍是129到190中間一共有62個(gè)可用主機(jī)數(shù)。這個(gè)計(jì)算熟練之后20秒就能出答案。子網(wǎng)掩碼還有一個(gè)快速換算技巧/26等價(jià)于255.255.255.192/27等價(jià)于255.255.255.224/28等價(jià)于255.255.255.240。你不需要每次都去轉(zhuǎn)換二進(jìn)制直接記住幾個(gè)常用CIDR對(duì)應(yīng)的掩碼和主機(jī)數(shù)即可。但記住每個(gè)子網(wǎng)可用的主機(jī)數(shù)是2^n - 2其中n是主機(jī)位位數(shù)減去的是網(wǎng)絡(luò)地址和廣播地址。4.3 子網(wǎng)聚合與劃分方向問題有時(shí)候題目會(huì)反著考給你幾個(gè)子網(wǎng)讓你求路由聚合后的地址。聚合的規(guī)則是取多個(gè)子網(wǎng)共同的最長相同前綴。比如192.168.1.0/24和192.168.2.0/24聚合時(shí)前24位中有23位相同從第24位開始不同所以聚合后的前綴是/23網(wǎng)絡(luò)地址是192.168.0.0。要注意聚合前子網(wǎng)得是連續(xù)的且大小一致否則不能用簡單的相同前綴法。另一個(gè)常見坑是可變長子網(wǎng)掩碼。比如給你一個(gè)172.16.0.0/16讓你先劃分出容納4000臺(tái)主機(jī)的子網(wǎng)再從剩余空間劃分子網(wǎng)給300臺(tái)主機(jī)使用。這種題的關(guān)鍵是永遠(yuǎn)從最大的子網(wǎng)開始劃分保證剩余空間完整。4000臺(tái)主機(jī)需要2^124096但12位主機(jī)位只能有4094個(gè)可用剛好滿足4000所以掩碼是/20余下從172.16.16.0/20繼續(xù)往下切。這種由大到小的次序感是VLSM計(jì)算的核心思路。IPv6雖然考得少但也需要了解基本形態(tài)128位地址冒號(hào)十六進(jìn)制表示每16位一組共8組連續(xù)零可以使用::壓縮一次。IPv6沒有廣播地址取而代之的是任播和組播??荚囎疃喑鲆坏繧Pv6地址長度是幾位的送分題別在細(xì)節(jié)上花費(fèi)太多時(shí)間。5. 網(wǎng)絡(luò)設(shè)備與IP配置小型局域網(wǎng)那些必考的常識(shí)5.1 集線器、交換機(jī)、路由器到底有什么本質(zhì)差異這一塊屬于你以為是常識(shí)、做選擇題卻常錯(cuò)的地方。集線器工作在物理層它所有端口共享帶寬收到信號(hào)直接廣播到所有端口毫無智能可言所以現(xiàn)在基本退出了組網(wǎng)場(chǎng)景。交換機(jī)工作在數(shù)據(jù)鏈路層它維護(hù)MAC地址表通過MAC地址只把數(shù)據(jù)幀轉(zhuǎn)發(fā)到對(duì)應(yīng)端口。路由器工作在網(wǎng)絡(luò)層依靠IP地址做跨網(wǎng)段轉(zhuǎn)發(fā)是連接不同網(wǎng)絡(luò)的核心設(shè)備??荚?yán)镒畛R姷拿}角度是當(dāng)PC-A和PC-B在同一個(gè)交換機(jī)上PC-C在另一個(gè)網(wǎng)段PC-A訪問PC-C時(shí)經(jīng)過哪些設(shè)備答案是一定要經(jīng)過路由器而交換機(jī)可能在同一個(gè)廣播域內(nèi)起著透明轉(zhuǎn)發(fā)的作用。還有一類題問交換機(jī)會(huì)隔離沖突域還是廣播域——交換機(jī)隔離沖突域但不隔離廣播域這也是N個(gè)考生反復(fù)踩的坑。5.2 一個(gè)命令排查兩類故障場(chǎng)景上午題偶爾會(huì)把Linux或Windows的ipconfig、ping、traceroute拉出來考。最常見的考點(diǎn)有三個(gè)第一ping 127.0.0.1檢查本機(jī)協(xié)議棧第二ping本機(jī)IP檢查網(wǎng)卡是否正常第三ping網(wǎng)關(guān)檢查局域網(wǎng)連通性。這里的邏輯是從底層到上層逐層排除考試可能故意改變順序讓你判斷錯(cuò)誤的排查方法是什么。比如有一道經(jīng)典題主機(jī)能ping通自己也能ping通網(wǎng)關(guān)但ping不通遠(yuǎn)程服務(wù)器可能原因是什么答案方向有兩種一是遠(yuǎn)程服務(wù)器的防火墻屏蔽了ICMP請(qǐng)求二是本機(jī)到遠(yuǎn)程路由途中存在訪問控制策略。注意只要網(wǎng)關(guān)能通就說明本機(jī)到路由器這一段物理鏈路和IP配置基本正常。問題在出口之后不要再懷疑自己電腦的網(wǎng)卡。另一種故障是DNS解析問題瀏覽器能通過IP地址訪問公網(wǎng)服務(wù)器但輸入域名打不開網(wǎng)頁這種十有八九是DNS配置錯(cuò)誤或DNS服務(wù)不可用。考試要把這一步和網(wǎng)線沒插好分開前者是應(yīng)用層的問題后者是物理層的問題考查你按層次定位故障的能力。5.3 DHCP與DNS的常見考題DHCP的工作流程常被概括為四個(gè)階段發(fā)現(xiàn)DISCOVER、提供OFFER、選擇REQUEST、確認(rèn)ACK。題目考得最多的是客戶端通過哪種報(bào)文來廣播尋找DHCP服務(wù)器答案是DISCOVER廣播包。為什么是廣播因?yàn)榭蛻舳瞬恢婪?wù)器在哪必須向全網(wǎng)廣播。等到后續(xù)請(qǐng)求階段客戶端會(huì)再次廣播REQUEST用來告知服務(wù)器挑選結(jié)果同時(shí)通知未選中的服務(wù)器釋放地址資源。DNS在選擇題里則更傾向考記錄類型A記錄是域名到IPv4地址AAAA記錄是域名到IPv6地址MX記錄是郵件交換記錄CNAME是別名記錄NS是域名服務(wù)器記錄??荚囍灰o你一個(gè)場(chǎng)景比如需要為域名添加一個(gè)用于指定郵件服務(wù)器的記錄對(duì)應(yīng)MX記錄即可。平時(shí)自己搭過DNS的人會(huì)覺得這很簡單沒搭過的就會(huì)在A和MX之間猶豫所以建議非網(wǎng)絡(luò)方向的考生花二十分鐘用本機(jī)hosts加nslookup體驗(yàn)一下主機(jī)的解析流程。6. 安全基石加密算法與數(shù)字簽名怎么選信息安全這部分上午題的分值約有2到3分內(nèi)容卻非常密集。我復(fù)習(xí)時(shí)最大的感受是它其實(shí)不是靠背算法名而是靠理清加密、簽名、摘要這三件事的語義邊界。一旦邊界清楚了無論題目怎么繞都能接住。6.1 對(duì)稱加密、非對(duì)稱加密與哈希的三類區(qū)分對(duì)稱加密的特點(diǎn)是加密解密用同一把密鑰優(yōu)點(diǎn)是快適合大量數(shù)據(jù)缺點(diǎn)是密鑰分發(fā)困難。常見算法有DES、3DES、AES其中AES是當(dāng)前的主流DES由于密鑰長度太短已被淘汰。非對(duì)稱加密是公鑰加密、私鑰解密或者私鑰簽名、公鑰驗(yàn)簽優(yōu)點(diǎn)是密鑰管理相對(duì)容易缺點(diǎn)是慢。常見算法有RSA、ECC。哈希算法則沒有密鑰它把任意長度的輸入壓縮成固定長度的摘要不可逆用于驗(yàn)證完整性。常見算法有MD5、SHA-1、SHA-256其中MD5和SHA-1已經(jīng)不再認(rèn)為是安全的。把這個(gè)梳理成表之后選擇題里以下哪個(gè)是對(duì)稱加密算法這類題基本就是白送。但出題人不會(huì)總這么善良更多時(shí)候是給一個(gè)應(yīng)用場(chǎng)景讓你選合適的算法。比如大量文件內(nèi)容需要加密存儲(chǔ)選AES因?yàn)樾阅芨咝枰诓话踩诺澜粨Q會(huì)話密鑰選RSA需要確認(rèn)文件是否被篡改選SHA-256。場(chǎng)景題比直接問算法分類更能鍛煉你的判斷力。6.2 公鑰體系與數(shù)字簽名的完整流程數(shù)字簽名解決兩個(gè)問題身份認(rèn)證與抗抵賴。簽名的動(dòng)作是發(fā)送方用自己的私鑰對(duì)消息摘要進(jìn)行加密驗(yàn)證的動(dòng)作是接收方用發(fā)送方的公鑰解密并比對(duì)消息摘要是否一致。這里特別容易混淆——很多人記成公鑰加密、私鑰解密就直接套到簽名上來結(jié)果方向全反。記住一個(gè)原則誰要證明自己誰用私鑰別人要驗(yàn)證你用你的公鑰。密鑰的使用方向完全由身份認(rèn)證的需求反向推導(dǎo)出來。數(shù)字證書則是把公鑰和持有者信息綁定在一起由CA簽發(fā)的電子文件。證書內(nèi)容包括版本號(hào)、序列號(hào)、簽名算法、頒發(fā)者、有效期、公鑰信息等??荚噯枖?shù)字證書的主要作用時(shí)核心就是綁定公鑰與身份防止中間人篡改公鑰。如果你正在看得頭疼可以類比身份證證書就是網(wǎng)絡(luò)世界的身份證里面寫著這個(gè)公鑰屬于誰而CA就是發(fā)證機(jī)構(gòu)。6.3 談到加密必須避開的幾個(gè)概念坑第一坑是加密算法強(qiáng)度等于密鑰長度的絕對(duì)化。DES的56位密鑰確實(shí)弱但AES-128在可預(yù)見的未來仍算安全實(shí)際強(qiáng)度還取決于實(shí)現(xiàn)是否正確。選擇題只需要你進(jìn)行常規(guī)判斷不要過分推演。第二坑是哈希和加密被混為一談。哈希不可逆的所以它不能用來解密只能用于完整性校驗(yàn)和存比對(duì)值。比如系統(tǒng)里存儲(chǔ)用戶口令規(guī)范做法是加鹽后做哈希而不是直接存明文密碼也不是用對(duì)稱加密后再存——因?yàn)榧用芸赡鏀?shù)據(jù)庫泄露后密鑰若一起被竊取明文就暴露了。這個(gè)邏輯在考題中常以用戶口令安全存儲(chǔ)方式的形式出現(xiàn)。第三坑是數(shù)字信封的概念。數(shù)字信封是非對(duì)稱加密與對(duì)稱加密的合體發(fā)送方用對(duì)稱密鑰加密數(shù)據(jù)再用接收方的公鑰加密這個(gè)對(duì)稱密鑰然后把密文和加密后的密鑰一起發(fā)送。接收方先用私鑰解出對(duì)稱密鑰再用對(duì)稱密鑰解密數(shù)據(jù)。這樣兼顧了非對(duì)稱加密的分發(fā)安全和對(duì)稱加密的傳輸效率??荚囈话悴灰竽惝嫵鐾暾鞒痰仨氁芸闯鏊Y(jié)合了兩類算法這一核心特征。7. 常見安全攻擊與防御策略案例題怎么答7.1 從攻擊特征識(shí)別威脅類型信息安全選擇題的另一種考法是給一個(gè)攻擊過程的描述讓你判斷它屬于哪種攻擊。這幾年最常見的有SYN Flood、DDoS、SQL注入、跨站腳本攻擊XSS、跨站請(qǐng)求偽造CSRF、ARP欺騙、中間人攻擊和暴力破解。每個(gè)攻擊的識(shí)別關(guān)鍵要抓住它利用了哪一層、什么漏洞。SYN Flood通過大量發(fā)送SYN但不完成三次握手消耗服務(wù)器半連接隊(duì)列資源屬于拒絕服務(wù)攻擊防御思路是啟用SYN Cookie、限制半連接數(shù)。DDoS多臺(tái)被控主機(jī)同時(shí)向目標(biāo)發(fā)送海量請(qǐng)求帶寬和資源耗盡防御思路是流量清洗、限速、黑洞路由。SQL注入攻擊者在輸入框提交惡意SQL語句使后端拼接出危險(xiǎn)查詢防御思路是用參數(shù)化查詢和預(yù)編譯語句。XSS攻擊者把腳本注入網(wǎng)頁中其他用戶瀏覽時(shí)腳本執(zhí)行從而竊取Cookie或偽造內(nèi)容。防御思路是對(duì)輸入輸出做過濾和轉(zhuǎn)義。CSRF借助受害者的已認(rèn)證身份誘導(dǎo)瀏覽器向服務(wù)端發(fā)送偽造請(qǐng)求。防御思路是加CSRF Token、校驗(yàn)Referer頭。ARP欺騙偽造IP與MAC的對(duì)應(yīng)關(guān)系讓數(shù)據(jù)幀被錯(cuò)誤轉(zhuǎn)發(fā)到攻擊者處防御思路是配置靜態(tài)ARP表或使用端口安全。中間人攻擊攻擊者在通信雙方之間攔截或篡改數(shù)據(jù)常見于不安全的WiFi環(huán)境防御思路是使用HTTPS并驗(yàn)證證書。針對(duì)每一種攻擊判斷依據(jù)是攻擊者做了什么。比如題干里出現(xiàn)不斷發(fā)送TCP連接請(qǐng)求但不建立連接要是你還猶豫是不是DDoS就抓錯(cuò)了主特征??荚囘x項(xiàng)里常把多種攻擊的細(xì)節(jié)混在一起穩(wěn)贏的做法是讀完題干先定位發(fā)生在傳輸層還是應(yīng)用層針對(duì)的是合法性還是完整性再對(duì)照上面的分類。7.2 安全防護(hù)的縱深層次答題時(shí)你經(jīng)常會(huì)被問到下面哪個(gè)措施能有效防御XX之類的問題。我的建議是不要一條條背而是建立縱深防御的層次感物理層靠門禁和硬件防篡改數(shù)據(jù)鏈路層靠端口安全和MAC綁定網(wǎng)絡(luò)層靠防火墻ACL和入侵檢測(cè)系統(tǒng)傳輸層靠TLS加密應(yīng)用層靠WAF、身份認(rèn)證、輸入校驗(yàn)。哪個(gè)層次的攻擊就用哪個(gè)層次的手段跨層次的手段往往不能直接解決問題。例如SQL注入發(fā)生在應(yīng)用層防火墻ACL主要工作在網(wǎng)絡(luò)層和傳輸層若不啟用應(yīng)用層檢測(cè)策略很難攔截所以最優(yōu)解是參數(shù)化查詢。這個(gè)邏輯比記住解題答案更穩(wěn)因?yàn)槌鲱}人完全可能換一層包裝??v深防御還有一個(gè)老生常談卻重要的原則最小權(quán)限。無論是系統(tǒng)賬號(hào)還是服務(wù)權(quán)限只用給完成任務(wù)所需的最小范圍。這個(gè)原則幾乎年年出現(xiàn)在上午題的多選或單選選項(xiàng)里它不只針對(duì)網(wǎng)絡(luò)還針對(duì)操作系統(tǒng)、數(shù)據(jù)庫和應(yīng)用程序。7.3 歷年案例題的最常見切入角度下午案例題如果出現(xiàn)安全方向通常會(huì)給出一個(gè)小型局域網(wǎng)拓?fù)浜鸵欢畏?wù)器配置讓考生指出存在的安全風(fēng)險(xiǎn)并提出加固建議。常見風(fēng)險(xiǎn)點(diǎn)包括使用Telnet明文遠(yuǎn)程管理、防火墻規(guī)則過于寬松、存在默認(rèn)口令、不關(guān)閉不必要服務(wù)、缺少日志審計(jì)。作答時(shí)不需要寫特別高深的滲透思路只需要逐條對(duì)應(yīng)風(fēng)險(xiǎn)給措施Telnet換成SSH、開啟防火墻并配置最小策略、修改默認(rèn)口令、關(guān)閉未使用端口和服務(wù)、開啟日志集中管理與定期審計(jì)。這些是拿滿分的標(biāo)準(zhǔn)答案寫的時(shí)候注意邏輯順序——先指出風(fēng)險(xiǎn)在哪再寫具體操作最后說明作用。工程習(xí)慣越好得分越穩(wěn)。如果你連防火墻的兩種工作模式都還沒分清這里補(bǔ)充一句最核心的區(qū)別包過濾防火墻工作在網(wǎng)絡(luò)層速度快但不關(guān)心應(yīng)用內(nèi)容應(yīng)用層網(wǎng)關(guān)代理防火墻工作在應(yīng)用層能檢查內(nèi)容但性能開銷更大。現(xiàn)在的下一代防火墻基本都具備雙模能力考試中如果只出現(xiàn)根據(jù)IP和端口進(jìn)行過濾你優(yōu)先選包過濾。8. 備考策略與高頻丟分點(diǎn)復(fù)盤8.1 按優(yōu)先級(jí)排復(fù)習(xí)順序這章的復(fù)習(xí)不要從頭逐頁啃教材我的順序是先攻IP與子網(wǎng)劃分因?yàn)樗_定性最強(qiáng)練熟就能拿分再攻分層模型和協(xié)議因?yàn)樗鼈兏采w題目最多然后看加密與簽名最后過一遍安全攻擊與設(shè)備配置。配置命令部分如果時(shí)間緊張可以只掌握常考的那幾條排查命令和防火墻概念沒必要深入命令行細(xì)節(jié)。每天投入的時(shí)間建議控制在四十分鐘到一小時(shí)連續(xù)一周就能把知識(shí)點(diǎn)輪一遍。做過模擬題的都知道協(xié)議和端口的記憶衰減非??熘苋惩曛芰艉苷K砸欢ㄒ鲩g隔復(fù)習(xí)。我的做法是在手機(jī)備忘錄里放一張協(xié)議端口速查表午休時(shí)掃兩遍堅(jiān)持到考前一周基本就不會(huì)再混了。8.2 高頻丟分點(diǎn)Top 5我自己復(fù)習(xí)時(shí)通過刷錯(cuò)題總結(jié)了五個(gè)容易丟分的點(diǎn)寫下來給你排雷TCP與UDP的應(yīng)用判斷。FTP控制連接使用哪個(gè)協(xié)議這種題不難但流媒體直播為什么用UDP而不是TCP很多人會(huì)把可靠傳輸這類優(yōu)點(diǎn)錯(cuò)套上去。答題時(shí)先看應(yīng)用是否允許丟包。私有地址范圍記混。172.16.0.0/12的范圍是172.16.0.0到172.31.255.255常有人把它和172.16.0.0/16搞混。給定一個(gè)172.20.x.x地址它屬于私有地址可以出現(xiàn)在內(nèi)網(wǎng)環(huán)境中。網(wǎng)絡(luò)號(hào)與廣播號(hào)排序??捎弥鳈C(jī)數(shù)是2^n - 2這個(gè)減2減的是網(wǎng)絡(luò)地址和廣播地址。老有人只減一個(gè)或者把地址段寫成從網(wǎng)絡(luò)地址本身開始這是計(jì)算題中最明顯的失分點(diǎn)。數(shù)字簽名方向搞反。私鑰簽名、公鑰驗(yàn)簽這個(gè)方向一旦記錯(cuò)后面的流程題全亂。我用口訣私簽公驗(yàn)公加私解來區(qū)分加密和簽名。網(wǎng)絡(luò)安全知識(shí)里混淆加密與摘要。比如為校驗(yàn)下載文件的完整性選MD5而不是選RSA這類題選錯(cuò)就非??上А?.3 考前兩天的快速記憶法最后兩天不必再刷新題這時(shí)候最適合做歸納表。我建議你親手畫一張大表左邊是網(wǎng)絡(luò)分層中間寫每層的設(shè)備、協(xié)議、典型故障右邊寫與安全相關(guān)的攻擊類型。這張表的制作過程本身就是一次主動(dòng)回憶比你反復(fù)看別人的總結(jié)要有用得多。針對(duì)端口號(hào)這類純粹的記背型內(nèi)容我還有一個(gè)取巧的經(jīng)驗(yàn)把21、22、23、25、53、80、110、143、443這些數(shù)字按從邊緣服務(wù)到基礎(chǔ)設(shè)施的順序讀幾遍然后用如何給一個(gè)沒有域名的服務(wù)器配置服務(wù)這種小場(chǎng)景把每個(gè)端口串起來。場(chǎng)景記憶比孤立記憶持久考場(chǎng)上給你一個(gè)具體的管理動(dòng)作你就能條件反射地想到對(duì)應(yīng)端口和協(xié)議。信息安全部分同理你可以在腦中模擬一條攻擊鏈攻擊者先用端口掃描發(fā)現(xiàn)開放了23端口嘗試暴力破解獲取口令然后登入服務(wù)器關(guān)閉日志并植入后門最后利用這臺(tái)機(jī)器對(duì)內(nèi)網(wǎng)進(jìn)行ARP欺騙。把這個(gè)故事里每一步涉及的概念——暴力破解、Telnet明文風(fēng)險(xiǎn)、日志審計(jì)、ARP欺騙——串一遍選擇題里碰到任何一個(gè)環(huán)節(jié)你都能快速定位這比我給你整理十遍重點(diǎn)都管用。這個(gè)考點(diǎn)本身不復(fù)雜但信息密度高。別貪多求全把高頻知識(shí)點(diǎn)按上面幾個(gè)模塊消化到位再配合每天十道左右的練習(xí)題保持手感考試時(shí)這8分左右完全可以直接拿下。萬一在做模擬題時(shí)發(fā)現(xiàn)自己哪個(gè)部分反復(fù)錯(cuò)不要急著刷新題先回到對(duì)應(yīng)的模塊把概念和計(jì)算步驟重新寫一遍你會(huì)發(fā)現(xiàn)第二次做同樣的題速度會(huì)快很多正確率也更高。備考最忌看著都會(huì)、做題就廢所以動(dòng)手算、動(dòng)筆寫、口頭復(fù)述才是真正的提分動(dòng)作。