(Linux Pilot Vol.46) 淺談Linux保安伺服器和數據中心的應用經驗

由96年開始,由ISP轉戰‧Com甚至銀行的網絡部門,到現在自己經營Linux保安網關伺服器公司,筆者見盡各類軟件硬件,保安招數,其中的趣事和經驗,很值得和讀者們分享一下,或許會令一些朋友建置網絡保安系統時,走少些冤枉路,花少些冤枉錢。

網路保安,從來都是很多「主流」IT人心中的一條刺。砸下大錢去搞的保安系統,有時不但差強人意,可能更會因為過份複雜,在系統接口之間出現漏洞。反而有些Linux上的保安,簡簡單單,但就恰到好處的完成任務,使很多靠「考牌」來充門面的「主流」IT人為之氣結,因為很多人混淆了「網路保安」 (Network Security)和「系統安全」(System Security)這兩個概念。


“保安”的真正目的


單純網路保安的工作,簡單來說就是:「該出入的放行,該回應的回應,不該出入和回應者丟掉。」為的是維繫「系統安全」(System Security),保障只有許可的使用者,能隨時應用系統所提供的正常服務。

換言之,「系統安全」是目的;網路保安,像甚麼Intrusion Detection System、 DMZ、Stateful Packet Inspection、Baston Host、Screened Subnet Firewall…… 等等,全都是手段而已。而要做好「系統安全」,我們要考慮的,不單是片面的網路保安技術,而是包括了存取權限管理,密碼管理,儲存和備份管理,災難復原……等等這些層面的設定工作。在銀行工作的時候,我們要處理的「系統安全」項目,包括了文件版本處理,數據中心進入管理和很多非「技術」的項目。但你會發現,對網路服務來說,只有做好管理,真正的網路保安才會完全。老實說,「系統安全」是管理問題,技術成份其實相對較少。砸幾十萬去買硬件式網路保安系統的幫助,未必強得過你教識員工,不要把密碼貼在顯示器上,或停止用“123456”作密碼。再以日漸流行的WiFi網絡為例,到現在都隨處可見無設定SSID或壓縮加密(如WEP key)的無線路由器,把內部網絡曝露在街上,再好的Firewall也無意義。

說了一大段管理學,讓我們談回Linux,桌面Linux的問題由其他專家去研究,讓我們集中談談在Linux伺服器裡的系統安全。

不同Linux和保安伺服器

Linux由檔案系統開始,處處你都會發現權限管理的蹤影。自2.4x核心開始,結合了iptable下「保安火牆」的應用,其實在保安來說,Linux已發展出一套很完整的基礎系統。只要其他的核心服務配合得好,你可以輕易地建立一套很可靠的伺服器。

只不過,很遺憾的說,在一般用家/入門級的技術下,選用流行的Linux原裝發行版本,不去加強設定,保安危機可能會比出街忘記鎖門更嚴重。我曾經見識過一台安裝了原裝Red Hat 8的伺服器,在“/tmp/”內竟然有整個入侵者的網站,在駭客的面前,原裝Linux發行版本的保安,是不堪一擊的。就算是今日改良了的Fedora、SUSE、Mandriva……都不是上佳的保安伺服器材料。Debian、Gentoo和Ubuntu好一點,但仍是差了那麼的一步。Slackware和FreeBSD安全穩陣,可惜無法簡單地轉變為大眾化、平民化的系統,不適合技術水平不足的中小企業。考慮到保安要求,尤其是企業級的,以上的系統都要經過專家徹底的「改造」才算合格,難怪IBM等公司的Linux業務蒸蒸日上。

適合作為企業伺服器的Red Hat Enterprise Linux、CentOS和X/OS Linux都是「兄弟版」,內容很接近,但就和保安伺服器的需求有一段距離。Annvix、SmoothWall、ClarkConnect Gateway/Server和Trustix Secure Linux的理念比較接近「保安伺服器」,但又是那一句,要「改造」才會真正合用。這4套版本的「保安火牆」(Firewall)設定,算是較好,但也至少要加入數個監控報告的組件,整個套配才見完善,是大改和小改的分別。有時間你們可以試試這幾套全「文字」版的發行版本,看看他們和普通Linux或Windows長得有甚麼不同,你便會了解Linux“精簡小美”的藝術。

(很想為“Firewall”正名,「保安火牆/火璧」才是最貼切的翻譯,夏里遜福[Ford, Harrison] 的那套電影「Firewall銅牆火璧」可說是示範作,若譯成「防火牆」,肯定是中文戲名史上的最大敗筆。)

保安伺服器和數據中心

見過有高手用一套舊式電腦(PII-300, 128M Ram, 無CD-ROM, 無HD),以一套“Floppy Firewall”把整個辦公室的20多台電腦和兩個伺服器保護得完善之至。 視乎不同需要,保安伺服器有時可以很簡單超值。但現時,保安伺服器很多時都會放在數據中心(Data Center)作前端(Front End),用以保障後端的網站伺服器和資料庫。但當伺服器配上今日的數據中心,有保安危機時,問題往往便不是那麼簡單。

原因在科網股爆破後,很多科技公司都無可避免地經歷了「精簡人手」的過程,人才的離去,亦代表了企業核心知識的流失。很多數據中心的「保安」,由於當初設計和管理人員的離開,繼任者其實只是依樣葫蘆的操作,根本就不了解操作的因由和細節,保安水平可說是笑話一個。看似嚴密的甚麼出入控制、入庫記錄、IP使用列表……在不求甚解的僵化操作下,再好的保安設施和程序,都異化成不知所謂。很難相信? 讓我給你兩個真實案例參考一下。

數據中心就是攻擊者?

話說,筆者把一台自己開發,有保安系統的Linux網頁伺服器送到某大集團旗下的數據中心安裝。怎知三日內,Firewall Log便錄得超過2000個連接埠掃瞄、DDOS、Worm和IIS攻擊,而其中,“ICMP PING Whatsup Gold Windows”佔了大多數(每五分鐘一次)。由於筆者開發的系統有追蹤IP的功能,立刻便追到是同一數據中心的某伺服器發出。既然在「鞭長」之內,筆者便立刻致電向網路管理中心投訴,要求調查。 電話裡的「網管」表現得大為震驚,在取得IP位址和所有資料後,表示會立刻跟進,盡快回覆。

老實說,以服務態度而論,水準其實相當不錯,但等了差不多一小時,電話響起,得到的答覆卻令我目定口呆。話筒另一頭傳來一小時前聽過的「網管」的聲音,語調明顯有點不自在,說話也有點吞吞吐吐,遊了一輪花園,終於得到一個令我啼笑皆非的答案。

原來,數據中心就是那原凶。諾大的數據中心,不知是無預算,或是只懂用「視窗」軟體,“WhatsUp Gold”就是他們的「網管工具」。為了監控數據中心內每個伺服器的正常操作,他們告訴我,當初要求我們填寫的一份IP使用列表,就是要把每一個IP納入監管,換言之,這是「服務」,而不是攻擊。

據表面證供評估,他們開始的時候,是認真的以為是駭客攻擊。但當發現「行凶者」原來是自己時,就覺得異常尷尬,用了很多的時間準備和鼓起勇氣,才對我道出真相。 (反正也瞞不了甚麼,我的系統記錄每五份鐘一個,由IP到每一個Log都非常清楚,連伺服器名稱也翻譯出了,矇混不得。但要「調查」才知道是自己做的「服務」,除了「失敗」,我想不出其他的形容詞。)

騎劫IP輕而易舉

在「網管」口中,聽到諸如“That's not a bug, that's a feature”之類的偉論,本來以為這個問題已告一段落。只是,數月後,又有新事故發生。這一次,真的是駭客來襲了。

事緣筆者購買的服務計畫,名義上有8個IP提供,去頭去尾(頭1個被gateway使用,boardcast佔用最後一個),共有6個可用。我只有3台伺服器,還有3個IP未用,問題就是這麼來了,那幾個IP被騎劫了。

有高手(我只能夠追到俄羅斯,然後便追不到了。……traceroute : host unknown“#_#”),騎劫了那幾個未用到的IP,把它們指派到自己的伺服器,用以發動DDOS和大規模的連接埠掃瞄,更發送出大量垃圾郵件。受害者追查IP位址,投訴到數據中心,「網管」們立刻便把皮球踢到筆者的門前,我立刻便發現問題就在那3個未使用的IP。

一般ISP或數據中心會因應你填寫的IP使用列表,把客戶未用的IP,在路由器那一端鎖定,確保不被人盜用,我填過IP使用列表,便以為無問題。但那幾個 IP明顯並無經過這處理工序,於是便被人騎劫了去為非作歹。事件查明後,數據中心把IP正式的鎖定,駭客無所施其技。騎劫解除後,駭客可能還未死心,我的系統不斷的被人掃瞄和進攻,幾日後網路才回複正常,數據中心聽聞也忙了幾天“補鑊”,重新檢查所有IP的保安。

很在意的要指出,「駭客」Cracker 和「黑客」Hacker的分別,簡單來說,「黑客」Hacker是在某一領域的高人,以Hacking改進技術,解決問題為己任,「駭客」Cracker 才是秩序的破壞者。這個分別,通常是半吊子的外行人,如篇劇或記者才會搞錯的,真正的IT人絕對不會誤用這名詞。

數據中心應用Linux及開原軟件

隨著Linux大熱起飛,其實數據中心應該採用多些開放源碼的監控軟體,在Linux下執行管理。開源軟體中,“nPulse”(http://freshmeat.net/projects/npulse/)、“Nagios”(http://www.nagios.org)、“mrtg”(http://freshmeat.net/projects/mrtg/) ……等等,都是很好的數據中心管理工具,每個伺服器的監控,細節到每個連接埠都可以監視,功能絕對比“WhatsUp Gold”強,在價格方面也比較優勝。

不過,可能他們未考到這些「牌」罷。


作者: 馮德聰 (Datayard Systems Ltd. 科技總監)

原載 2006年7月Linux Pilot Vol.46

Direct URL : http://paulfung.com?contentid=26

分享


       發佈日期: Saturday July 15, 2006 HKT


Copyright 2006-2011® Paul T.C.Fung at MindFarm.com
System Powered by DataYard.com