訂閱以接收新文章的通知:

封鎖 IP 位址的非預期後果

2022/12/16

26 分鐘(閱讀時間)
The unintended consequences of blocking IP addresses

8 月底時,Cloudflare 的客戶支援團隊開始收到關於我們網路上的網站在奧地利遭關閉的投訴。團隊立即採取行動,嘗試從外部找出造成奧地利部分網際網路服務中斷的原因。我們很快即發現,這是奧地利當地網際網路服務提供者的問題。

但服務中斷並非技術問題造成。我們後來從媒體報導中得知,該情形是法庭命令所造成的。奧地利法庭在未通知 Cloudflare 的情況下,命令奧地利網際網路服務提供者 (ISP) 封鎖 11 個 Cloudflare 的 IP 位址。

在嘗試封鎖版權持有者主張違反版權的 14 個網站時,法庭命令的 IP 封鎖讓奧地利一般網際網路使用者有兩天內無法存取數千個網站。這數千個網站犯了什麼錯?什麼錯都沒有。由於無法建立體現網際網路實際架構的法律救濟和系統,使這些網站成了暫時性的受害者。

我們今天將會深入討論 IP 封鎖:我們注意到它的原因、它是什麼、它用來做什麼、它會影響哪些人,以及將其用於處理線上的內容會有問題的原因。

大、小連帶效應

最荒唐的是,這類封鎖情形在全世界都經常發生。但除非是像奧地利這樣的大規模封鎖,或有人特地強調,否則外界經常不會察覺。就算是具備深度技術專業知識且理解封鎖運作方式的 Cloudflare,也經常無法見到 IP 位址遭封鎖的情況。

對於網際網路使用者來說,這更加難以理解。他們通常不知道為何無法連線到特定網站、連線問題的源頭,或是如何解決該問題。他們只知道無法進入嘗試造訪的網站。而這可能使人難以記錄因 IP 位址遭封鎖而無法存取網站的情形。  

封鎖這一做法也非常普遍。自由之家最近在《網路自由度報告》中報告,他們檢驗的 70 個國家/地區中有 40 個進行了某種形式的網站封鎖——其範圍從俄羅斯、伊朗和埃及等國家,到英國和德國等西方民主國家都有。儘管報告並未進一步鑽研那些國家/地區的封鎖方式,但許多國家/地區都使用了各種形式的 IP 封鎖,與我們在奧地利所看見部分網際網路中斷情形有相同類型的潛在影響。

儘管難以評估 IP 封鎖所造成連帶損害量,我們仍能提供嘗試將其量化的組織之例子。總部位於斯洛伐克的非營利組織 The European Information Society Institute 結合了歐洲人權法院的案子,審查了俄羅斯政權在 2017 年進行的網站封鎖。俄羅斯將 IP 位址專門用於封鎖內容。The European Information Society Institute 推斷該 IP 封鎖措施導致「大量網站遭連帶封鎖」,並指出截至 2017 年 6 月 28 日,「6,522,629 個網際網路資源在俄羅斯中遭到封鎖,而當中有 6,335,850 – 個,或 97% – 的網站是在沒有合法理由的情況下遭連帶封鎖的。」

在英國,過度封鎖促使非營利組織 Open Rights Group 建立 Blocked.org.uk 網站。該網站中的工具讓使用者與網站持有者能夠彙報過度封鎖情形並要求 ISP 解除封鎖。該團體也有數以百計的個別故事講述網站遭不適當封鎖對當事人帶來的影響,這些人從慈善機構到小型企業主都有。儘管不清楚使用何種封鎖方式,需要該網站的事實就能傳達過度封鎖的數量。想像一下,若有製衣商、製錶商或車商想為其服務打廣告並可能會透過網站獲得新客戶。但當地使用者若無法存取網站,那便沒有效果。

可能有人會說,「那就確保受限網站與無受限網站不共用相同網址即可。」但正如我們之後會更詳細討論得,這種說法忽略了可用網域名稱數量以及可用 IP 位址數量之間的極大差異,且這違反了讓網際網路能夠使用的技術規範。此外,受限與無受限的定義在不同國家、社群和組織中都不同。就算有可能知道所有限制,但網際網路本身的通訊協定設計代表要滿足每個機構的限制,就算並非不可能,也是不可實行的。

法律與人權問題

過度封鎖網站不僅會對使用者造成問題;還會有法律後果。由於可能會對尋求在網路上行使權力的一般市民造成影響,政府實體(法庭以及監管機構)有法律義務,即確保其命令必要且合適,且不影響未造成傷害的人。

舉例來說,很難想像法院應對犯罪指控時,會僅根據街道地址盲目地發出搜索令或命令,而不在乎該地址是單一家庭房屋、六單元公寓建築,還是有數百個單元的高樓。但這種做法在 IP 位址方面則似乎很泛濫。  

2020 年時,歐洲人權法院(ECHR,監督歐洲理事會《歐洲人權公約》實施的法院)考慮的案例中, 遭俄羅斯封鎖的網站並非遭俄羅斯政府針對,而是與遭封鎖的網站共用 IP 位址。網站持有者就封鎖行為提出訴訟。ECHR 的結論是不容許無差別封鎖,裁定封鎖網站合法內容「相當於蠻橫干涉該類網站持有者的權利。」換而言之,ECHR 裁定政府不應發出會導致目標以外網站遭封鎖的命令。

使用網際網路基礎結構來處理內容挑戰

一般的網際網路使用者不會考慮嘗試線上存取的內容是如何提供給他們的。他們會假設在瀏覽器輸入網域名稱後,內容即會自動出現。且即使內容未出現,他們也會假設是網站本身有問題,除非整個網路連線中斷。但這些基本假設會忽略一項現實:即與網站的連線經常會用於限制存取線上的內容。

為何許多國家/地區會封鎖與網站之間的連線?也許他們希望限制自己的公民存取認為違法,但在世界上其他地方准許的內容,例如線上賭博或少兒不宜的材料。或許他們希望防止人民觀看國家認為主要是錯誤資訊的國外新聞來源。又或者他們想要幫助版權持有者封鎖網站存取權,以限制他人檢視他們認為侵犯其智慧財產權的內容。

必須澄清的是, 封鎖存取權與從網際網路上移除內容並不相同。有各種允許實際移除非法內容的法律義務與權限。事實上,在許多國家/地區的信賴保護原則中,封鎖是在數次嘗試移除來源內容後才使用的最後手段。

封鎖只是防止特定觀眾存取網站,即網際網路存取依靠進行封鎖的 ISP 的人。網站自身仍存在於線上,且其他人都能夠存取。但是當內容來自其他國家/地區且難以輕易移除時,國家/地區可能會將封鎖視為最佳或唯一手段。

我們承認有些問題有時會促使國家/地區實施封鎖。但基本上我們相信,讓使用者知道他們正嘗試存取的網站遭封鎖,以及若有可能再加上封鎖網站者及其原因很重要。且最重要的是,任何用於解決傷害的內容限制都應盡可能限制,避免侵犯其他人的權利。

強制封鎖 IP 位址不允許這些情形。這對於網際網路使用者來說是完全難以理解的。該做法會對於其他內容造成預期之外、不可避免的後果。且由於網際網路本身的架構,難以在 IP 封鎖前或過程中找出合適的方法以識別其他可能會受影響的網站。

若要理解奧地利以及世界上其他許多國家/地區試圖透過 IP 位址直接封鎖內容時所發生的事,我們必須理解其背後的原理。這代表需要深入研究技術細節。

身分與名稱相連結,絕不是位址

在我們開始說明封鎖方面的技術現實前,必須強調處理內容的首要且最佳選項為從源頭處理。網站擁有者或主機提供者能夠選擇在細微層面上移除內容,而不必關閉整個網站。技術層面上,網域名稱註冊商或登錄檔有將網域名稱以及網站完全從網際網路中撤回的可能。    

但要是內容擁有者或內容來源無法或不願將網站從網際網路中移除,要如何封鎖網站存取權?可能的控制點僅有三個。

第一種是透過網域名稱系統 (DNS),這能將網域名稱轉換成 IP 位址,使人能夠找到該網站。DNS 解析程式可能會撒謊並以 NXDOMAIN 代碼(代表「沒有該名稱」)回應,而非傳回有效的網域名稱 IP 位址。更好的方法是使用於 2020 年標準化的誠實錯誤代碼之一,包括代表遭封鎖的錯誤 15、代表遭刪改的錯誤 16、表示經過濾的錯誤 17,或象徵遭禁止的錯誤 18,但這目前還未廣泛使用。

有趣的是,作為控制點的 DNS 的精準性與有效性取決於 DNS 解析程式為私人還是公開。私人或「內部」DNS 解析程式是由 ISP 以及企業環境為自己的已知客戶運行的,代表運作者能精準套用內容限制。反之,這種精準程度不適用於公開或公共解析程式,尤其網際網路地圖上的路由與位址遍布全球且不斷變化,與固定的郵政或街道地圖的位址和路由形成強烈對比。舉例來說,私人 DNS 解析程式可以封鎖特定地理區域內的網站存取權,且具備公開 DNS 解析程式沒有的精準度,而鑑於世界各地截然不同(且不一致)的封鎖制度,這點變得極為重要。

第二種方式是封鎖連線至受限網域名稱的個別請求。當使用者或客戶想造訪網站時,會開始從客戶端連線至伺服器名稱,即網域名稱。若網路或路徑上裝置能觀察到伺服器名稱,則能終止連線。與 DNS 不同的是,此方法沒有能向使用者傳達該伺服器名稱存取權遭封鎖或其原因的機制。

第三種方法是封鎖能找到該網域名稱的 IP 位址之存取權。這就像是阻擋所有寄至某一實際地址的信件。舉例來說,若該地址為摩天大樓而當中有許多無關且獨立的住戶。停止送信至該大樓的地址絕對會影響該地址的所有人,進而造成連帶損害。IP 位址也是如此運作。

值得注意的是,IP 位址是三種選項中唯一一個與網域名稱無關的。無需網站的網域名稱即可進行路由並傳送資料包;實際上會完全忽略它。可同時在任何 IP 位址,甚至是許多 IP 位址上提供同一網站。自 1995 年以來,查詢 DNS 即無法確切得知 IP 位址集,且 DNS 能夠在任何時候以任何理由傳回任何有效位址。

由於位址與名稱脫離已深植在網際網路標準與通訊協定中,因此網際網路設計中位址代表身分的想法十分令人驚訝,如接下來的解釋。

網際網路是一系列通訊協定的集合,而非政策或觀點

許多人仍有 IP 位址代表單一網站的錯誤假設。我們之前提到,由於最早出現的網際網路連線元件為一台電腦、一個介面、一個位址以及一個名稱,因此可理解名稱與位置之間的關聯。這種一對一關聯是部署網際網路通訊協定時生態系統的產物,並能滿足當時的需求。

儘管早期網際網路有著一對一命名的做法,實際上一直都有將不只一個名稱指派至伺服器(或「主機」)的可能。例如,伺服器過去(現在也)通常會設定能反映所提供服務的名稱,例如「mail.example.com」以及「www.example.com」,但這些會共用相同基本網域名稱。在需要將完全不同的網站集中在單一伺服器前,很少有設定完全不同網域名稱的理由。1997 年時,HTTP/1.1 中的主機標頭使該做法變得更加容易,而 2003 年時,TLS 擴充內的 SNI 欄位保留了這一功能。

在改變的過程中,網際網路通訊協定以及個別 DNS 通訊協定不僅並駕齊驅,並且基本上維持不變。這就是網際網路能擴展並演變的原因,因為這與位址、可達性以及任意名稱與 IP 位址的關係有關。

IP 與 DNS 的設計亦完全獨立,這加強了名稱與位址之間的分離性。進一步檢查通訊協定的設計元素便能發現對原則的誤解,導致人們現在透過封鎖 IP 位址來控制內容存取權的常見做法。

從設計方面而言,IP 是針對可達性而非其他事物

如同依靠建築規範與最佳實踐的大型公共土木計劃,網際網路使用了公開標準以及規範建立, 這些標準與規範是根據經驗制定,且獲得國際上的一致同意。網際網路工程任務組 (IETF) 以「請求意見稿」(或稱 RFC)的形式發佈與硬體和應用程式相關的網際網路標準,此命名並非表示不完整,而是要反映出標準必須隨著知識和經驗演變。IETF 及其 RFC 已經鞏固了通訊的結構,例如 1969 年發佈的第一個 RFC 1。網際網路通訊協定 (IP) 規範在 1981 年達到了 RFC 狀態

除了制定標準組織外,端對端 (e2e) 原則此一核心思想也幫助網際網路取得成功,此原則亦是在 1981 年,根據多年的嘗試與錯誤經驗編纂而成的。端對端原則是強大的抽象概念,儘管有多種形式,仍顯示出網際網路通訊協定規範的核心概念:網路唯一的責任是建立可達性,且其他可能的功能都有成本或風險。

網際網路通訊協定中「可達性」的想法亦載入在 IP 位址本身的設計中。網際網路通訊協定規範的 RFC 791 中,第 2.3 節的下列摘錄明確指出 IP 位址與名稱、介面或任何其他項目無關。

Addressing

    A distinction is made between names, addresses, and routes [4].   A
    name indicates what we seek.  An address indicates where it is.  A
    route indicates how to get there.  The internet protocol deals
    primarily with addresses.  It is the task of higher level (i.e.,
    host-to-host or application) protocols to make the mapping from
    names to addresses.   The internet module maps internet addresses to
    local net addresses.  It is the task of lower level (i.e., local net
    or gateways) procedures to make the mapping from local net addresses
    to routes.
                            [ RFC 791, 1981 ]

如同現實世界摩天大樓的郵政地址,IP 位址也不過是寫在一張紙上的街道地址。且就像紙上的街道地址一樣,沒有人能確信 IP 位址後存在的實體或機構。在 Cloudflare 所擁有的這類網路中,任意單一 IP 位址都代表了數以千計的伺服器,且當中可能有更多的網站和服務,某些情況下數量甚至可達到數百萬,而網際網路通訊協定的設定就是要實現此目標。

有趣的問題來了:我們或任何內容服務提供者是否能確保每個 IP 位址僅與一個名稱配對?答案顯然是,原因在於 DNS 通訊協定的設計。

DNS 中的名稱數量總是超過可用位址的數量

由於網際網路規範,名稱以及位址的關係不可能是一對一的,這與現實世界中無法實現此情況一樣。暫時先不考慮人們和機構可變更住址的情況。基本上來說,地球上的人們與機構的數量超過郵政地址的數量。而我們不僅希望,更需要網際網路容納的名稱數量大於位址數量。

名稱與位址之間的數量差距亦記載在規範中。IPv4 位址為 32 位元,而 IPv6 位址為 128 位元。DNS 可查詢的網域名稱大小最多為 253 個八位元,即 2,024 位元(來自 1987 年發佈的 RFC 1035 中的第 2、3、4 節)。下方表格能幫助您以不同角度觀察這些差異:

2022 年 11 月 15 日時,聯合國宣布地球人口超過 80 億。我們從直覺上即能得知不可能有這麼多的郵政地址。地球上可能名字數量的差異,正如網際網路上的名稱,的確且必須超過可用位址數量。

嘗試過才知道!

現在我們已經理解了國際標準中關於 IP 位址與 DNS 名稱的兩條相關原則,即 IP 位址和網域名稱有著不同用途且兩者之間無一對一的對應關係,接著可以查看最近使用 IP 位址封鎖內容的案例,幫助瞭解此做法有問題的原因。以 2022 年 8 月底奧地利發生的 IP 封鎖事件為例。該命令的目標是封鎖 11 個 IP 位址,進而限制 14 個目標網域的存取權(來源:RTR.Telekom。透過網際網路檔案館發佈),兩者數量不符應成為警示,表示該 IP 封鎖命令可能無法得到想要的效果。

比喻以及國際標準可能解釋了應避免 IP 封鎖的原因,但我們能透過觀察網際網路規模的資料看到問題的範圍。我們為了進一步理解並解釋 IP 封鎖的嚴重性,決定製作網域名稱與 IP 位址的全球視圖(感謝博士研究實習生 Sudheesh Singanamalla 的努力)。2022 年 9 月時,我們使用了 .com、.net、.info,及 .org 等頂層網域 (TLD) 的權威區域檔案以及前百萬網站清單,以找出共 255,315,270 個唯一名稱。接下來我們在每五個區域中查詢一個 DNS,並記錄傳回的 IP 位址集。以下表格為研究結果總結:

上表清晰顯示,不到 1,070 萬個位址即能達到地球上任何區域的 255,315,270 個名稱,而來自這些名稱的總 IP 位址數量大約為 1,600 萬,歐洲的名稱與 IP 位址比大約為 24 倍,全世界則為 16 倍。

上表數字還有另一個值得注意的細節:IP 位址為 IPv4 以及 IPv6 位址的總和,代表要達到總數 2.55 億個網站所需的位址要少許多。

我們也以幾種不同方式檢查資料,以找出有趣的發現。例如,下方圖表顯示出每多出一個 IP 位址,可造訪網站比率的累積分佈 (CDF)。Y 軸是特定數量 IP 位址下,可到達網站的比率。X 軸是 1,600 萬個 IP 位址,按網域數量多至少由左至右排序。值得注意的是此集合中的任意 IP 位址都是 DNS 的回應,因此必須包含至少一個網域名稱,但在這組數字中,網域數量最多的 IP 位址有 8 位數百萬個網域。

觀察 CDF 可得出幾個令人驚訝的發現:

  • 達到網域數量 20%(或約 5,100 萬)所需的 IP 位址數低於 10;
  • 100 個 IP 就幾乎足以達到 50% 的網域;
  • 1,000 個 IP 就足以達到 60% 的網域;
  • 10,000 個 IP 就足以達到 80% 的網域(約 2.04 億)。

事實上,資料集內總計 1,600 萬個位址中,擁有一個名稱的位址不到一半(710 萬,43.7%)。關於「一個」我們必須進一步澄清:我們無法確定這些位址上是否僅有一個名稱且無其他名稱,因為除了 .com、.org、.info.,以及 .net 等網域外,還有許多域名包含在其他網域中,因此這些位址上可能還有更多名稱。

除了單一 IP 位址擁有許多網域名稱外,任何網域的 IP 位址也可能隨時間變更。定期變更 IP 位址有助於特定網路安全、性能以及改善網站可靠性。許多作業中常用的範例為負載平衡。這代表 DNS 查詢可能會隨時間經過,或在不同地方對同一個網站傳回不同的 IP 位址。這就是根據 IP 位址封鎖隨時間經過無法達成預期目標的另一個原因。

歸根結底,若不從地球上所有地方檢查所有時間的所有 DNS 名稱,則沒有可靠的方式能知道 IP 位址上的網域數量,而這是完全無法實行的提議。

根據規則並授權網際網路的通訊協定之定義,任何對於 IP 位址的操作都預期會產生連帶影響。

IP 封鎖缺乏透明度

因此若預期封鎖 IP 位址會有連帶影響,甚至大家普遍認為過度封鎖含有多個域名的 IP 位址不合適甚至違法,為何仍會發生此情形?我們難以得知確切原因,所以僅能進行推測。有時這反映出缺乏技術知識而不理解可能的影響,尤其是非技術人員的法官等。有時政府僅是忽略連帶損害(如同關閉網際網路時所做的事),因為他們認為封鎖符合其利益。且就算有連帶損害,對外部世界來說也通常不明顯,因此要求解決該損害的外部壓力也非常小。

這一點值得強調。當 IP 遭封鎖時,使用者僅能見到連線失敗。他們並不知道連線失敗的原因,或造成連線失敗的人。另一方面,代表網站運作的伺服器要在接到無法連線的投訴後,才會知道網站遭封鎖。實際上,過度封鎖毫無透明性,也無問責制度。而對網站持有者而言,質疑封鎖或針對遭不適當封鎖尋求賠償極具挑戰,甚至不可能。  

包括奧地利在內的一些政府的確有發佈主動封鎖清單,而這是針對透明度的重要一步。但根據我們討論到的所有原因,公佈 IP 位址無法顯示出所有遭意外封鎖的網站。且並未提供受影響者質疑過度封鎖的手段。同樣以現實世界舉例,很難想像法院對摩天大樓的命令不張貼在門上,但在虛擬空間,這種跳過正當程序以及必要通知的情形很常見。

我們認為,隨著推動封鎖網路上內容的國家/地區數量不斷增加,討論 IP 封鎖的問題性後果比以往都更加重要。不幸地是,ISP 經常使用 IP 封鎖以實現該要求。這可能是因為 ISP 較新或不如更大的對應機構強大,但更大的 ISP 亦會採取此做法。這可以理解,因為 IP 封鎖最不費力且隨時都能在大部分設備上進行。

隨著相同數量 IP 位址中包含的網域增加,此問題只會變得更加嚴重。

後續步驟

那我們能做什麼呢?

我們認為第一步是改善 IP 封鎖方面的透明度。儘管我們尚不知道記錄 IP 封鎖所造成連帶損害的全面方法,我們認為仍能採取一些措施來擴大對該做法的意識。我們致力於制定強調這些觀點的新措施,就如同我們在 Cloudflare Radar 服務中斷中心所做得一樣。

我們也意識到這是整個網際網路的問題,因此必須更廣泛地努力解決。按照 IP 位址封鎖很有可能導致一系列不相關(及非目標)網域的存取權受限,應讓所有人都不選擇此方式。這就是為什麼我們與民間團體合作夥伴和想法相似的公司合作,藉由其意見質疑「封鎖 IP 位址以解決有問題內容」這一做法,並在見到此做法時指出連帶損害。

簡而言之,若要解決線上非法內容帶來的問題,各國需要有能夠以尊重權利的方式移除或限制內容的法律機制。我們堅信,從源頭處理內容始終是最佳的方式,並且是必要的第一步驟。歐盟新的《數位服務法案》或《數位千禧年著作權法》等法案提供自源頭解決非法內容的工具,同時還能尊重重要的正當程序原則。政府應注重建立並採用最不影響他人權利,且與人權期望一致的法律機制。

簡而言之,封鎖 IP 位址無法達成這些需求。

我們將持續尋找討論網路活動與中斷的新方式,尤其是當中斷導致存取權受到不必要限制時。請查看 Cloudflare Radar 以獲得我們對線上所見內容的更多見解。

我們保護整個企業網路,協助客戶有效地建置網際網路規模的應用程式,加速任何網站或網際網路應用程式抵禦 DDoS 攻擊,阻止駭客入侵,並且可以協助您實現 Zero Trust

從任何裝置造訪 1.1.1.1,即可開始使用我們的免費應用程式,讓您的網際網路更快速、更安全。

若要進一步瞭解我們協助打造更好的網際網路的使命,請從這裡開始。如果您正在尋找新的職業方向,請查看我們的職缺
Impact Week (TW)Better Internet (TW)Internet Performance (TW)繁體中文

在 X 上進行關注

Marwan Fayed|@marwanfayed
Cloudflare|@cloudflare

相關貼文

2022年12月16日 下午8:23

2022 年 Cloudflare 的 Impact Week 期間您可能錯過的全部內容

這是一篇總結性文章!2022 年 Impact Week 已經接近尾聲。上週,Cloudflare 在我們的使命中宣佈了新承諾,致力於打造更安全的網際網路環境,其中包括為最弱小的聲音和最關鍵的基礎架構提供 Zero Trust 服務。我們還宣佈推出了新的產品和服務,並分享了技術深度解讀...