1.2 網絡科普時刻
想正確地配置網絡環境,維護系統安全,需要了解一些基本的網絡知識,比如主機、IP地址、協議和端口等。網絡是一個非常寬泛的話題,本節雖然沒有詳盡地介紹所有的網絡知識,但是對于學習和配置Linux網絡,解決網絡基本問題并保護網絡連接還是夠用的。
難度:★★
1.2.1 不可不知的網絡專用術語
當兩臺或多臺計算機通過某種連接進行通信時,就會形成一個網絡。網絡的連接方式可以通過不同的技術創建,比如以太網、光纖和無線技術等。加入網絡的每臺計算機都被稱為主機(host),比如臺式計算機、筆記本(即筆記本電腦)、打印機、路由器甚至手機。
數據在網絡上傳輸時是通過網絡數據包(Net work Packet)完成的。網絡數據包是一種預先定義好的消息結構體,包括數據和元數據,也叫包頭(Packet Header)。包頭中有目的地信息,包括目標主機的IP地址和端口。
放在網絡數據包中的數據必須以接收方能夠理解的格式存在。這就需要用到協議(Protocol),它是兩個主機之間定義好的網絡通信標準。
廣域網和局域網
網絡通常分為局域網(Local Area Network, LAN)和廣域網(Wide Area Network, WAN)兩種類型,示例如圖1-5所示。局域網由同一網絡中直接通信的主機構成,廣域網由通過路由器或交換機等進行通信的LAN組成。從某種意義上來講,每個城市相當于LAN,整個國家甚至是全世界相當于WAN。

圖1-5 局域網和廣域網

路由器和交換機可以將網絡通信從一個網絡傳輸到另一個網絡中。
1.2.2 關于IP的小知識
IP地址指的是互聯網協議地址,網絡上每一臺計算機的IP地址都是唯一的。IP地址有兩種不同的版本,即IPv4和IPv6。最先出現的版本是IPv4,隨著互聯網的迅速發展,計算機用戶增多,IPv4定義的有限地址遲早會被使用完,因此新增了IPv6,擴大了地址空間。
IPv6通常被認為更安全,但是如果在連接網絡的系統上使用該地址,網絡數據包有可能會被轉換成IPv4數據包。IPv6提供的安全功能通常只在組織內部生效。
現在還沒有完全切換到IPv6的原因有很多,這里主要介紹兩點。一是將整個網絡從IPv4切換到IPv6并不是一件簡單的事情;二是隨著NAT(網絡地址轉換)技術的應用,消除了人們對IPv4不夠用的擔憂。IPv4仍然是目前上網使用的主要協議地址。
IPv4和IPv6的區別
IPv4和IPv6有許多不同之處,這里列出了一些主要的區別,如表1-1所示。表中雖然不是IPv4和IPv6的全部差異,但是也讓我們明白了IPv6是相對更先進的。
表1-1 IPv4和IPv6的區別


通過NAT技術,路由器只需要一個能在因特網(Internet)上通信的IPv4地址即可。路由器連接到的LAN使用另一組IP地址(私有IP地址)。私有IP地址不能在網絡上直接使用,通過NAT技術可以讓局域網中的主機間接訪問外部網絡。
IPv4地址的分類
IPv4地址由4個以點分隔的十進制數字組成(比如192.168.100.25),每個數字表示一個8位字節。IPv4地址被分成5個類別,如表1-2所示。每一個類別由IP地址的第一個數字決定。
表1-2 IPv4地址分類

1.2.3 網絡端口和協議
服務與端口的映射關系一般保存在/etc/services文件中。不過,大多數服務在配置文件中都有一個配置項,用于表示該服務將要使用的實際端口。
協議是一種通信標準,比如Web服務器通常使用HTTP作為客戶端與服務器之間的通信標準。服務器可以支持多個協議,比如Web服務器還可以使用FTP和HTTPS等協議。協議用于從網絡的更高層次定義網絡操作。
常用的網絡端口
我們需要了解一些常見的端口以及對應的服務,如表1-3所示。
表1-3 常用網絡端口

常用的協議
除了常見的端口和服務,一些重要的協議也需要我們了解,如表1-4所示。這些協議是網絡安全中比較重要的協議簇。
表1-4 常用的協議

1.2.4 基本的網絡加固
基本的網絡加固不需要額外的軟件或復雜的設置,主要是操作哪些主機之間可以相互通信。不過在實際操作中,定義安全防火墻規則和網絡安全總體策略有時會變得復雜。
在進行網絡加固時,可以采用最小權限原則。在設置防火墻規則時,默認先阻止所有的流量,然后添加防火墻規則以便允許需要的訪問。
雖然防火墻規則會保護網絡避免未經授權的訪問,但是對于中間人(MITM)攻擊,防火墻作用不大。通常攻擊者會在傳遞數據之前修改數據以便隱藏攻擊行為。緩解MITM攻擊的最簡單方法之一是在網絡通信中使用TLS(安全傳輸層協議)。TLS使用網絡流量加密和服務器身份驗證來阻止MITM攻擊。這樣攻擊者將無法看到客戶端與服務器端之間的秘密和數據。
TLS身份驗證
使用TLS時,客戶端會對服務器進行身份驗證,然后啟用加密會話。服務器向客戶端提供由客戶端具備合法登錄信息人的簽名證書,如圖1-6所示。TLS也允許服務器對客戶端進行身份驗證,不過這種做法不太常見。

圖1-6 TLS身份驗證

我們還可以在更高級別的安全設置中看到客戶端身份驗證。
- INSTANT Netcat Starter
- 黑客大曝光:無線網絡安全(原書第3版)
- Learning Python for Forensics
- Rootkit和Bootkit:現代惡意軟件逆向分析和下一代威脅
- 軟件開發安全之道:概念、設計與實施
- .NET安全攻防指南(上冊)
- ARM匯編與逆向工程:藍狐卷·基礎知識
- Spring Security(Third Edition)
- 電腦安全與攻防入門很輕松(實戰超值版)
- SQL Injection Strategies
- 持續集成:軟件質量改進和風險降低之道
- 數字政府網絡安全合規性建設指南:密碼應用與數據安全
- 網絡安全實戰詳解(企業專供版)
- INSTANT Kali Linux
- 交換機·路由器·防火墻(第2版)