程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 用DedeCms搭建的網站應該如何防掛馬

用DedeCms搭建的網站應該如何防掛馬

編輯:PHP綜合

為什麼DedeCMS搭建的網站會經常被掛馬,該如何去防止被掛馬?

    接下來我們看一看你原因吧,為什麼PHP程序經常出漏洞,其實是由PHP程序本身決定的。PHP可復用性低,導致程序結構錯綜復雜,到處是冗余代碼,這樣不僅利於漏洞的產生,還影響漏洞的修得;PHP程序入門簡單且普遍開源,導致很多人都可直接閱讀代碼,搜尋漏洞;這樣便有源源不斷的漏洞被發現、被修復、被發現……而當前流行的PHP系統習慣用以文件形式做為緩存,這樣就需要開放文件的寫權限,這無疑成為PHP系統的軟肋。目前針對PHP系統的攻擊方式,除了已經很少出現的"注入"攻擊外,大部分攻擊都是通過系統的某個漏洞,向可寫文件裡插入一句話木馬,以此方式獲得shell.
    網站安全從來都是服務器配置、文件權限控制和網站程序三者的相互配合,今天主要看看如果對DedeCms網站程序的改進來提高安全性。"可執行的文件不允許被修改,可寫文件不允許被訪問"這是網站權限控制的根本原則,網站程序在"可寫文件不允許被訪問"方面可做許多工作。就拿DedeCMS來說,我們可以在如下幾個方式做好保護。
    1、改名根目錄下的data目錄,或者移動到網站目錄外面
    data目錄便是最藏污納垢的地方,系統經常要往這個目錄寫數據,這個目錄下的任何一個文件又都可以通過URL訪問到,所以要讓浏覽器訪問不到裡面的文件,就需要將此目錄改名,或者移動到網站的目錄外面去。這些,即使別人通過漏洞往文件裡寫進了一句話木馬,他也找不到此木馬所在的文件路徑,無法繼續展開攻擊。因為DedeCMS程序的不合理,導致改名data目錄動作會比較大,具體做法如下:
    a.將公開的內容遷移到pub目錄(或者其它自定義目錄)下,如rss、sitemap、js、enum等,此步驟需要移動文件夾,並修改這些文件的生成路徑
    b.修改引用程序目錄
    搜索替換"DEDEDATA."/data/"為"DEDEDATA."/",大概替換五六十個地方;
    搜索替換"DEDEDATA.'/data/"為"DEDEDATA.'/",大概替換五六十個地方;
    搜索"/data/",按具體情況,修改路徑類似成為:"$DEDEDATA."/"(注意include目錄和後台管理目錄都有data文件夾,不需要修改);
    c.修改data文件夾名稱,並修改include/common.inc.php文件裡的"DEDEDATA"的值,再在後台系統設置》參數設置裡修改模板緩存目錄,即可修改完成。以後也可以按照此步驟來更改data文件夾名稱。

    2、改名"dede"管理目錄,並加固
    如果把後台隱藏好了,即使別人獲得了你的管理員賬號、密碼,他也無從登錄。
    a.在/dede/config.php裡,找到如下行:
    以下為引用的內容:
    1//檢驗用戶登錄狀態
    2$cuserLogin=newuserLogin();
    3if($cuserLogin->getUserID()==-1)
    4{
    5header("location:login.php?gotopage=".urlencode($dedeNowurl));
    6}
    把上面代碼,改為:
    以下為引用的內容:
    1//檢驗用戶登錄狀態
    2$cuserLogin=newuserLogin();
    3if($cuserLogin->getUserID()==-1)
    4{
    5//header("location:login.php?gotopage=".urlencode($dedeNowurl));
    6header("HTTP/1.0404NotFound");
    7exit();
    8}
    b.修改/dede/login.php的文件名稱,並對應的修改/dede/templets/login.htm裡的表單提交地址;
    c.修改/dede/的目錄名稱;
    這樣,別人在沒有登錄前,只能訪問/dede/login.php改名後的地址,訪問其他地址均會獲得404錯誤。
    當然,做了安全加固後,以後DedeCMS的升級就會有一些麻煩。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved