POST TIME:2017-11-12 23:50
網(wǎng)站安全中,對目錄的執(zhí)行權(quán)限是非常敏感的,一般來說,可以寫入的目錄是不能夠擁有腳本的執(zhí)行權(quán)限的,像織夢cms,可寫入的有兩個(gè)目錄data、uploads,data目錄主要是基本配置文件和緩存數(shù)據(jù),uploads則是附件上傳保存的目錄,本篇將針對不同服務(wù)器環(huán)境來介紹如何取消這兩個(gè)目錄的執(zhí)行權(quán)限,當(dāng)然我們也建議用戶其他一些生成純靜態(tài)html的目錄,擁有可寫入權(quán)限的也統(tǒng)統(tǒng)去除執(zhí)行權(quán)限,這樣系統(tǒng)會更為安全。
打開IIS中站點(diǎn),在站點(diǎn)uploads目錄、data目錄以及靜態(tài)html生成目錄點(diǎn)擊右鍵,菜單中選擇“屬性”,在目錄屬性面板選擇執(zhí)行權(quán)限為“無”即可。(如圖1)
(圖1)
IIS7取消織夢cms目錄執(zhí)行權(quán)限
IIS7也類似于IIS6.0,選擇站點(diǎn)對應(yīng)的目錄,data、uploads及靜態(tài)html文件目錄,雙擊功能試圖面板中的“處理程序映射”(如圖2)
(圖2)
在“編輯功能權(quán)限……”中,我們直接去除腳本的執(zhí)行權(quán)限即可。(如圖3)
(圖3)
獨(dú)立主機(jī)通過配置取消目錄執(zhí)行權(quán)限
在Apache中,沒有Windows 下IIS的圖形管理界面,我們需要手工修改下apache的配置文件,來進(jìn)行目錄腳本的執(zhí)行權(quán)限的設(shè)定。
首先我們找到apache的配置文件httpd.conf,通常情況下,該配置文件在apache安裝目錄下的conf文件夾中(如圖4)。
(圖4)
打開httpd.conf文件,找到內(nèi)容中如圖5的位置:
(圖5)
將需要限制執(zhí)行腳本文件的目錄配置添加到下方:
配置內(nèi)容為:
<Directory "DIR"> <FilesMatch ".(php|asp|jsp)$"> Deny from all </FilesMatch> </Directory>
配置內(nèi)容中的DIR為需要限制執(zhí)行腳本文件的目錄,F(xiàn)ilesMatch后的內(nèi)容為需要限定的執(zhí)行的腳本后綴名。例如:這里需要禁止測試站點(diǎn)uploads文件夾下的PHP,ASP,JSP腳本的運(yùn)行,則進(jìn)行如下圖6配置:
(圖6)
在配置完成后,重啟一下apache,配置便生效!
在操作前,uploads文件夾下我新建了一個(gè)index.php文件,圖7為未作配置前訪問情況
(圖7)
圖8為重啟apache后訪問該頁面的效果。
(圖8)
虛擬主機(jī)/空間配置 取消目錄執(zhí)行權(quán)限
在配置前需要確認(rèn)你的空間是否支持.htaccess和rewrite,該方法基于.htaccess文件中使用rewrite來達(dá)到禁止指定腳本的運(yùn)行效果。
規(guī)則內(nèi)容如下:
RewriteEngine on RewriteCond % !^$ RewriteRule uploads/(.*).(php)$ – [F] RewriteRule data/(.*).(php)$ – [F] RewriteRule templets/(.*).(php)$ – [F]
針對uploads,data,templets 三個(gè)目錄做了執(zhí)行php腳本限制;將如上內(nèi)容存儲至到.hatccess文件中,將該文件存放到你的站點(diǎn)根目錄下,這樣,目錄腳本的執(zhí)行權(quán)限就控制好了,規(guī)則上傳前后的效果同圖7,圖8。