數據庫安全之Access數據庫防下載
Access數據庫相對于MSSQL數據庫來說可能沒有那么高的知名度,但是在互聯網眾多的網站中,還是有很大一部分Web網站采用這種數據庫結構的。Access數據庫一旦被下載,對于Web網站來說是一種致命的威脅。那么如何防止Access數據庫被下載成為了本篇文章要討論的問題。
Access數據庫防下載之數據庫改名
數據庫改名包括兩部分,首先將其改成比較生僻的名稱,建議名字足夠長并使用某些特殊字符以防被攻擊者猜中。另外,將mdb后綴改為asp,以防數據庫被下載。當然數據庫改名后,數據庫連接配置文件也要進行修改。
Access數據庫防下載之改變數據庫路徑
站點系統都有默認的數據庫路徑,由于安全意識淡薄,部署Web站點時有很多人不去修改數據庫路徑,因而攻擊者很容易地猜到該站點的數據庫路徑。
更改數據庫路徑,大家可以在站點目錄下創建比較生僻的目錄,然后將數據庫文件拷貝到該目錄中。當然,更改數據庫路徑后,需要修改站點系統的數據庫連接文件。一般asp站點系統的數據庫連接文件是conn.asp。打開該文件后,然后根據實際情況進行修改,使得其跟當前的數據庫路徑相一致。
Access數據庫防下載之設置好目錄權限
要設置好數據庫目錄的訪問權限,原則是權限最小化以防止非正常的訪問。因為Web程序是通過IIS用戶運行的,我們只要給IIS用戶讀取和寫入權限,然后通過“IIS管理器”把這個目錄的腳本執行權限去掉,防止入侵者在該目錄中通過上傳獲得webshell了。
Access數據庫防下載之添加mdb的擴展映射
IIS對于不能解析的文件類型就會彈出下載對話框讓用戶下載,我們可以通過在IIS管理器中添加對mdb的擴展映射,防止數據庫被下載。其設置方法是:打開IIS管理器定位到相應的Web站點,右鍵選擇“屬性”,然后依次點擊“主目錄→配置→映射”,在“應用程序擴展”里面添加.mdb文件應用解析,至于用于解析它的可執行文件大家可以自己進行選擇,只要讓攻擊者無法訪問數據庫文件就可以了。
Access數據庫防下載之數據庫改造
思路是將數據庫后綴名(.mdb)修改為.asp,然后在數據庫中加上一個NotDownLoad的表以防數據庫被下載。具體操作方法如下:
首先新建一個.asp文件(notdown.asp),其代碼如下:
db="DataShop.asp" '這里改成你的數據庫地址,這是相對根目錄的地址
set conn=server.createobject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
conn.open connstr
conn.execute("create table notdownload(notdown oleobject)")
set rs=server.createobject("adodb.recordset")
sql="select * from notdownload"
rs.open sql,conn,1,3
rs.addnew
rs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%")))
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
然后在服務器端運行notdown.asp,這樣在數據庫添加了包含notdown字段的notdownload數據表,即可防止數據庫的下載,因為notdown有一個值是"< %",asp運行是因缺少"% >"關閉標記而拒絕訪問,下載當然會失敗。
【編輯推薦】