解析Web應(yīng)用服務(wù)弱點(diǎn) 上篇
Web應(yīng)用服務(wù)弱點(diǎn):不可靠的默認(rèn)值
在Web應(yīng)用程序設(shè)計(jì)時(shí),為了提高用戶的輸入效率,會(huì)設(shè)置比較多的默認(rèn)值。但是這些默認(rèn)值是把雙刃劍。即可以提高用戶輸入的速度,但是也會(huì)影響Web應(yīng)用程序的安全性。舉一個(gè)簡單的例子。Web服務(wù)器的默認(rèn)端口是什么?80。正確。這個(gè)信息只要稍微有點(diǎn)Web 知識(shí)的人都知道。
現(xiàn)在的問題是,大家都知道這個(gè)信息,那么攻擊者就可以輕而易舉的通過這個(gè)端口來進(jìn)行攻擊。如可以利用工具掃描80端口是否開啟來判斷服務(wù)器是否啟用了Web服務(wù)。為此如果Web服務(wù)沒有改變這個(gè)默認(rèn)的端口值,那么就將導(dǎo)致很多安全問題。
再如,有些管理員在設(shè)置用戶名與密碼的時(shí)候,可能給用戶的默認(rèn)用戶名為空或者跟管理員帳戶相同的名字。雖然他們可能提醒用戶需要盡快的去更改密碼。但是根據(jù)筆者的經(jīng)驗(yàn),不少用戶都沒有這個(gè)安全意識(shí)。
可見,為Web應(yīng)用程序設(shè)置默認(rèn)值時(shí),并不怎么可靠。為此筆者建議,對于一些關(guān)鍵的應(yīng)用,如端口、管理員帳戶名、密碼等信息最好不要采用默認(rèn)值。這會(huì)降低Web應(yīng)用程序的安全性能。
Web應(yīng)用服務(wù)弱點(diǎn):關(guān)鍵信息沒有采取加密處理
筆者以前研究過一款Compiere的ERP系統(tǒng),其有B/S與C/S兩種架構(gòu)。在登陸的時(shí)候,需要用戶輸入用戶名與密碼。在輸入這個(gè)信息的時(shí)候,密碼采用了掩碼的形式,這確實(shí)可以起到一定的保護(hù)效果。但是用戶名在后臺(tái)數(shù)據(jù)庫中存儲(chǔ)的,以及從網(wǎng)頁客戶端傳輸?shù)綉?yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器的過程中,采用的都是明碼的形式。
這也就是說,只要攻擊者采用一些嗅探工具、或者攻破了數(shù)據(jù)庫,那么對于這個(gè)應(yīng)用來說,攻擊者就可以暢通無阻的進(jìn)行一些破壞行為。相反,如果我們對于這些關(guān)鍵信息都采取了加密處理。那么即使攻擊者有了這些數(shù)據(jù),對于他們來說,也是沒用任何用處。
無論是在數(shù)據(jù)庫服務(wù)器,還是在客戶端的Cookies中,不直接存儲(chǔ)沒有加密的掛念信息(如密碼或者其他私有數(shù)據(jù)),這是提高數(shù)據(jù)安全性的一個(gè)首要的原則。如果這些數(shù)據(jù)暴露了,但是所采用的加密方案將防止暴露用戶的密碼。
了解這個(gè)基本的原則之后,那么管理人員就需要關(guān)注,該選擇使用哪種加密技術(shù)。選擇的加密技術(shù)的不同,直接影響到Web服務(wù)的安全性。但是需要注意的是,加密技術(shù)也是一把雙刃劍。一般來說,在同等條件下,加密級(jí)別越高,其需要的資源開銷也就越大。簡單的說,加密的級(jí)別與系統(tǒng)的性能是成反向變動(dòng)的。
Web應(yīng)用服務(wù)的弱點(diǎn)本文就為大家先介紹兩個(gè),更多的內(nèi)容我們還會(huì)繼續(xù)總結(jié),與大家分享。歡迎大家閱讀:解析Web應(yīng)用服務(wù)弱點(diǎn) 下篇
【編輯推薦】