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

Раздел: DataLife Engine » Полезные статьи для 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 защита папок скрипта от запуска сторонних скриптов
  • 60
Рубрика: Все для DLE » Полезные статьи
Ранее » Советы robots.txt для Datalife Engine DLE« Далее Проверка позиций сайта в поисковиках seo(сео) для DLE
Добавление комментарияОставить комментарий
  • № :2
  • 2 октября 2011 02:52
С этим я полностью согласен!
  • № :1
  • 26 сентября 2011 06:46
Присоединяюсь. Так бывает.