淺談網絡購物系統的安全技術
作者: 繆艾君 來源: 未知 發布時間:2016-01-19 15:40
今天我們談談網絡購物系統的安全技術。由于網絡購物系統存在于開放的Internet網絡環境中,代碼或者系統本身也可能存在漏洞,勢必可能受到網絡中病毒、木馬和其它方式的攻擊,網絡購物系統由其本身的特點,安全性要求是它的一項最重要的要求。因此需要對網絡購物系統的安全進行充分的考慮。
二、系統安全性
Web網站存放于Web服務器,要保證網站的安全首先需要確保服務器系統的安全。對服務器做如下安全設置:
(1)安裝系統時選擇NTFS格式進行安裝。安裝好后,設置自動更新,及時打好系統補丁。
(2)安裝好防火墻和殺毒軟件并及時更新,對防火墻應設置適當的安全級別和相應的規則,設置端口保護。
(3)刪除默認共享,將不需要的端口關掉,需要經常使用的端口更改端口號,防止網絡攻擊。
(4)合理的設置操作系統的賬號,關閉guest賬號、刪除不必要的賬號,將Administrator用戶改名設置足夠強壯的密碼,對于其它賬號根據夠用的原則設置好合適的權限。
(5)關閉不需要用到的服務,刪除或改名不安全的組件,禁用空連接,不安裝不必要的軟件防止第三方軟件漏洞。
三、網站安全技術
網站常常由于源程序的本身缺陷與程序編寫經驗的不足、權限設置的不合理等因素的影響,可能存在諸如腳本信息泄露、SQL注入、繞過權限驗證、木馬等安全問題,在應用過程中注意好相應的設置、進行相應的處理就能很大程度上減少此類問題帶來的影響。
(1)IIS安全設置
關閉并刪除默認站點,系統所在位置與系統不在同一個分區,刪除不必要的IIS映射和擴展,把一切ASP 錯誤,服務器返回的信息設置為http500 錯誤,設置好網站的Web權限,一般情況下不給那些靜態網站以“腳本和可執行”權限。動態網站只要給個“純腳本”權限就夠了,對于那些上傳文件的存放目錄,執行權限設為“無” 。
(2)為了防止非法用戶將有可能運行上傳的腳本、木馬等,進而控制站點、甚至整個服務器,上傳目錄應設置不給腳本執行權限,對上傳的數據的文件類型也需要進行限制。
(3)防止權限驗證程序被繞過
對于需要通過身份驗證后才能被訪問的頁面,可以繞過身份驗證, 直接進入到該頁面,這樣做為用戶區分與權限分配的驗證程序就失去了原有的作用。為防范此漏洞, 可以通過對需要通過身份驗證的頁面添加對存儲在cookies或session對象中的再次驗證來實現安全控制。當訪問者通過身份驗證頁面后, 就把Cookies信息或對象的屬性存儲起來, 當訪問者試圖登錄到有效鏈接頁面時, 將當前身份信息與存儲的驗證信息行比較, 如果不匹配,則拒絕訪問。
(4)防范SQL注入攻擊
Web系統經常要以用戶輸入或者傳遞的參數來構造SQL語句,并讓后臺的數據庫執行。SQL注入是系統通過輸入的內容構造出來的SQL語句,在執行時改變了查詢條件或者附帶執行了攻擊者注入的整個SQL語句,從而讓攻擊者達到了非法的目的 。
程序開發人員在編寫網站程序時, 應對用戶可能輸入的信息進行檢驗、過濾, 阻止惡意代碼的攻擊, 以達到注入攻擊的防御效果。目前這種檢驗方法一般有兩種。
① 替換或刪除敏感字符/字符串
對用戶傳遞過來的參數, 使用替換函數, 將認為危險的所有字符替換成為相應的安全字符。
② 在服務器正式處理前對提交數據進行檢驗。
如果檢驗出有非法字符輸入時, 服務器立即終止處理, 不給SQL注入攻擊的機會。
(5)ASP腳本加密
為有效地防止ASP 源代碼泄露, 可以對ASP 頁面進行加密。使用微軟的Script Encoder 對ASP 頁面進行加密,操作簡單、收效良好。
四、數據庫安全
在ASP環境中,常用的后臺數據庫是SQL Server,其安全技術主要有。
(1)更改sa口令,取消guest賬號,SA具有對SQL Server數據庫操作的全部權限,但在安裝SQL Server時sa缺省口令為空,為SQL Server帶來了潛在的隱患,應把sa的口令換為更安全的口令,同時不能把sa賬號的密碼寫在應用程序或者腳本中。
(2)控制訪問權限
定義用戶和角色對數據庫、數據表和數據列的訪問權限,限制用戶對表擁有直接的查詢、更改、插入、刪除權限,可以通過給用戶訪問視圖和執行存儲過程的權限,以保證數據庫的安全。
(3)限制SQL Server自帶的存儲過程
在SQL Server攻擊中有一類是構造特殊字符串調用SQL Server系統中master數據庫自帶的存儲過程來獲取權限。可以去除或限制SQL Server系統中自帶的存儲過程。
(4)加強數據庫訪問日志的監視,定期備份數據庫審核數據庫登錄事件的“失敗和成功”,在實例屬性中選擇“安全性”,將其中的審核級別選定為全部,這樣在數據庫系統日志里就詳細記錄了所有賬號的登錄事件,一旦出現問題能夠查出原因,及時補救。同時,制定完整的數據庫備份策略,在必要的時候能夠實現對數據庫的恢復。
五、數據加密技術
用戶的密碼在傳輸時可能被竊取,數據庫中的密碼可能被系統的管理員查看或破解,如果數據庫被入侵那么數據庫中的信息將毫無安全性可言,為了防止授權用戶的密碼被泄露,系統應該在數據傳輸過程以及數據庫中對數據以加密的形式進行傳輸和保存。
MD5作為最為常用的一項加密算法,其以加密強度頗大而著稱,被廣泛用于加密和解密技術上。在使用MD5的Web系統驗證用戶時,在客戶端對用戶的密碼進行加密,然后將加密后的數據傳輸到服務器端與數據庫中保存的經過MD5加密的該用戶的密碼進行比較,如果相等則表示該用戶是合法的。通過這樣方式驗證用戶,即使用戶密碼的MD5值被竊取也是無所謂的,因為MD5函數的計算過程是不可逆的,知道計算值是計算不出原來的字符串的。
對于一部分密碼的設置過于簡單的用戶,可能存在攻擊者使用查詢的方法通過對搜集的大量MD5的密文和明文的對應信息對用戶密碼進行匹配嘗試來獲取密碼信息的隱患。對于這種攻擊方式,我們可以采取以下幾種方法來解決:
(1)增強用戶密碼
即用戶密碼的二次加密。將用戶密碼加上特殊的前綴或后綴,包含數字、字母、特殊符號等,使密碼長度加長,強度明顯增強,防止用戶設置的密碼過短、過于簡單而易破解
。如:在密碼前、后或中間加上一段特殊字符串“!&a%S%2!#@)?>”,或一串隨機碼(如驗證碼),把用戶密碼加長至20位以上,再經MD5碼加密,可使密碼強度增加,破解的難度明顯增大,即使被下載破解了,由于密碼人為加長,與實際密碼不符而無法得知其真實密碼。
(2)用MD5 碼多次加密
一種方法是直接對MD5加密過的數據進行二次或多次加密。如前面所說的密碼“admin888”我們把它再MD5 一次,即md5(md5('admin888'));得到的值再拿到cmd5.com上去破解,過了很長時間,沒有破解成功。另一種方法是在每次加密后從中抽取部分值進行再加密,比如“我愛你”,加密后“1E6986ACEC7BAE541AB7B37B99260DAF”,我們可以取任意一部分進行再加密,比如取前18 位“1E6986ACEC7BAE541”進行再加密,這種做法修改也很簡單,比如asp 中調用是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算法
這是最有效、最可靠、最捷徑的方法,其特點是加密后的數據和加密前非常類似,但是不會被破解。打開MD5.asp 文件,MD5 這個散列算法的關鍵地方,是MD5 中的4 個常數,A 、B 、C、D 四個緩沖區寄存器,它們的初始值是:a = 0x67452301;b = 0xEFCDAB89;c = 0x98BADCFE;d = 0x10325476 .
MD5 的算法過程主要是一些異、或、求模等的運算,A、B、C、D四個值共是16 進制的4*8=32位,那么可計算可能被破解的概率空間,如果改動得越多,被破解的可能性也就越小。實際上,只要把初始值進行稍微改變,比如只改變其中一位,也不必改動算法的其它部分,就產生自己的新MD5 散列算法。如:把d=0x10325476改為d=0x10325376,這樣你就有一個與眾不同的MD5 算法,即使你的數據庫被下載,你也可以放心地使用。
以上是網絡購物系統安全技術的全部內容,了解更多干貨內容,請繼續關注!

猜你喜歡
【本站聲明】 1、本網站發布的該篇文章,目的在于分享電商知識及傳遞、交流相關電商信息,以便您學習或了解電商知識,請您不要用于其他用途; 2、該篇文章中所涉及的商標、標識的商品/服務并非來源于本網站,更非本網站提供,與本網站無關,系他人的商品或服務,本網站對于該類商標、標識不擁有任何權利; 3、本網站不對該篇文章中所涉及的商標、標識的商品/服務作任何明示或暗示的保證或擔保; 4、本網站不對文章中所涉及的內容真實性、準確性、可靠性負責,僅系客觀性描述,如您需要了解該類商品/服務詳細的資訊,請您直接與該類商品/服務的提供者聯系。