Все для DataLife Engine / Все для DLE / Полезные статьи / Защита папок скрипта от запуска сторонних скриптов DLE

Защита папок скрипта от запуска сторонних скриптов DLE

Безопасность, защита сайта полезная статья!
Здравствуйте друзья,

Предлагаю небольшую статью, как можно повысить безопасность вашего сайта. На данный момент наибольшую угрозу для сайта представляют собой залитые злоумышленником на сервер PHP шеллы, каким либо образом или защита папок движка от запуска сторонних скриптов DLE
Что такое PHP шеллы? PHP шеллы это - скрипты которые могут выполняться на вашем сервере и производить какие-либо изменения в файлах доступных для записи. Например: читать содержимое конфигурационных данных и соответственно получать прямой доступ к базе данных.
Каким образом могут попадать PHP шеллы на ваш сервер? Чаще всего при использовании не лицензионной версии движка, а также при обнаружении какой либо уязвимости в скрипте, или сторонних модулях dle, или вообще при наличии других уязвимых сторонних скриптов на сервере, или серверного ПО. Главная особенность заключается в том, что шеллы можно залить не в любые папки на сервере, а лишь в папки доступные для записи на сервере.

В DataLife Engine такими папками являются /uploads/ и /templates/, а также все вложенные в них папки. Эти папки должны иметь права на запись, т.к. вы в них записывается посредством скрипта легальный контент, файлы, картинки, редактируете в админпанели шаблоны и прочее. И как правило в эти папки производится загрузка шеллов при обнаружении злоумышленником какой либо бреши на сервере в любом скрипте, даже не имеющем отношения к DataLife Engine.

Для того чтобы защитить эти папки, от попытки попадания в них зловредного PHP файла, запретив доступ к этим папкам, достаточно разместить в папках /uploads/ и /templates/ файл .htaccess со следующим содержимым:
php_flag engine  off


Данная строчка отключает использование PHP интерпретатора при попытке обращения к PHP файлам находящимся в этих папках, а также находящимся во всех вложенных папках. Если даже в случае записи в эти папки файлов со зловредный PHP код, они становятся совершенно бесполезными, потому что не будут запускаться и выполнятся сервером.

Так как не все хостинг провайдеры позволяют управлять через .htaccess данным параметром, есть второй вариант решение для таких сайтов. Достаточно разместите в этих же папках .htaccess с содержимым:

<FilesMatch ".(php|php3|php4|php5|php6|phtml|phps)$|^$">   Order allow,deny   Deny from all</FilesMatch>


В результате код запрещает прямое обращение к PHP файлам, находящимся в этих папках.
Эти несложные манипуляции позволят серьезно повысить безопасность вашего сайта, даже в случае если найдется серьезная уязвимость в сторонних модулях и скриптах.
Это решение актуально для версий DLE 8.x и 9.0
Замечу что в версии DLE 9.2 уже установлена данная защита.

Если вы хотите проверить работает ли защита достаточно разместить PHP файл и попробуйте его запустить.

Предлагаем прочитать DLE защита папок скрипта от запуска сторонних скриптов

zaschita-papok-skripta-ot-zapuska-storonnih-skriptov1.rar [1,7 Kb] (cкачиваний: 58)
  • 60

Комментарии 2

arrepromi от 2 октября 2011 02:52
С этим я полностью согласен!
Shealseanaeft от 26 сентября 2011 06:46
Присоединяюсь. Так бывает.
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent