Защита сайта на Livestreet

Здравствуйте!

Хотел поделиться с вами советами по защите своего сайта от хакерских атак и других нелигитимных действий с вашим сайтом. Нет ничего идеального, а это на руку хакерам.
Есть несколько простых способов защитить сайт:

1. Защита с помощью файла .htaccess
<Filesmatch ".(php)$">
order deny,allow
deny from all

<Filesmatch "^index.php">
order allow,deny
allow from all

<Filesmatch "^index2.php">
order deny,allow
allow from all


Эти строки указывают серверу, что необходимо запретить выполнение каких-либо скриптов в корне, кроме файла index.php. И если злоумышленику удастся загрузить в корень сайта какой-нибудь бэкдор, он все равно не сможет его выполнить на сервере.

Однако, хакер может попытаться загрузить бэкдор с именем index.php в какой-нибудь подкаталог в корне сервера, где он будет успешно выполняться. Поэтому во все подкаталоги первого уровня от корня необходимо поместить файл .htaccess следующего содержания:
<Files ~ ".(php)$">
Deny from all


Данная мера позволит запретить запуск php-скриптов напрямую.
На этом настройку безопасности с помощью файла .htaccess можна завершить.

2. Защита доступа по FTP
Нам необходимо так настроить FTP-защиту, чтобы разрешить FTP-доступ только с определенных IP-адресов. Таким образом, даже если злоумышленник получит FTP-реквизиты, он не сможет залогиниться на ваш FTP-сервер. Если вы имеете доступ к файлу "/etc/proftpd.conf " на сервере, то добавьте в него следующие строки:
Order allow,deny
Allow from 11.22.33.44
Allow from 127.0.0.1
Deny from all


где IP-адрес 11.22.33.44 — это IP-адрес, с которого вы заходите на ваш FTP-сервер. Не забудьте добавить также IP-адрес 127.0.0.1, чтобы Livestreet мог заходить на FTP-сервер через PHP для управления файлами.

Если же вы не имеете доступа к файлу "/etc/proftpd.conf ", то скорее всего в панели управления вашей площадкой на хостинге присутствует возможность ограничения доступа по FTP-протоколу. Обязательно узнайте об этом у своего хостера и воспользуйтесь такой настройкой.

3. Блокирование доступа к сайту с определенных IP-адресов.
Далее мы заблокируем доступ к сайту с определенных IP-адресов или даже для конкретных стран.
Заблокировать доступ для диапазонов адресов можно с помощью IP-таблиц. Для этого вам понадобится SSH-доступ к вашему серверу. Если вы не знаете SSH-реквизитов, обратитесь за ними к службе техподдержки вашего хостера.

Войдя в оболочку, введите в коммандной строке:
/sbin/iptables -I INPUT -s 88.147.196.0/88.147.253.255 -j DROP

где: -I – ключ вставки. Также вы можете использовать ключ –A для добавления IP-адресов к уже существующим записям. Вы можете блокировать как отдельные IP-адреса, так и диапазоны, разделяя начальный и конечный адреса символом "/". Заблокируйте плохих парней из Ирана, Ирака и т.п.

4. Файлы и каталоги
Следующий шаг состоит в том, чтобы присвоить безопасные атрибуты файлам и каталогам на сервере. Основная идея состоит в том, что владельцем всех файлов и папок должны быть вы как FTP-пользователь. Кроме того, каталоги должны иметь атрибут 755, а файлы 644. Если вы имеете доступ по SSH, то команда, выполненная из корня сайта, будет следующая:

chown -R user:group ./
chmod -R 0644 ./
find. -type d -exec chmod 755 {};

После этого все папки и файлы нельзя будет изменить через PHP.

Но скорее всего вам придется вручную задать атрибуты доступа 777 для каталогов с кешем и резервного копирования. Не забудьте сделать это.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.