天天看點

織夢dedecms程式安全設定

作者:中國西部數位

1、更新到dedecms最新版本

dedecms背景一般支援線上更新,如果不行,請到官方網站查詢手工更新辦法www.dedecms.com

2、權限設定:

主機控制台中點選 “檔案管理” 選中wwwroot目錄 在點選 “權限” 按鈕,将整站所有檔案設定為隻讀。 老版本可能登入背景會提示驗證碼錯誤,進入wwwroot目錄,選中data目錄,然後點選“權限”單獨将data設定為完全控制(可讀可寫)權限。生成文檔的目錄也可單獨設定完全控制權限,或者在需要更新文檔時再将wwwroot目錄設定為完全控制。注意:更新完文檔要再次設定為隻讀。

3、目錄保護:

為防止木馬被上傳執行,請點選控制台中的“目錄保護”功能,依次選擇templates、uploads、data這三個目錄添加保護(以禁止腳本執行,防止黑客上傳木馬)

4、添加SQL注入防護腳本:

參考:http://faq.myhostadmin.net/faq/listagent.asp?unid=645 如果使用我司預裝360安全版本可跳過這步。

對于已經被入侵的網站,請按以下教程操作:

①.下載下傳專殺工具進行掃描清除:

http://faq.myhostadmin.net/faq/listagent.asp?unid=673 然後重新生成檔案。

②.人工分析判斷異常檔案,若被黑嚴重建議備份好目前資料庫和重要檔案,然後清空重新上傳安裝并恢複資料庫。

相關檔案: 淺談虛拟主機網站安全設定

将網站權限設定為完全控制(可讀可寫):

http://www.west.cn/faq/list.asp?unid=286

5、利用僞靜态取消目錄執行腳本

linux系統:

建立一個txt文本檔案,用文本編輯器打開,複制以下規則儲存,上傳到網站根目錄,将檔案重新命名.htaccess(注意有點)

RewriteEngine on

#安全設定 禁止以下目錄運作指定php腳本

RewriteCond % !^$

RewriteRule a/(.*).(php)$ – [F]

RewriteRule data/(.*).(php)$ – [F]

RewriteRule images/(.*).(php)$ – [F]

RewriteRule css/(.*).(php)$ – [F]

RewriteRule js/(.*).(php)$ – [F]

RewriteRule style/(.*).(php)$ – [F]

RewriteRule skin/(.*).(php)$ – [F]

RewriteRule templets/(.*).(php|htm)$ – [F]

RewriteRule uploads/(.*).(php)$ – [F]

windows系統:

建立一個txt文本檔案,用文本編輯器打開,複制以下規則儲存,上傳到網站根目錄,将檔案重新命名web.config。

如果網站目錄原本有web.config檔案,僅複制以下紅色部分,添加到<rules>這行後面

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="Block a" stopProcessing="true">

<match url="^a/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="a" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block data" stopProcessing="true">

<match url="^data/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="data" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block skin" stopProcessing="true">

<match url="^skin/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="skin" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block style" stopProcessing="true">

<match url="^style/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="style" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block css" stopProcessing="true">

<match url="^css/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="css" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block js" stopProcessing="true">

<match url="^js/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="js" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block images" stopProcessing="true">

<match url="^images/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="images" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block templets" stopProcessing="true">

<match url="^templets/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="templets" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

<rule name="Block uploads" stopProcessing="true">

<match url="^uploads/(.*).php#34; />

<conditions logicalGrouping="MatchAny">

<add input="{USER_AGENT}" pattern="uploads" />

<add input="{REMOTE_ADDR}" pattern="" />

</conditions>

<action type="AbortRequest" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>