以Windows 2000(2003) + IIS + ASP 平臺建設的Web 服務器是常用的一種建站方式。Windows 2000(2003)操作系統(tǒng)的一個主要特色就是將IIS 融入其內(nèi)核之中,并提供一些用來配置和維護軟件的向?qū)Чぞ,使?gòu)建一個Internet 網(wǎng)站輕而易舉。但微軟操作系統(tǒng)的漏洞卻是不容忽視的,它給網(wǎng)站安全埋下了一顆無形的定時炸彈。不過,如果能夠在建站之初就對網(wǎng)站安全的細微之處加以注意和防范,就能使網(wǎng)站安全事半功倍。
本文結(jié)合筆者親歷實踐,詳細分析了使用這種模式建站所面臨的各個層次的安全問題,并給出了相應的解決方法,特別是一些細節(jié)性的問題。
系統(tǒng)安全
微軟的操作系統(tǒng)以功能強大著稱,但其漏洞也層出不窮。因此,如果采用Windows 平臺作為Web 服務器,在安裝和配置時就要注意以下幾點:
(1)系統(tǒng)安裝完畢,應該及時給系統(tǒng)打上各種補丁?梢栽诜⻊掌魃习惭b360 安全衛(wèi)士,通過該軟件自動掃描系統(tǒng)漏洞,并下載安裝相應的補丁。
(2)不要安裝多余的服務和協(xié)議。因為有的服務本身就存在漏洞,多余的協(xié)議也會占用系統(tǒng)資源,所以不妨把無用的服務和協(xié)議停止或關(guān)閉(例如FTP、STMP 等)。
(3)安裝專業(yè)的防病毒軟件和防火墻軟件。
網(wǎng)站配置安全
優(yōu)化可靠的IIS 配置是網(wǎng)站安全成功的基礎,不妨從以下幾方面做好安全配置:
(1)盡量不要把網(wǎng)站安裝在默認的C:\Inetpub\wwwroot\目錄下。
主要原因有兩個:一是C 盤是系統(tǒng)盤,很多因素都可能破壞系統(tǒng),導致數(shù)據(jù)丟失等意外情況發(fā)生;二是如果選擇默認安裝,黑客很容易就能猜出安裝的位置,并對網(wǎng)站實施攻擊?梢园惭b在除系統(tǒng)盤外的其他分區(qū),并刪除默認建立的站點的虛擬目錄,停止默認Web 站點,即刪除對應的文件目錄C:\Inetpub,配置所有站點的公共設置,設置好相關(guān)的連接數(shù)限制。
(2)在配置網(wǎng)站安全策略時,在IIS 站點配置時如果沒有特殊要求,不要勾選“腳本資源訪問”、“寫入”、“目錄瀏覽”這3 個選項。
不選“腳本資源訪問”,能有效阻止客戶端運行一些服務器端的程序;不選“寫入”,可防止客戶上傳一些可執(zhí)行文件;不選“目錄瀏覽”,就能使客戶端猜不出網(wǎng)站的路徑結(jié)構(gòu)。
同時,還要刪除所有不必要的應用程序擴展,只保留如asp、aspx 等有用的應用程序擴展。
(3)對上傳文件進行嚴格的控制,一般不允許可執(zhí)行文件如exe、bat 等文件的上傳。
程序代碼安全
很多網(wǎng)站已經(jīng)部署了足夠的安全設備,但還是經(jīng)常遭遇黑客攻擊或病毒入侵,這就要考慮一下問題是否出在程序代碼不安全或?qū)傩栽O置不當之上。
例如下面的案例。
案例:整個網(wǎng)站看起來很正常,但在打開首頁或其他某一頁面時出現(xiàn)空白,或彈出其他頁面。如果不安裝個人防火墻,不知道問題出在哪里;如果安裝了個人防火墻,則會彈出諸如“攔截到一個木馬或惡意廣告頁面URL:http://ff1114.2288.org”的提示信息。
這時,如果您打開網(wǎng)站首頁文件或數(shù)據(jù)庫連接文件index.asp 或者default.asp、conn.asp 等,就會發(fā)現(xiàn)文件最后一行寫入了一句掛馬代碼,如或,將該行代碼刪除,瀏覽網(wǎng)頁即可恢復正常。
因此,網(wǎng)站配置好后,在應用程序開發(fā)與管理中要做好程序代碼的安全工作。
1. 將網(wǎng)站的程序文件改為“只讀”屬性
一般寫入掛馬代碼的多是index.asp、default.asp、conn.asp、top.asp 等文件,從安全角度考慮,建議將網(wǎng)站中的文件除必要數(shù)據(jù)庫文件和JS 刷新文件外,均設置為“只讀”,防止黑客在程序中寫入語句。
2. 防止SQL 注入
許多網(wǎng)站程序在編寫時,沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代碼(在瀏覽器地址欄中,通過正常的WWW 端口訪問),根據(jù)程序返回的結(jié)果獲得某些想要知道的數(shù)據(jù),這就是所謂的SQL 注入。
對于這種情況, 如果程序是自行開發(fā)的, 一般的HTTP 請求不外乎GET 和POST,所以只要在文件中過濾所有POST 或者GET 請求中的參數(shù)信息中的非法字符即可。如果是采用動易等免費代碼的,一般都有防SQL 注入功能,只要將該保護功能開啟即可。
3. 關(guān)閉不必要的“注冊”和“忘記密碼”等功能
很多網(wǎng)站采用的都是網(wǎng)上免費的源碼,如動易、風訊等,但這些程序中也會有一些漏洞,如動易中的“忘記密碼”很容易被人猜出用戶的問題答案,并最終修改密碼,獲得一定的權(quán)限。因此,如果沒特別需要,建議關(guān)掉“注冊”和“忘記密碼”這兩個功能。
數(shù)據(jù)庫安全
數(shù)據(jù)庫是一個網(wǎng)站的核心,如果數(shù)據(jù)庫出現(xiàn)安全問題,輕則數(shù)據(jù)泄密,重則數(shù)據(jù)全毀,很可能會造成無法挽回的損失。因此,加強數(shù)據(jù)庫安全是每位網(wǎng)管工作者必須考慮的內(nèi)容。
(1)如果數(shù)據(jù)庫采用Access,由于服務器端的mdb 文件可以被用戶下載,數(shù)據(jù)庫將變得很危險。
一般情況下,Access 數(shù)據(jù)庫文件存放在相應的Web 目錄中,很多黑客就是利用這種規(guī)律來查找并下載數(shù)據(jù)庫文件的,進而竊取重要的數(shù)據(jù)。因此,如果采用Access 數(shù)據(jù)庫,就要將數(shù)據(jù)庫文件的后綴名由mdb 改為asp 或asa,還要更改數(shù)據(jù)庫文件夾的習慣名稱data 或database 等,并轉(zhuǎn)移數(shù)據(jù)庫的位置。特別是對于下載的模板,一般數(shù)據(jù)庫存放
在特定的位置,很容易被人猜出。因此,可以采用改變數(shù)據(jù)庫文件存儲位置的方法,將數(shù)據(jù)庫文件存放在Web 目錄以外的某個文件夾中,讓黑客難以猜測存儲位置。同時,修改好數(shù)據(jù)庫連接文件(如conn.asp)中的數(shù)據(jù)庫文件相應信息。這樣Access 數(shù)據(jù)庫文件就安全多了。
(2)對于專用的MSSQL 數(shù)據(jù)庫服務器,可以設置TCP/IP 篩選和IP 策略,對外只開放1433。
由于SQL Server 不能更改或刪除sa 用戶,因此必須為這個賬號設置一個非常強壯的密碼。當然,最好不要在數(shù)據(jù)庫應用中使用sa 賬號,只有當沒有其他方法登錄到SQL Server(例如,當其他系統(tǒng)管理員不可用或忘記了密碼)時才使用sa。
建議數(shù)據(jù)庫管理員新建立個擁有與sa 一樣權(quán)限的超級用戶來管理數(shù)據(jù)庫。使用混合身份驗證, 加強數(shù)據(jù)庫日志的記錄, 審核數(shù)據(jù)庫登錄事件的“成功和失敗”, 刪除一些不需要的和危險的OLE 自動存儲過程等。
總之,沒有絕對安全的方法,只有從細小處著手,加強安全意識,注意安全防范,才可能打造一個相對安全可靠的網(wǎng)站。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領(lǐng)域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:網(wǎng)站安全從小處著手
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/1083946845.html