+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Facebook從網路世界中消失了。六小時。

Facebook將自己的位址從網際網路中刪除,當其工程師趕來恢復時,門禁讀卡機也失效了,因為它們是運行在Facebook上的。

Facebook將自己的位址從網際網路中刪除,當其工程師趕來恢復時,門禁讀卡機也失效了,因為它們是運行在Facebook上的。2021年10月4日,15:40 UTC:一個例行的骨幹網路維護指令導致Facebook所有數據中心之間的鏈接中斷;用於阻止此類指令的審計工具存在錯誤;Facebook的名稱伺服器由於無法連線到數據中心,按設計撤回了它們自己的BGP路由——因此facebook.com、Instagram、WhatsApp和Messenger從DNS中消失了將近六小時。內部工具、頻外存取和辦公室門禁卡都運行在同一個網路上,因此修復需要現場人員操作機架。

閱讀書面版(英文) ↗

本影片重點

  • Facebook移除了自己的位址
  • 參考資料:Meta工程團隊、Cloudflare、Hacker News
  • 這是《The Daily Diff》的事件檢討
  • 時間軸:15:39指令 → 15:40撤銷 → 21:20恢復
  • 機制:將你刪除的健康檢查、30倍DNS風暴、門禁

翻譯文字稿

譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。

Facebook移除了自己的位址

0:00 Facebook將自己的位址從網際網路中刪除,當其工程師 趕來恢復時,門禁讀卡機也失效了, 因為它們是運行在Facebook上的。 Meta自己的事件檢討,第二天發布:一個例行維護指令導致每個 骨幹網路鏈接中斷,而用於阻止此類指令的工具存在錯誤。

參考資料:Meta工程團隊、Cloudflare、Hacker News

0:16 Cloudflare,從外部觀察:在UTC 15:40,通往Facebook名稱伺服器的路由 消失了,全球各地的dig facebook.com都返回SERVFAIL。 事件如何發生,為什麼安全功能讓情況更糟,以及誰該負責。 這是《The Daily Diff》的事件檢討。 下午早些時候,UTC。

這是《The Daily Diff》的事件檢討

0:34 一個旨在檢查骨幹網路空閒容量的指令卻導致Facebook所有 數據中心之間的每個鏈接中斷,而專為捕獲這種情況而設計的審計工具

時間軸:15:39指令 → 15:40撤銷 → 21:20恢復

0:41 卻放行了。 15:40。Cloudflare的BGP流量充斥著路由撤銷;Facebook的DNS 前綴從路由表中消失。 一分鐘內,Cloudflare的工程師們齊聚一室,懷疑他們是否 弄壞了1.1.1.1。15:45,Hacker News,兩千六百個 點讚。16:07,Facebook的發言人,竟然在Twitter上說:有些人 無法存取我們的應用程式。 「有些人」是指三十五億人。

1:06 18:51,《紐約時報》:員工被鎖在辦公大樓外, 門禁卡失效。19:52,技術長致歉。 21:00,五小時後,路由恢復;21:20,facebook.com 可解析。為什麼骨幹網路故障會讓Facebook從網際網路中消失?

機制:將你刪除的健康檢查、30倍DNS風暴、門禁

1:20 其名稱伺服器有一條規則:無法連線到數據中心, 宣告自己不健康,停止廣播你的位址。 當一個站點出現問題時,這是合理的。 當整個骨幹網路都出問題時,每個名稱伺服器都會同時執行此操作。 伺服器正在運行。 但沒人能找到它們。 一個安全功能將網路故障變成了存在性故障。 然後網際網路蜂擁而至:應用程式重試,使用者重新載入,

1:39 Cloudflare的解析器承受著正常負荷三十倍的流量, 對一個不存在的網站來說。 還有門禁。 工具、頻外存取、門禁卡:都在同一個網路上。 工程師開車到數據中心,進不去,然後面對加固的機架, 防止任何實體存取。 旨在減慢攻擊者,也減慢了擁有者。 骨幹網路恢復;他們刻意緩慢增加流量。

1:59 每個數據中心都停用了數十兆瓦的電力,一步到位地恢復會導致 第二次停機。

git blame — 責任劃分

2:05 git blame。Facebook,百分之五十五:指令經過審計, 審計工具有錯誤,一個指令影響了所有路由器。 DNS設計,百分之二十五:一個沒有比例感的健康檢查。 單一網路,百分之十五:工具、頻外、門禁。 機架,百分之五,因為它們盡責。 影響範圍:三十五億使用者,近六小時。 股價下跌百分之五,祖克柏紙面財富減少六十億,

影響範圍

2:27 美元。Telegram聲稱當天新增七千萬註冊。 結論,事件檢討:NEEDS REVIEW。 當晚聲明,一天內具名作者的事件檢討, 審計工具錯誤以白話文承認。

結論 + 星期一的建議

2:38 修復清單:加強測試和演習。 沒有提及將門禁從生產網路中移除。 星期一:將你的頻外存取和門禁放在一個你沒有 營運的網路上。 在評論中,或在thedailydiff.dev,發送你仍然不被允許談論的事件。 在評論中,或在thedailydiff.dev,發送你仍然不被允許談論的事件。 這就是今天的差異報告。 我是Axrisi的Niko。

2:58 負責地合併。

來源

  1. Meta Engineering, "More details about the October 4 outage" (Santosh Janardhan, Oct 5, 2021)engineering.fb.com
  2. Meta Engineering, "Update about the October 4th outage" (Oct 4, 2021)engineering.fb.com
  3. Cloudflare, "Understanding how Facebook disappeared from the Internet" (Oct 4, 2021)blog.cloudflare.com
  4. Mark Zuckerberg, note to employees (Oct 5, 2021)www.facebook.com
  5. Andy Stone (Facebook), 16:07 UTCtwitter.com
  6. Sheera Frenkel (NYT), 18:51 UTC, the badgestwitter.com
  7. Mike Schroepfer (Facebook CTO), 19:52 UTCtwitter.com
  8. Hacker News (2,589 points)news.ycombinator.com
  9. The New York Times, "Gone in Minutes, Out for Hours"www.nytimes.com
  10. Forbes, "Zuckerberg Loses $5.9B in a Day" (estimate)www.forbes.com
  11. Reuters, Telegram's 70 million sign-ups (Durov's figure)www.reuters.com
  12. Krebs on Securitykrebsonsecurity.com

相關影片

postmortem · zh-TW · 2026年9月19日

Google Cloud 在空白欄位上崩潰。三小時。

一個帶有幾個空白欄位的政策列導致空指標,Google Cloud 在所有區域同時崩潰 — 然後 Cloudflare 也隨之崩潰。2025 年 6 月 12 日,世界標準時間 17:49:Service Control 是核准每個 Google Cloud API 請求的二進位檔案,它讀取了一個帶有「非預期空白欄位」的配額政策變更,觸發了兩週前部署且沒有空值檢查和功能旗標的程式碼路徑,並在每個區域

2:57 ↗
postmortem · zh-TW · 2026年9月22日

重新開機讓 Telstra 回到 2006 年。九百萬支手機受影響。

墨爾本的一名工程師在凌晨 2:50 重新啟動計時機箱,到早餐時間,澳洲最大的行動網路一致同意時間是 2006 年 11 月 8 日。2026 年 7 月 8 日:Telstra 的 NTP 機箱中一個 GPS 卡在電源維修期間重新啟動,其韌體從未進行過 GPS 週數翻轉更新,因此它選擇了舊的紀元,回到 1,024 週前。由於 2025 年 10 月的權宜之計,該卡成為網路唯一的 stratum-1

3:15 ↗
postmortem · zh-TW · 2026年9月12日

一個正規表達式擊垮了 Cloudflare。27 分鐘。

2019 年 7 月 2 日,世界標準時間 13:42:Cloudflare 的網路應用程式防火牆 (WAF) 的一項新規則在大約兩秒鐘內在全球 180 多個城市上線。這是一項模擬模式下的 XSS 規則,因此它不會阻止任何內容,但它仍然會在每個請求上運行,並且它以 .*(?:.*=.*) 結尾。PCRE 進行回溯,每個處理 HTTP 請求的 CPU 核心都達到 100 %,每個經 Cloudfla

3:00 ↗