某天傍晚快下班的時候,開發的同事跑過來說無法通過堡壘機遠程登錄IDC機房中的維護機,過去一了解才知道,只是其中2個用戶的筆記本今天突然出現這樣的問題,D1筆記本用戶說他的賬號在其他電腦上能正常遠程,其他用戶的賬號也能在他的筆記本通過堡壘機遠程維護機。這就奇怪了,說明筆記本電腦的軟件和用戶的堡壘機賬號都沒問題,修電腦居然也讓我遇到了悖論。由于已經到了下班時間,腦子里對這詭異的問題一時半會兒真沒什么思路。

圖1 網絡拓撲結構
坐在公交車上這個問題一直縈繞在我腦海中。公司的網絡拓撲如圖1所示,通過帶外管理交換機部署了網御星云的運維安全網關LA-OS-3600-S,俗稱堡磊機,針對業務環境下的用戶運維操作進行控制和審計的合規性管控系統。根據用戶身份以及資源、資源賬號的集中管理建立“用戶—資源—資源賬號”對應關系,實現用戶對資源的統一授權,同時,對授權人員的運維操作進行記錄、分析、展現,以幫助內控工作事前規劃預防、事中實時監控、違規行為響應、事后合規報告、事故追蹤回放,加強內部業務操作行為監管、避免核心資產(服務器、網絡設備、安全設備等)損失、保障業務系統的正常運營。
我們開發或運維的同事遠程操作IDC機房里的服務器,先通過SSLVPN進入到數據中心網絡,然后用各自的賬號登錄堡壘機,最后通過相關協議遠程各種服務器和維護機。不同賬號根據授予的權限訪問不同機器,通過堡壘機對用戶的所有操作進行審計。既然賬號沒問題、客戶端軟件沒問題,那就是運行環境出了問題,比如和特定賬號的緩存或者配置文件出了問題。于是,通過QQ向開發的同事發去建議:重啟筆記本電腦試一下。
第二天中午下班,電梯邊遇到D1筆記本用戶,得知重啟電腦后問題依舊,D2筆記本用戶倒是說重啟后第一次能遠程,后來就不行了。
重啟電腦經常是解決各種疑難雜癥的首選措施,居然在這里也失效。午休時間繼續思考這個問題,想起以前在其他公司遇到過類似的現象,是一個OA賬號在本機登錄進去打開PDF附件報錯,在其他電腦登錄沒有問題,而用桌面運維賬號進入Windows再登錄OA又是正常的。懷疑是用戶配置文件異常導致。于是給出建議一:在有問題的筆記本電腦上新建Windows用戶賬號,從全新的用戶配置文件去測試這個問題能否解決。記得報錯現象中是Java報的無法建立什么對象,和Java運行環境有關,于是給出建議二:重新安裝JRE(Java Run Environment)借此刷新Java相關的緩存或者配置。

圖2 添加賬戶界面
下午抽出時間去看筆記本登錄堡壘機遠程IDC機房的問題進展情況,兩新同事平時都用電腦作Web應用開發,對操作系統了解不深,好像對Windows用戶賬號沒什么概念。D1筆記本用戶讓我這個老司機幫忙處理,Windows10的系統,從“控制面板→用戶賬戶→管理其他賬戶→將其他用戶添加到這臺電腦”,居然不能增加新的本地賬號,只能增加微軟live賬號(如圖2)。在資源管理器里右鍵點擊“此電腦”,從快捷菜單中的“管理”進入“計算機管理”的管理控制臺,以往熟悉的“本地用戶和組”也不見蹤影。于是,只能求助萬能的互聯網。百度搜索發現,原來該系統是Windows家庭版,不具備“本地用戶和組”管理功能。按照網友提供的各種經驗和解決辦法,十來分鐘也未能建立起本地用戶賬戶,于是主動放棄自己的建議一。
嘗試建議二,從堡壘機登錄的Web頁面下載其提供的JRE6.0,重新安裝問題依舊,我的賬號能正常從堡壘機遠程維護機,D1筆記本用戶的賬號始終報錯。期間,開發的同事半開玩笑地說,是不是網絡組的人對她的賬號做了什么調整,我只能無辜地表示“這兩天我們什么都沒動啊”。既然其他用戶賬號能在問題筆記本上通過堡壘機正常遠程,實在無計可施,何不為這2臺筆記本用戶在堡壘機上新建賬號呢?使用其他賬號繞過如此讓人無語的問題。
用新的堡壘機賬號,D1筆記本電腦能正常遠程維護機,D2筆記本電腦仍然不行。鑒于在我的電腦上通過火狐瀏覽器也能正常登錄堡壘機遠程維護機,于是寄希望對D2筆記本安裝不同的瀏覽器解決問題。可是用火狐瀏覽器登錄堡壘機,再遠程維護機居然沒任何反應,只得把堡壘機Web頁面中提供的插件,網御網絡安全審計系統-運維安全管控客戶端、Oracle Java SE Runtime Environment(JRE)、ADOBE Flash Player、Replayclient離線回放客戶端全部重新安裝一遍。在下載安裝完JRE后,D2筆記本右下角彈出防病毒軟件McAfee(邁克菲)的小窗,提示說隔離了JRE,心想這邁克菲反應也太慢了吧,我都安裝好了你才發現下載的文件有病毒,而且完全是誤報。
由于電腦卡住了只得重啟Windows,從登錄到進桌面可操作等了5分鐘,再看任務隱藏欄才發現,除了McAfee外,還有360的安全衛士和騰訊的電腦管家,難怪這么慢呢。再從火狐瀏覽器登錄堡壘機遠程維護機,仍然報錯,Java提示啟動失敗“失敗原因,不能加載所需的腳本文件!c:users uxueDocumentsClientToolsJavaRunApp.exe(拒絕訪問)”(如圖3)。
拒訪訪問是報權限相關的問題,進入目錄細看才發現,登錄Windows的用戶對此文件沒有任何權限,更糾結的是,想通過修改文件的擁有者(owner)實現訪問權限都無從實現。再看文件修改日期為11月3日,不正是出問題的那天么?而且我已經重裝了堡壘機相關組件,為什么此文件修改時間沒變呢?想到剛才McAfee的隔離提示,這個疑難雜癥會不會是防病毒軟件引起的呢?

圖3 “啟動失敗”報錯界面

圖4 遠程桌面連接界面
先把所有安全軟件退出再試,沒想到找了半天,McAfee沒有退出相關的菜單和按鈕,只能卸載再說。進入“控制面板→程序和功能→卸載和更改程序”,發現McAfee安裝時間是11月1日,McAfee WebAdvisor安裝時間是11月3日,正是登錄堡壘機遠程維護機報錯那天,看來McAfee WebAdvisor的嫌疑很大。選中它右鍵快捷菜單卸載,等了好幾分鐘才完成,提示是否立即重啟。為了驗證效果直接選擇稍后再重啟,打開原來的360瀏覽器,登錄堡壘機Web頁面,再選一臺維護機連接,報錯沒有了,熟悉的啟動畫面又回來了(如圖4)。
總算找到引發問題的真正原因所在,還原引發故障最初情形:2臺筆記均是安裝了McAfee防病毒軟件,后來在11月3日被主程序推送了McAfee WebAdvisor程序,堡壘機的客戶端插件被其誤殺,導致用戶沒有權限訪問運行,在遠程連接維護機報錯?;艘粋€多鐘頭的測試診斷總算解開了兩天來我心中的結。
回想整個問題的解決過程,從開始的重啟電腦、創建Windows新用戶、重新安裝JRE、創建新的堡壘機用戶賬號、安裝不同瀏覽器,到最后卸載邁克菲防病毒軟件歪打正著找到病根,可謂曲折艱難。其中最讓人不解的是D1筆記本電腦,居然其他用戶堡壘機賬號能正常遠程維護機,讓我直接判斷為客戶端軟件層面沒有問題,未能從報錯信息去深入分析。直到D2筆記本所有用戶賬號都不能從堡壘機遠程維護機,才引起重視并最終解決。
此次故障現象說明我們工作電腦中管理不規范,沒有遵循計算機用戶權限最小化的要求,才導致防病毒軟件能推送安裝其他附屬程序導致問題。同時也說明了軟件問題的復雜性,防病毒軟件的誤報誤殺引起應用軟件異常,也只能一步步地排查驗證,才能最后解決問題。