編者按:時光荏苒,又是新春,新的一年,“高手論技”繼續(xù)伴隨大家前行,身處一線的你,就那些技術(shù)上最常遇到的故障、最需要解決的難題、最成熟的應(yīng)用……都可以在此暢所欲言,各抒己見。是繼續(xù)圍觀還是現(xiàn)身說法,新浪微群http://q.t.sina.com.cn/264976,期待您的共同參與。
網(wǎng)絡(luò)四通八達(dá),為我們帶來便利的同時,也潛伏著諸多不安定因素。近期的數(shù)據(jù)庫泄密事件大有愈演愈烈之勢,作為校園網(wǎng)絡(luò)維護(hù)者,如何清醒地認(rèn)識當(dāng)前的網(wǎng)絡(luò)環(huán)境,如何有效地守護(hù)服務(wù)器的安全,本期主持人和嘉賓將就此展開激烈的討論。
Web服務(wù)器安全大家談
主持人:
劉樹明 廣東省深圳市第二實驗學(xué)校
嘉賓:
邱元陽 河南省安陽縣職業(yè)中專
譚劍儀 廣東省廣寧縣廣寧中學(xué)
劉宗凡 廣東省四會市四會中學(xué)
劉樹明:上期我們介紹了校園網(wǎng)Web服務(wù)器安全的一些常見漏洞及其防護(hù)策略,請大家繼續(xù)談?wù)刉eb安全方面的一些相關(guān)問題。
譚劍儀:黑客一詞,源于英文Hacker,原指熱心于計算機(jī)技術(shù)、水平高超的電腦專家,尤其是程序設(shè)計人員。但到了今天,黑客一詞已被用于泛指那些專門利用電腦搞破壞或惡作劇的家伙。對這些人的正確英文叫法是Cracker,有人翻譯成“駭客”。黑客有些不成文的守則,第一條就是不惡意破壞任何的系統(tǒng),第二條是不修改任何的系統(tǒng)檔。可以看出黑客和駭客根本的區(qū)別:黑客們建設(shè),而駭客們破壞。
邱元陽:譚老師說的駭客和黑客現(xiàn)在都被我們統(tǒng)稱為“黑客”。他們攻擊網(wǎng)站的目的可以分為好幾種情況:有些人僅僅是為了向人炫耀自己的技術(shù);有些人則是帶有很明顯的商業(yè)競爭色彩,他們攻擊網(wǎng)站通常是為了給競爭對手帶來破壞(像拒絕服務(wù)攻擊、ARP攻擊)或者是期望盜取對手的商業(yè)機(jī)密;還有一些是為了給自己的產(chǎn)品做廣告而在互聯(lián)網(wǎng)上大量地入侵他人網(wǎng)站,并在這些網(wǎng)站上面掛馬;也有一些人是期望偷窺某些著名網(wǎng)站上面的重要數(shù)據(jù)而攻擊它們。
● 安全軟件是否被需要
劉樹明:據(jù)大家的了解,Web服務(wù)器安全防護(hù)方面主要需要注意哪幾方面的問題呢?
譚劍儀:服務(wù)器和網(wǎng)站安全設(shè)置的一個最基本原則就是:最小的權(quán)限─最大的安全!不對系統(tǒng)賬號(如操作系統(tǒng)賬號和數(shù)據(jù)庫管理賬號)設(shè)置它用不到的權(quán)限,對Web登錄賬號限制它對其他文件和數(shù)據(jù)的訪問。不安裝用不到的服務(wù),如當(dāng)我們的服務(wù)器不需要FTP訪問時,就不要安裝FTP服務(wù)?;蛘呤请m然安裝了相關(guān)服務(wù),但是只在使用的時候才啟用它們,平時不用的時候?qū)⑦@些服務(wù)暫時關(guān)閉。
當(dāng)然還可以考慮在服務(wù)器上安裝防護(hù)軟件。例如,安全狗工作室(http://www.safedog.cn/)開發(fā)的服務(wù)器安全狗和網(wǎng)站安全狗兩款軟件,能夠很好地保護(hù)服務(wù)器和網(wǎng)站。前者主要保護(hù)服務(wù)器免受DDOS和ARP攻擊,還具有流量監(jiān)測程序守護(hù)等功能;后者主要對網(wǎng)站內(nèi)容、資源和流量進(jìn)行保護(hù),具有防SQL注入、防盜鏈、下載線程保護(hù)等功能。安全狗軟件目前是免費(fèi)的,經(jīng)常受到攻擊的網(wǎng)站不妨試一試。
邱元陽:安全常常是有代價的。很多時候,安全措施常常以犧牲性能為代價,過多的安全手段,可能會占用系統(tǒng)資源,導(dǎo)致Web服務(wù)器性能降低。一些安全軟件,也會占用過多的系統(tǒng)資源。以殺毒軟件為例,在Linux系統(tǒng)下,會使系統(tǒng)性能急劇下降。
由于Web服務(wù)器是專用的,我們很少會把它當(dāng)作工作電腦來上網(wǎng)、辦公、運(yùn)行軟件,更不會把它當(dāng)作娛樂電腦來玩游戲,聽音樂,在它單純的應(yīng)用環(huán)境中,我們只要不用它上網(wǎng),注意常規(guī)安全措施,盡可能不在上面使用U盤和不明軟件,很少會感染病毒。對于Windows服務(wù)器來說,一般都是用于非關(guān)鍵型應(yīng)用,只安裝安全衛(wèi)士一類的軟件即可,不用安裝比較占用系統(tǒng)資源的殺毒軟件。對于Linux服務(wù)器來說,因為基于Linux系統(tǒng)的殺毒軟件非常少,而且會很嚴(yán)重地降低性能,一般都不在上面安裝殺毒軟件;另一方面,Linux服務(wù)的安全是依靠安全配置而非殺毒軟件來保障的,廠商一般都做了非常專業(yè)的安全配置,不需要再安裝殺毒軟件和安全軟件。
● 安全配置是否安全
劉樹明:很多服務(wù)器漏洞都是在安全配置環(huán)節(jié)出現(xiàn)的,大家在服務(wù)器配置方面有沒有什么建議?
譚劍儀:我認(rèn)為外網(wǎng)服務(wù)器應(yīng)當(dāng)將ping功能禁掉,這樣可以防止黑客嗅探服務(wù)器。
不僅是DOS自帶有ping這個命令,在Unix和Linux下同樣有。ping是一個通信協(xié)議,是IP協(xié)議的一部分。該命令是用來測試網(wǎng)絡(luò)連通情況和網(wǎng)絡(luò)連接速度的,可以幫助分析判定網(wǎng)絡(luò)故障,非常有用。但它也是把“雙刃劍”。很多人在尋找攻擊目標(biāo)時,首先就是用ping工具來探測網(wǎng)絡(luò)上的機(jī)器。同時,ping命令會搶占網(wǎng)絡(luò)資源,導(dǎo)致系統(tǒng)和網(wǎng)速變慢。所以服務(wù)器要嚴(yán)格禁止其他電腦來ping它。
防ping的方法有很多,其中可以使用IPSec安全策略防ping,更加簡單的辦法是啟用防火墻的防ping功能。如果要讓整個局域網(wǎng)內(nèi)的電腦防ping,可以購買專用的企業(yè)級網(wǎng)絡(luò)防火墻。對于小型局域網(wǎng)來說,使用“路由與遠(yuǎn)程訪問”組件來防ping能節(jié)省購買專業(yè)設(shè)備的昂貴費(fèi)用。
不管服務(wù)器是采用Windows還是Linux系統(tǒng),不管是使用IIS還是Apache等服務(wù)器軟件以及各種CMS、論壇等軟件,都存在不少漏洞。很多黑客的攻擊手段都是利用各種漏洞來進(jìn)行攻擊的。所以,我們一定要有良好的安全意識,及時將各種軟件進(jìn)行升級,修補(bǔ)漏洞,減少被黑客工具攻擊的可能性。
邱元陽:服務(wù)器安裝設(shè)置問題和網(wǎng)站漏洞泄露同樣重要。近來,360公司推出了一項非常重要的免費(fèi)Web服務(wù)器安全掃描服務(wù)(http://webscan.#/),我們可以利用它來對自己的Web服務(wù)器進(jìn)行一次嚴(yán)格的安全體檢,這對服務(wù)器的安全防護(hù)是很有用的。
據(jù)統(tǒng)計,安全隱患最多的是敏感目錄(如admin、manage等)泄露和本地路徑暴露,前者危害不是很大,后者很可能會造成數(shù)據(jù)泄露。有很多網(wǎng)站管理人員為了圖方便,將網(wǎng)站的程序和數(shù)據(jù)庫備份文件壓縮打包后,放在網(wǎng)站可以直接通過HTTP下載訪問到的目錄里面,以方便自己隨時下載,殊不知為自己帶來方便的同時也方便了黑客,別人可能通過特殊技術(shù)掃描獲得相關(guān)下載地址,這樣極易造成數(shù)據(jù)泄露。
另外360網(wǎng)站安全檢測還可以幫我們檢出大部分的SQL注入漏洞和跨站腳本漏洞。SQL注入漏洞上期我們已經(jīng)充分討論過了,我再來說說什么叫做跨站腳本漏洞。所謂跨站腳本漏洞,是指當(dāng)我們的程序代碼對輸入數(shù)據(jù)可能包含的Java Script腳本未加過濾,攻擊者可以利用經(jīng)過特殊構(gòu)造的URL鏈接,在鏈接中采用十六進(jìn)制或者URL-Encode方式加密,發(fā)給網(wǎng)站具有管理員權(quán)限的用戶,該用戶如果保存了具備管理員身份的登錄Cookies信息在本地電腦,他點擊了這個鏈接后,可能會在他本人不知情的情況下泄露網(wǎng)站的相關(guān)信息,甚至是完成對其他非法用戶授予管理員權(quán)限等操作,攻擊者再利用新獲得的管理員權(quán)限,大肆進(jìn)行危害網(wǎng)站安全的活動。因為跨站腳本漏洞利用方式非常隱蔽,而且是新近出現(xiàn)的攻擊手法,很多不了解其攻擊原理的網(wǎng)站管理員往往疏于防范,越來越成為黑客喜歡采用的攻擊手法之一。
● 密碼是否足夠“密”
邱元陽:然而網(wǎng)站系統(tǒng)的安全,常常會由于Web服務(wù)器本身不夠安全而使各種措施前功盡棄,比較突出的表現(xiàn)即是系統(tǒng)密碼問題。除了更改管理員賬號的名稱,還要注意不要使用密碼字典中可能會出現(xiàn)的單詞。一個簡單的方法,可以使密碼既復(fù)雜又好記,那就是用一句自己容易記住的比較長的一句話,如兩句唐詩宋詞等,取它們的拼音首字母,組成一個沒有任何意義的英文單詞作為密碼。還不放心,可以在拼音輸入法中用首字母整句輸入檢驗一下,看是否會出現(xiàn)原文。更保險的,在這個無意義單詞的分句處,加上一串有意義又好記的數(shù)字,但輸入這些數(shù)字時加上Shift鍵,也就是變?yōu)樘厥夥枴_@樣處理的結(jié)果就是一個很好記卻非常復(fù)雜的密碼,幾乎不可能被猜解,暴力破解也需要很夸張的長時間。加上定期更換密碼,不要記錄、傳輸和泄露密碼,幾乎可以高枕無憂了。
劉樹明:對,比較好記的密碼通常都在黑客的攻擊字典中有碰撞現(xiàn)象。我曾經(jīng)自以為是本人獨創(chuàng)的簡易密碼asdffdsa,結(jié)果在CSDN網(wǎng)站泄露出來的數(shù)據(jù)庫中,發(fā)現(xiàn)居然有143人使用這個密碼!采用古詩的首字聲母做密碼是一個好方法,曾經(jīng)有個小笑話,說一個人因為出差,想讓同事幫忙在辦公電腦上找一個文件,說他的開機(jī)密碼是“月黑雁飛高,單于夜遁逃”的首字母大寫,同事打入YHYFGCYYDT,但始終提示密碼不對,后來費(fèi)盡周折后才知道原來正確的密碼是YHYFGDYYDT,原來是詩中“單”字給他念成了dan!
邱元陽:說起網(wǎng)站用戶密碼在數(shù)據(jù)庫中的存放問題,據(jù)我所知很多網(wǎng)站都采用了加密方式,如MD5加密等。但即使是通過MD5加密存放的密碼,如果用戶數(shù)據(jù)庫能夠被下載下來,別人一樣也是有辦法暴力破解的,同樣也是非常危險。除非你不給人暴數(shù)據(jù)庫,但是據(jù)說,國內(nèi)有點影響力的網(wǎng)站,2/3都被別人下載過數(shù)據(jù)庫。我們永遠(yuǎn)不要認(rèn)為自己的網(wǎng)站安全萬無一失,防暴庫是安全架構(gòu)里非常重要的一點。防暴庫不僅僅是防止別人拿到你的數(shù)據(jù)庫,還要做最壞的打算,萬一別人拿到會怎樣?密碼明文存儲的,萬萬是不行的;可逆加密的,只要黑客用點心,也是能破解的,騰訊QQ本地聊天記錄,加密不可謂不強(qiáng)吧,結(jié)果QQ2009以前版本的本地聊天記錄解密算法,照樣是網(wǎng)上四處都能抓到一大把,QQ2009以后的暫時沒有曝出解密算法,但只能保一時不能保一世,一樣不能認(rèn)為是牢不可破的。至于不可逆的算法,像MD5、SHA、Mysql的password函數(shù)加密等,很多工程師會以為可以高枕無憂了,但是這就是碰撞庫的范疇。類似于http://www.cmd5.com/這樣的碰撞庫,其碰撞庫的規(guī)模號稱是達(dá)到了數(shù)以TB計了,而且貌似所言不虛。在這樣遠(yuǎn)遠(yuǎn)超出了早期的字典檔規(guī)模的碰撞庫面前,常規(guī)不可逆算法如MD5之類加密的密碼,在碰撞庫里被破解的幾率,大于95%。
譚劍儀:MD5算法以其優(yōu)良散列性能,作為密碼認(rèn)證的優(yōu)點還是不容置疑的,盡管有碰撞庫,但是如果我們采用多次MD5甚至是多次加鹽MD5,cmd5.com那數(shù)以TB計的碰撞庫就全廢掉啦。前幾年聽說山東大學(xué)數(shù)學(xué)系的王小云教授提出了一個著名的MD5逆向算法,轟動了計算機(jī)密碼學(xué)界。雖然這個逆向算法至今沒有公開,但是可以肯定的是,她的算法只能是找出同等MD5值的一個字符串,并不可能找回原來的加密前的數(shù)據(jù)。這是因為MD5只是一個摘要算法,它并不是對數(shù)據(jù)的完整加密,密碼集和原碼集不能形成一一對應(yīng)。所以從理論上來說它是不存在可逆算法的,就像是二次函數(shù)在實數(shù)域內(nèi)沒有反函數(shù)一樣,函數(shù)值和自變量之間的對應(yīng)關(guān)系是一對多的關(guān)系。如果我們利用這一點,對用戶的密碼進(jìn)行加鹽MD5算法甚至是多次MD5加鹽加密,就很難再找一個等價的密碼來冒充用戶的密碼了。
邱元陽:怎樣才叫加鹽MD5算法呢?
譚劍儀:就是在普通的MD5算法輸入數(shù)據(jù)里面人為地加入一些額外的數(shù)據(jù),如你的密碼是pass變量,按正常的加密算法是md5(pass),考慮到別人很可能根據(jù)加密后的結(jié)果暴力倒推出pass,我們在進(jìn)行加密時人為地加入另一個變量salt,算法變?yōu)閙d5(pass+salt),別人要倒推出原來的pass就不能采用現(xiàn)有的MD5碰撞庫了,必須得重新掛上salt暴力跑一輪才行,前提條件還必須要知道你的salt變量的值才能行得通,否則就算想暴力都是不行的。多次重復(fù)MD5加密就是md5(md5(pass+salt)+salt),也可以第一次加鹽第二次不加鹽、第一次不加第二次加、兩次加的鹽不相同等等各種組合都行。黑客拿到經(jīng)過我們做過這種特別處理后的密文,根本無法探知原文是什么,因為可能性實在是太多了。就算是想要暴力也根本不可行,因為就算他找對了方法,也需要非常大的碰撞庫,更何況他很可能根本找不到正確的暴力方法。
劉樹明:這個主意非常好。不論我們的安全措施做得多好,我們都無法保證用戶密碼數(shù)據(jù)不被別人拿走,必須要做好最壞的打算,就是即使別人拿走了密碼數(shù)據(jù)庫,他也無法利用。加鹽MD5不但可以跳出現(xiàn)有的MD5碰撞庫的范疇,而且可以防止采用類似山東大學(xué)王教授的逆向算法。就好比你能配到一把和原來一模一樣的鑰匙來開鎖,但是假如這鎖匙開鎖前必須要先套上某個配件后才能開,你就很難配制一把一模一樣的鑰匙來套同樣的配件了。
邱元陽:按正常的常識,用戶信息都必須要加密后才能保存在數(shù)據(jù)庫里面,作為IT人聚集度最高的國內(nèi)編程愛好者網(wǎng)站,其管理人員不可能不知道這個道理。他們故意保存用戶的明文密碼,本身就有偷窺用戶密碼的嫌疑,網(wǎng)站管理人員的道德品質(zhì)本身就值得懷疑!從另一方面來說,他們也對自己網(wǎng)站的安全性能盲目自信,認(rèn)為自己的數(shù)據(jù)不可能被別人盜走。
劉樹明:正是這個道理,他們保存明文很可能就是想方便自己隨時查閱用戶的密碼!另外據(jù)說這次泄漏的密碼庫僅僅是2009年的一個備份數(shù)據(jù)庫,也就是說黑客可能并沒有實際攻陷CSDN的網(wǎng)站,而僅僅是利用了邱老師上面說到的“本地路徑暴露”漏洞。很可能是CSDN的工程師將網(wǎng)站數(shù)據(jù)庫的備份文件放在了網(wǎng)站某個目錄下,正好被黑客掃描到了,于是就下載到了,同樣像人人網(wǎng)、多玩網(wǎng)等這次同一批曝出來的用戶庫,都很可能是通過這樣的途徑泄露出去的。
● 技術(shù)以外的道德和法律規(guī)范
劉宗凡:另外,我想說說網(wǎng)絡(luò)安全方面的道德教育與法律規(guī)范。網(wǎng)絡(luò)安全不僅僅只依靠技術(shù),對學(xué)校來說,正確的教育引導(dǎo)與強(qiáng)大的法律規(guī)范是網(wǎng)絡(luò)安全的有效保障。
在廣大青少年中,有一個錯誤的觀點,就是對黑客的盲目崇拜與學(xué)習(xí),但對黑客的宗旨與守則卻不了解,認(rèn)為入侵、破壞網(wǎng)絡(luò)系統(tǒng)很有成就感,在不知不覺中觸犯了法律法規(guī)。我們應(yīng)該在中小學(xué)信息技術(shù)課堂教學(xué)中正確引導(dǎo)學(xué)生,以建設(shè)為榮,以破壞為恥,讓學(xué)生逐漸遵守網(wǎng)絡(luò)規(guī)范。另一方面,還要加強(qiáng)網(wǎng)絡(luò)安全教育,保護(hù)好自己的電腦系統(tǒng),不讓自己的電腦成為“肉雞”,讓不法份子有機(jī)可乘,成為網(wǎng)絡(luò)攻擊的武器。
道德是自律的規(guī)范,法律是他律的規(guī)范。針對日益猖獗的計算機(jī)犯罪,我國也出臺了相關(guān)的一些法律法規(guī),來制裁違法犯罪的行為。其中1997年修訂的《中華人民共和國刑法》第二百八十五條規(guī)定了非法侵入計算機(jī)信息系統(tǒng)罪,第二百八十六條規(guī)定了破壞計算機(jī)信息系統(tǒng)罪。《刑法修正案(七)》在刑法第285條中增加兩款詳細(xì)說明,包括了非法竊取計算機(jī)信息數(shù)據(jù)罪和非法控制計算機(jī)信息系統(tǒng)罪及非法提供控制計算機(jī)系統(tǒng)程序、工具罪。
法律法規(guī)的出臺,勢必對日益猖獗的網(wǎng)絡(luò)犯罪起到震懾作用。
Web服務(wù)器的安全是網(wǎng)絡(luò)安全范疇里面非常重要的一環(huán)?,F(xiàn)在的網(wǎng)絡(luò)和社會環(huán)境,決定了安全攻防之戰(zhàn)越來越復(fù)雜。我們需要做的事情的確是很多,首先我們需要從道德方面教育學(xué)生,讓他們明白自己在網(wǎng)絡(luò)上的行為其實也是受到法律約束的,另外還要培養(yǎng)學(xué)生正確的是非觀,不要盲目崇拜非法入侵的行為,我們學(xué)習(xí)計算機(jī)知識并不是為了破壞。除此之外,我們還要多掌握網(wǎng)絡(luò)安全知識,提高網(wǎng)絡(luò)安全意識。很多情況下,并不是黑客有多高明,而是我們太疏于防范,給了黑客可乘之機(jī)。如果我們嚴(yán)格遵守相關(guān)的安全規(guī)范,并且多與外界交流,學(xué)習(xí)更多的安全知識,那么網(wǎng)絡(luò)安全帶來的痛苦就不會降臨到我們的頭上。