Захист папок скрипта від запуску сторонніх скриптів

Дорогі друзі,

у цій невеликій статті ми хочемо розповісти вам про те, як вам можна підвищити безпеку вашого сайту. Як відомо найбільшу загрозу для сайту являють собою залиті зловмисником на сервер PHP шелли. Що це таке? Це PHP скрипти які можуть виконуватися на вашому сервері, відповідно проводити які-небудь зміни в файлах доступних для запису або можуть, наприклад читати вміст конфігураційних даних і відповідно отримувати прямий доступ до бази даних. Яким чином можуть потрапляти дані шелли на ваш сервер? При виявленні будь уразливості в скрипті, або сторонніх модулях, або взагалі при наявності інших вразливих сторонніх скриптів на сервері, або серверного ПО. Головна особливість полягає в тому, що шелли можна залити не в будь-які папки на сервері, а лише в папки доступні для запису на сервері, і в DataLife Engine такими папками папки /uploads/ і /templates/, а також всі вкладені в них папки. Дані папки повинні мати права на запис, т. к. ви заливаєте допомогою скрипта легальний контент, файли, картинки, редагуєте в адмінпанелі шаблони та інше. І як правило в ці папки проводиться завантаження шелл при виявленні зловмисником якоїсь дірки на сервері в будь-якому скрипті, навіть не має відношення до DataLife Engine. Чи можна захистити ці папки, в разі потрапляння в них злісного PHP файлу, адже не можна заборонити доступ до цих папок? Можна, і досить не складно.

Отже, вам необхідно розмістити в папках /uploads/ і /templates/ файл .htaccess з наступним вмістом:
php_flag engine off
Дана рядок вимикає використання PHP інтерпретатора при спробі звернення до PHP файлів що знаходяться в цих папках, а також знаходяться у всіх вкладених папках. Тому навіть у разі заливання в ці папки файлів зі шкідливим кодом PHP, вони стають для зловмисника абсолютно марними, оскільки просто не будуть запускатися і виконуються сервером.

На жаль далеко не всі хостинг провайдери дозволяють керувати .htaccess даним параметром, але для таких сайтів рішення також існує, тому якщо на вашому сервері працює вищевказаний спосіб, то додайте в цих папках .htaccess з вмістом:
Order allow,deny
Deny from all

Даний код забороняє пряме звернення до PHP файлів, що знаходяться в цих папках.

Ось власне і все, ці нескладні маніпуляції дозволять серйозно підвищити безпеку вашого сайту, навіть у випадку якщо знайдеться серйозна уразливість в інших модулях і скриптах.
179