李響的恐懼像一層隔音棉,把我和外界徹底隔絕了。也好,安靜。
我重新扎進(jìn)代碼。既然“ARRAY_ALPHA”這個幽靈陣列存在,又需要“昆侖”系統(tǒng)主動鏡像數(shù)據(jù)給它,那么連接通道必然在“昆侖”的網(wǎng)絡(luò)配置或底層驅(qū)動里有蛛絲馬跡。
又是一天一夜的搜尋。我檢查了所有網(wǎng)絡(luò)配置文件、防火墻規(guī)則、甚至系統(tǒng)內(nèi)核模塊。干干凈凈,就像“星瀚”一樣,仿佛從未存在。
眼睛酸脹得幾乎流淚。我起身去洗手間,用冷水潑臉。抬起頭,鏡子里的人眼圈深陷,頭發(fā)油膩,像個偏執(zhí)的瘋子。
瘋子?也許吧。
回到屏幕前,我換了個思路。如果正常的配置路徑被清理了,會不會有非常規(guī)的硬編碼?或者……利用某個看似無害的合法服務(wù)做跳板?
我的目光落在“昆侖”的日常維護(hù)接口上。那是一個用于遠(yuǎn)程診斷和性能監(jiān)控的Web服務(wù),開放給少數(shù)運(yùn)維人員,使用標(biāo)準(zhǔn)HTTPS協(xié)議。為了安全,所有流量都強(qiáng)制雙向SSL加密認(rèn)證。
我調(diào)出這個服務(wù)的配置代碼,一行行仔細(xì)檢查。大部分是標(biāo)準(zhǔn)庫調(diào)用,乏善可陳。就在我要翻頁時,一個極不起眼的函數(shù)調(diào)用引起了我的注意。
ssl_socketset_extra_verify_callback(custom_verify)
自定義驗證回調(diào)?在一個要求絕對標(biāo)準(zhǔn)化、安全的運(yùn)維接口里?
我點進(jìn)這個`custom_verify`函數(shù)。代碼不長,但很繞。它似乎在標(biāo)準(zhǔn)SSL證書驗證之外,添加了一層額外的邏輯:會檢查連接客戶端證書的擴(kuò)展字段里,是否包含一個特定的、非標(biāo)準(zhǔn)的OID(對象標(biāo)識符)。
如果包含,驗證就會通過,并且……會為該連接開啟一個“調(diào)試模式”,允許訪問一個正常情況下隱藏的、帶特殊前綴的API路徑。
我的心跳漏了一拍。
這個OID是什么?代碼里沒有硬編碼,而是從一個環(huán)境變量讀取。變量名是:`MIRROR_ACCESS_KEY`。
鏡像訪問密鑰。
就是這個!
我立刻在代碼庫里全局搜索這個環(huán)境變量。沒有設(shè)置它的地方。它就像一把鑰匙,存在,但沒人告訴你放在哪兒。
誰能設(shè)置這個環(huán)境變量?只有部署和維護(hù)系統(tǒng)的人。
李響負(fù)責(zé)架構(gòu),但具體的部署和日常運(yùn)維,是另一個團(tuán)隊——系統(tǒng)保障部。負(fù)責(zé)人是王浩,一個技術(shù)扎實但謹(jǐn)小慎微的老好人。
王浩。我跟他打過幾次交道,僅限于技術(shù)問題。他像個守護(hù)服務(wù)器的老僧,從不參與任何辦公室政治。
我該聯(lián)系他嗎?李響的恐懼還在耳邊。
但王浩和我不一樣。他是運(yùn)維,不是開發(fā)。他可能根本不知道“星瀚”,不知道這場陰謀。他可能只是按照“上面”的要求,在服務(wù)器上設(shè)置了一個環(huán)境變量。
一個想法冒出來,冰冷而清晰:我不需要聯(lián)系他。我只需要知道,哪臺服務(wù)器可能設(shè)置了`MIRROR_ACCESS_KEY`。
“昆侖”的主生產(chǎn)集群龐大而復(fù)雜。但那個“ARRAY_ALPHA”既然是獨(dú)立、隱蔽的陣列,那么能與它建立鏡像連接的服務(wù)器,很可能不在主集群里,而是某臺獨(dú)立的、物理隔離的機(jī)器。
我回憶起“昆侖”上線前,為了應(yīng)對極端情況,搭建過一個**冷備災(zāi)備節(jié)點**。那臺服務(wù)器性能不強(qiáng),但存儲接口特殊,單獨(dú)放在總部大樓地下一層的某個加固機(jī)柜里,平時不通電,只有定期演練時才啟用。
它不在常規(guī)的運(yùn)維監(jiān)控列表里,像個被遺忘的影子。
地下一層……舊機(jī)房區(qū)域。安保相對寬松,因為里面大多是淘汰或備用的設(shè)備。
一個大膽的、近乎瘋狂的計劃,像毒藤一樣在我腦子里生根發(fā)芽。
我需要靠近那臺服務(wù)器。不是通過網(wǎng)絡(luò)——那太容易被追蹤和攔截——而是物理接觸。我需要從它的硬盤上,直接讀取可能存在的鏡像日志數(shù)據(jù)。
這意味著,我需要潛入國啟總部大樓,進(jìn)入地下一層舊機(jī)房。
風(fēng)險像黑色的潮水涌上來。被發(fā)現(xiàn),就是現(xiàn)行犯。坐實“竊取機(jī)密”的罪名,萬劫不復(fù)。
我靠在椅子上,手指無意識地敲打著桌面。屏幕的光映著我沒什么血色的臉。
父親工具箱里,有把特別薄的撬鎖片,他用來開一些老舊機(jī)床的電氣柜。他說,有時候,最直接的路徑,就是最短的。
我深吸一口氣,關(guān)掉所有代碼窗口,清空瀏覽器歷史。
打開一個全新的虛擬機(jī),配置完全匿名的網(wǎng)絡(luò)連接。我開始搜索國啟大廈的建筑藍(lán)圖、安保巡邏時間表、門禁系統(tǒng)的型號和可能存在的漏洞——這些信息,有些來自公開的物業(yè)招標(biāo)文件,有些來自行業(yè)論壇里零散的討論,還有些……來自我作為技術(shù)總監(jiān)時,偶爾過目的安保升級評估報告。
我的權(quán)限卡肯定注銷了。但舊機(jī)房門禁,用的是老式的刷卡加密碼鎖。密碼可能很久沒換。我回憶著幾年前一次應(yīng)急演練,我們臨時啟用冷備節(jié)點時,王浩輸入密碼的場景……
我的手指懸在鍵盤上。
能記住嗎?那天很亂,我在關(guān)**統(tǒng)狀態(tài)……
我閉上眼睛,強(qiáng)制自己回溯?;璋档臋C(jī)房,閃爍的指示燈,王浩佝僂的背影,他的手指在數(shù)字鍵盤上快速點過……
四個數(shù)字。好像有7,有3……
我睜開眼,在記事本上敲下幾個數(shù)字組合。不能確定。
但這可能是唯一的機(jī)會。
我調(diào)出手機(jī)里那張行車記錄儀備份的、陳國富和我談話當(dāng)晚的錄音文件。我快進(jìn)到最后,離開車庫那段。
車輪碾過減速帶的聲音。然后,很輕微地,副駕駛座位下面,傳來“嘀”的一聲輕響,像是有什么小電子設(shè)備啟動了。
我想起來了。那天我的個人工作U盤,因為接口接觸不良,偶爾會自己斷開又重連。系統(tǒng)會發(fā)出提示音。
那個U盤里,有我所有門禁卡的數(shù)字副本。一個出于便利(和一點技術(shù)炫耀)做的私人備份。一個絕對違規(guī),但此刻可能是唯一鑰匙的東西。
我沖過去翻那個紙箱,在幾本書下面找到了那個黑色的、不起眼的U盤。
插上電腦。
識別成功。
文件夾里,靜靜地躺著幾個key文件。文件名是門禁卡編號。
我一個個點開查看屬性。其中一個的備注里,手寫著:“冷備機(jī)房-備用”。
血液沖上頭頂。
我有鑰匙了。數(shù)字鑰匙。
現(xiàn)在,只差一個機(jī)會,和一點運(yùn)氣。
窗外,天色漸漸泛白。新的一天,對于大多數(shù)人來說,是通勤和早會。
對我來說,是倒計時的開始。
我保存好所有資料,加密,上傳到多個匿名的云端存儲。然后,我關(guān)掉電腦。
需要準(zhǔn)備點東西。黑色的衣服,不會反光的鞋子,能裝下小型工具和移動硬盤的腰包。
還有,足夠的耐心,和把一切都押上去的冷靜。





京公網(wǎng)安備 11010802028299號