Главная » DLE » Статьи DLE » Как защитить свой сайт от взлома Статьи про ДЛЕ
Распечатать статью

Как защитить свой сайт от взлома Статьи про ДЛЕ

Изначально выясним что мы понимаем под понятием уязвимости, дабы знать в дальнейшем какие задачи пред нами стоят. Для нас уязвимость это какой-либо недостаток в защите сайта, при котором иной пользователь (ака злоумышленник) может получить достук к админке и/или фтп доступ, или же путём создания собственного файла на сервере (шелл, эксплоит… все называют по разному) манипулировать сайтом. В любом из вышеуказанных случаев злоумышленник имеет возможность слить вашу БД или внести в неё изменения, изменить шаблон сайта, если количество мозгов в черепе побольше, то также можно организовать удалённый доступ и удалённую манипуляцию сайтом, проделывая те или иные действия уже в автоматическом режиме. Иногда «ломанные» сайты соединяют в сети для более удобного управления.
Примером удалённой манипуляции сайтом может послужить создаваемая мной сеть сателлитов на ДЛЕ, которая благодаря особому построению управляется с единой админки, где можно изменять настройки и управлять базой как одного сайта из сетки, так всей сети или её части. Причём потеря N-го количества сайтов из сети не несёт вреда сети в общем.
Теперь зная от чего нужно защититься перейдём непосредственно к методам защиты.
1. Изначально нужно защитить «хранилище» сайта, тоесть базу данных, для этого нужно как минимум делать бэкап каждые 2-3 дня. Также не забываем в папке /backup создать файл .htaccess со следующим содержимым:

Order Deny,Allow
Deny from all

Это сделает невозможным скачивание дампа базы. Как тогда копировать дамп? С помощь фтп-доступа. И не забываем удалять дамп с сервера, ибо он там ненужен.
2. Дальнейшим шагом будет защита доступа в админку. Заранее скажу что вам придётся отказаться от десятка журналистов, которых вы набрали в «команду сайта», давать административные права следует только проверенным людям, в которых вы на 99,9% уверены. Далее в файле admin.php (кстати файл советовалось бы переименовать) после строки:

define ( ‘ENGINE_DIR’, ROOT_DIR . ‘/engine’ );

пишем:

$ip_diapazones=array(
’99.99′, // Администратор
’99.999′, // Журналист 1
’92.123′, // Журналист 2
’23.321′, // Журналист 3
’123.999′, // Модератор
);
$user_ip_net=explode(«.»,$_SERVER['REMOTE_ADDR']);
$user_diap=$user_ip[0].’.’.$user_ip[1];
if(!in_array($user_diap,$ip_diapazones)){
$die=’
404 Not Found

Not Found

The requested URL ‘.$_SERVER['REQUEST_URI'].’ was not found on this server.


‘.$_SERVER['SERVER_SIGNATURE'].’

‘;
@header( «HTTP/1.0 404 Not Found» );
die( $die ); }

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

RewriteEngine On

и после её пишем:

ErrorDocument 403 »

Forbidden

»

Deny from all
Allow From 99.99. #Администратор
Allow From 99.999. #Журналист 1
Allow From 92.123. #Журналист 2
Allow From 23.321. #Журналист 3
Allow From 123.999. #Модератор

Диапазон нужных вам IP адресов придётся продублировать.
3. Дальнейшим шагом будет установка запрета на выполнение каких-либо скриптов не относящихся к нормальной работе сайта. Опять же в файле .htaccess находим строку:

RewriteEngine On
ErrorDocument 403 »

Forbidden

«

и после неё пишем:

Order allow,deny
Deny from all

Order deny,allow
Allow from all

Это запретит вызов каких-либо php-файлов кроме как index.php, go.php, ajax.php и download.php, всеобщего доступа к этим файлам вполне достаточно для нормальной работы сайта.
4. Ну и для организации защиты собственно файлов — установите на все папки (кроме uploads) права CHMOD 0555, на файлы CHMOD 0444. Папкам /engine/data и /engine/cache и их подпапкам даём права 0777 а внутри лежащим файлам — 0666.

Источник:  datalife-club.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

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

Похожие статьи