淺談網(wǎng)絡(luò)購物系統(tǒng)的安全技術(shù)

作者: 繆艾君 來源: 未知 發(fā)布時(shí)間:2016-01-19 15:40

  今天我們談?wù)?strong>網(wǎng)絡(luò)購物系統(tǒng)的安全技術(shù)。由于網(wǎng)絡(luò)購物系統(tǒng)存在于開放的Internet網(wǎng)絡(luò)環(huán)境中,代碼或者系統(tǒng)本身也可能存在漏洞,勢(shì)必可能受到網(wǎng)絡(luò)中病毒、木馬和其它方式的攻擊,網(wǎng)絡(luò)購物系統(tǒng)由其本身的特點(diǎn),安全性要求是它的一項(xiàng)最重要的要求。因此需要對(duì)網(wǎng)絡(luò)購物系統(tǒng)的安全進(jìn)行充分的考慮。

  二、系統(tǒng)安全性

  Web網(wǎng)站存放于Web服務(wù)器,要保證網(wǎng)站的安全首先需要確保服務(wù)器系統(tǒng)的安全。對(duì)服務(wù)器做如下安全設(shè)置:

  (1)安裝系統(tǒng)時(shí)選擇NTFS格式進(jìn)行安裝。安裝好后,設(shè)置自動(dòng)更新,及時(shí)打好系統(tǒng)補(bǔ)丁。

  (2)安裝好防火墻和殺毒軟件并及時(shí)更新,對(duì)防火墻應(yīng)設(shè)置適當(dāng)?shù)陌踩?jí)別和相應(yīng)的規(guī)則,設(shè)置端口保護(hù)。

  (3)刪除默認(rèn)共享,將不需要的端口關(guān)掉,需要經(jīng)常使用的端口更改端口號(hào),防止網(wǎng)絡(luò)攻擊。

  (4)合理的設(shè)置操作系統(tǒng)的賬號(hào),關(guān)閉guest賬號(hào)、刪除不必要的賬號(hào),將Administrator用戶改名設(shè)置足夠強(qiáng)壯的密碼,對(duì)于其它賬號(hào)根據(jù)夠用的原則設(shè)置好合適的權(quán)限。

  (5)關(guān)閉不需要用到的服務(wù),刪除或改名不安全的組件,禁用空連接,不安裝不必要的軟件防止第三方軟件漏洞。

淺談網(wǎng)絡(luò)購物系統(tǒng)的安全技術(shù)

  三、網(wǎng)站安全技術(shù)

  網(wǎng)站常常由于源程序的本身缺陷與程序編寫經(jīng)驗(yàn)的不足、權(quán)限設(shè)置的不合理等因素的影響,可能存在諸如腳本信息泄露、SQL注入、繞過權(quán)限驗(yàn)證、木馬等安全問題,在應(yīng)用過程中注意好相應(yīng)的設(shè)置、進(jìn)行相應(yīng)的處理就能很大程度上減少此類問題帶來的影響。

  (1)IIS安全設(shè)置

  關(guān)閉并刪除默認(rèn)站點(diǎn),系統(tǒng)所在位置與系統(tǒng)不在同一個(gè)分區(qū),刪除不必要的IIS映射和擴(kuò)展,把一切ASP 錯(cuò)誤,服務(wù)器返回的信息設(shè)置為http500 錯(cuò)誤,設(shè)置好網(wǎng)站的Web權(quán)限,一般情況下不給那些靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。動(dòng)態(tài)網(wǎng)站只要給個(gè)“純腳本”權(quán)限就夠了,對(duì)于那些上傳文件的存放目錄,執(zhí)行權(quán)限設(shè)為“無” 。

  (2)為了防止非法用戶將有可能運(yùn)行上傳的腳本、木馬等,進(jìn)而控制站點(diǎn)、甚至整個(gè)服務(wù)器,上傳目錄應(yīng)設(shè)置不給腳本執(zhí)行權(quán)限,對(duì)上傳的數(shù)據(jù)的文件類型也需要進(jìn)行限制。

  (3)防止權(quán)限驗(yàn)證程序被繞過

  對(duì)于需要通過身份驗(yàn)證后才能被訪問的頁面,可以繞過身份驗(yàn)證, 直接進(jìn)入到該頁面,這樣做為用戶區(qū)分與權(quán)限分配的驗(yàn)證程序就失去了原有的作用。為防范此漏洞, 可以通過對(duì)需要通過身份驗(yàn)證的頁面添加對(duì)存儲(chǔ)在cookies或session對(duì)象中的再次驗(yàn)證來實(shí)現(xiàn)安全控制。當(dāng)訪問者通過身份驗(yàn)證頁面后, 就把Cookies信息或?qū)ο蟮膶傩源鎯?chǔ)起來, 當(dāng)訪問者試圖登錄到有效鏈接頁面時(shí), 將當(dāng)前身份信息與存儲(chǔ)的驗(yàn)證信息行比較, 如果不匹配,則拒絕訪問。

  (4)防范SQL注入攻擊

  Web系統(tǒng)經(jīng)常要以用戶輸入或者傳遞的參數(shù)來構(gòu)造SQL語句,并讓后臺(tái)的數(shù)據(jù)庫執(zhí)行。SQL注入是系統(tǒng)通過輸入的內(nèi)容構(gòu)造出來的SQL語句,在執(zhí)行時(shí)改變了查詢條件或者附帶執(zhí)行了攻擊者注入的整個(gè)SQL語句,從而讓攻擊者達(dá)到了非法的目的 。

  程序開發(fā)人員在編寫網(wǎng)站程序時(shí), 應(yīng)對(duì)用戶可能輸入的信息進(jìn)行檢驗(yàn)、過濾, 阻止惡意代碼的攻擊, 以達(dá)到注入攻擊的防御效果。目前這種檢驗(yàn)方法一般有兩種。

 ?、?替換或刪除敏感字符/字符串

  對(duì)用戶傳遞過來的參數(shù), 使用替換函數(shù), 將認(rèn)為危險(xiǎn)的所有字符替換成為相應(yīng)的安全字符。

 ?、?在服務(wù)器正式處理前對(duì)提交數(shù)據(jù)進(jìn)行檢驗(yàn)。

  如果檢驗(yàn)出有非法字符輸入時(shí), 服務(wù)器立即終止處理, 不給SQL注入攻擊的機(jī)會(huì)。

  (5)ASP腳本加密

  為有效地防止ASP 源代碼泄露, 可以對(duì)ASP 頁面進(jìn)行加密。使用微軟的Script Encoder 對(duì)ASP 頁面進(jìn)行加密,操作簡單、收效良好。

  四、數(shù)據(jù)庫安全

  在ASP環(huán)境中,常用的后臺(tái)數(shù)據(jù)庫是SQL Server,其安全技術(shù)主要有。

  (1)更改sa口令,取消guest賬號(hào),SA具有對(duì)SQL Server數(shù)據(jù)庫操作的全部權(quán)限,但在安裝SQL Server時(shí)sa缺省口令為空,為SQL Server帶來了潛在的隱患,應(yīng)把sa的口令換為更安全的口令,同時(shí)不能把sa賬號(hào)的密碼寫在應(yīng)用程序或者腳本中。

  (2)控制訪問權(quán)限

  定義用戶和角色對(duì)數(shù)據(jù)庫、數(shù)據(jù)表和數(shù)據(jù)列的訪問權(quán)限,限制用戶對(duì)表擁有直接的查詢、更改、插入、刪除權(quán)限,可以通過給用戶訪問視圖和執(zhí)行存儲(chǔ)過程的權(quán)限,以保證數(shù)據(jù)庫的安全。

  (3)限制SQL Server自帶的存儲(chǔ)過程

  在SQL Server攻擊中有一類是構(gòu)造特殊字符串調(diào)用SQL Server系統(tǒng)中master數(shù)據(jù)庫自帶的存儲(chǔ)過程來獲取權(quán)限。可以去除或限制SQL Server系統(tǒng)中自帶的存儲(chǔ)過程。

  (4)加強(qiáng)數(shù)據(jù)庫訪問日志的監(jiān)視,定期備份數(shù)據(jù)庫審核數(shù)據(jù)庫登錄事件的“失敗和成功”,在實(shí)例屬性中選擇“安全性”,將其中的審核級(jí)別選定為全部,這樣在數(shù)據(jù)庫系統(tǒng)日志里就詳細(xì)記錄了所有賬號(hào)的登錄事件,一旦出現(xiàn)問題能夠查出原因,及時(shí)補(bǔ)救。同時(shí),制定完整的數(shù)據(jù)庫備份策略,在必要的時(shí)候能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫的恢復(fù)。

  五、數(shù)據(jù)加密技術(shù)

  用戶的密碼在傳輸時(shí)可能被竊取,數(shù)據(jù)庫中的密碼可能被系統(tǒng)的管理員查看或破解,如果數(shù)據(jù)庫被入侵那么數(shù)據(jù)庫中的信息將毫無安全性可言,為了防止授權(quán)用戶的密碼被泄露,系統(tǒng)應(yīng)該在數(shù)據(jù)傳輸過程以及數(shù)據(jù)庫中對(duì)數(shù)據(jù)以加密的形式進(jìn)行傳輸和保存。

  MD5作為最為常用的一項(xiàng)加密算法,其以加密強(qiáng)度頗大而著稱,被廣泛用于加密和解密技術(shù)上。在使用MD5的Web系統(tǒng)驗(yàn)證用戶時(shí),在客戶端對(duì)用戶的密碼進(jìn)行加密,然后將加密后的數(shù)據(jù)傳輸?shù)椒?wù)器端與數(shù)據(jù)庫中保存的經(jīng)過MD5加密的該用戶的密碼進(jìn)行比較,如果相等則表示該用戶是合法的。通過這樣方式驗(yàn)證用戶,即使用戶密碼的MD5值被竊取也是無所謂的,因?yàn)镸D5函數(shù)的計(jì)算過程是不可逆的,知道計(jì)算值是計(jì)算不出原來的字符串的。

  對(duì)于一部分密碼的設(shè)置過于簡單的用戶,可能存在攻擊者使用查詢的方法通過對(duì)搜集的大量MD5的密文和明文的對(duì)應(yīng)信息對(duì)用戶密碼進(jìn)行匹配嘗試來獲取密碼信息的隱患。對(duì)于這種攻擊方式,我們可以采取以下幾種方法來解決:

  (1)增強(qiáng)用戶密碼

  即用戶密碼的二次加密。將用戶密碼加上特殊的前綴或后綴,包含數(shù)字、字母、特殊符號(hào)等,使密碼長度加長,強(qiáng)度明顯增強(qiáng),防止用戶設(shè)置的密碼過短、過于簡單而易破解

  。如:在密碼前、后或中間加上一段特殊字符串“!&a%S%2!#@)?>”,或一串隨機(jī)碼(如驗(yàn)證碼),把用戶密碼加長至20位以上,再經(jīng)MD5碼加密,可使密碼強(qiáng)度增加,破解的難度明顯增大,即使被下載破解了,由于密碼人為加長,與實(shí)際密碼不符而無法得知其真實(shí)密碼。

  (2)用MD5 碼多次加密

  一種方法是直接對(duì)MD5加密過的數(shù)據(jù)進(jìn)行二次或多次加密。如前面所說的密碼“admin888”我們把它再M(fèi)D5 一次,即md5(md5('admin888'));得到的值再拿到cmd5.com上去破解,過了很長時(shí)間,沒有破解成功。另一種方法是在每次加密后從中抽取部分值進(jìn)行再加密,比如“我愛你”,加密后“1E6986ACEC7BAE541AB7B37B99260DAF”,我們可以取任意一部分進(jìn)行再加密,比如取前18 位“1E6986ACEC7BAE541”進(jìn)行再加密,這種做法修改也很簡單,比如asp 中調(diào)用是m d 5 (“p a s s w o r d”) 那么可以改成m d 5 ( l e f t ( m d 5(“password”),16))。

  (3)修改MD5算法

  這是最有效、最可靠、最捷徑的方法,其特點(diǎn)是加密后的數(shù)據(jù)和加密前非常類似,但是不會(huì)被破解。打開MD5.asp 文件,MD5 這個(gè)散列算法的關(guān)鍵地方,是MD5 中的4 個(gè)常數(shù),A 、B 、C、D 四個(gè)緩沖區(qū)寄存器,它們的初始值是:a = 0x67452301;b = 0xEFCDAB89;c = 0x98BADCFE;d = 0x10325476 .

  MD5 的算法過程主要是一些異、或、求模等的運(yùn)算,A、B、C、D四個(gè)值共是16 進(jìn)制的4*8=32位,那么可計(jì)算可能被破解的概率空間,如果改動(dòng)得越多,被破解的可能性也就越小。實(shí)際上,只要把初始值進(jìn)行稍微改變,比如只改變其中一位,也不必改動(dòng)算法的其它部分,就產(chǎn)生自己的新MD5 散列算法。如:把d=0x10325476改為d=0x10325376,這樣你就有一個(gè)與眾不同的MD5 算法,即使你的數(shù)據(jù)庫被下載,你也可以放心地使用。

  以上是網(wǎng)絡(luò)購物系統(tǒng)安全技術(shù)的全部內(nèi)容,了解更多干貨內(nèi)容,請(qǐng)繼續(xù)關(guān)注!

猜你喜歡

【本站聲明】 1、本網(wǎng)站發(fā)布的該篇文章,目的在于分享電商知識(shí)及傳遞、交流相關(guān)電商信息,以便您學(xué)習(xí)或了解電商知識(shí),請(qǐng)您不要用于其他用途; 2、該篇文章中所涉及的商標(biāo)、標(biāo)識(shí)的商品/服務(wù)并非來源于本網(wǎng)站,更非本網(wǎng)站提供,與本網(wǎng)站無關(guān),系他人的商品或服務(wù),本網(wǎng)站對(duì)于該類商標(biāo)、標(biāo)識(shí)不擁有任何權(quán)利; 3、本網(wǎng)站不對(duì)該篇文章中所涉及的商標(biāo)、標(biāo)識(shí)的商品/服務(wù)作任何明示或暗示的保證或擔(dān)保; 4、本網(wǎng)站不對(duì)文章中所涉及的內(nèi)容真實(shí)性、準(zhǔn)確性、可靠性負(fù)責(zé),僅系客觀性描述,如您需要了解該類商品/服務(wù)詳細(xì)的資訊,請(qǐng)您直接與該類商品/服務(wù)的提供者聯(lián)系。