robot txt joomla 4Приветствую всех почитателей Joomla! В этой статье я постараюсь донести до вас основные шаги, которые необходимо предпринять для защиты от хакерских атак и других нелигитимных действий с вашим сайтом и FTP-доступом к нему.

Ни для кого не секрет, что для обеспечения должной защищенности своего сайта, построенного на J!, недостаточно отделаться установкой компонента типа Defender, RS Firewall, X-Defender или аналогичных. Подобного рода компоненты не способны защитить ваш сайт от всех видов посягательств и имеют ряд ограничений, хотя при некоторых атаках (SQL и PHP-инъекции, флуд и т.п.) они показывают достаточно хорошие результаты.
Поэтому ниже я приведу действия, которые необходимо предпринять для защиты своего сайта от большинства посягательств на его целостность и работоспособность.

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

1. Защита с помощью файла .htaccess

Добавьте в файл .htaccess в корне сайта следующее:
<Filesmatch ".(php)$">
order deny,allow
deny from all
</Filesmatch>
<Filesmatch "^index.php">
order allow,deny
allow from all
</Filesmatch>
<Filesmatch "^index2.php">
order deny,allow
allow from all
</Filesmatch>

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

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

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


<Files ~ ".(php)$">
Deny from all
</Files>

Данная мера позволит запретить запуск php-скриптов напрямую.

В каталоге "administrator" необходимо поместить файл .htaccess следующего содержания:


<Filesmatch ".(php)$">
order deny,allow
deny from all
</Filesmatch>
<Files index.php>
order deny,allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
</Files>
<Files index2.php>
order deny,allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
</Files>
<Files index3.php>
order deny,allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
</Files>

Где IP-адреса вида 11.22.33.44 -- это IP-адреса, с которых вы администрируете J!. Эта мера поможет, когда хакер каким-то образом смог получить пароль администратора. В этом случае он все равно не сможет залогиниться в административной панели.

В папке "administrator" во все каталоги первого уровня поместите файл .htaccess следующего содержания:

<Files ~ ".(php)$">
Deny from all
</Files>

Настройка безопасности с помощью файла .htaccess завершена.

2. Защита доступа по FTP

Все вы прекрасно знаете, что J! хранит реквизиты вашего FTP-сервера в файле "configuration.php". И это дает хакеру лишнюю возможность получить FTP-доступ к вашему серверу, прочитав данный файл. Поэтому нам необходимо так настроить FTP-защиту, чтобы разрешить FTP-доступ только с определенных IP-адресов. Таким образом, даже если злоумышленник получит FTP-реквизиты, он не сможет залогиниться на ваш FTP-сервер. Если вы имеете доступ к файлу "/etc/proftpd.conf " на сервере, то добавьте в него следующие строки:

<Limit LOGIN>
Order allow,deny
Allow from 11.22.33.44
Allow from 127.0.0.1
Deny from all
</Limit>

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

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

3. Блокирование доступа к сайту с определенных IP-адресов.

Далее мы заблокируем доступ к сайту с определенных 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 для каталогов с кешем и резервного копирования. Не забудьте сделать это.

5. Установка компонента безопасности.

Установите какой-либо компонент безопасности типа Defender, RS Firewall, X-Defender или аналогичный. Этот компонент позаботится обо всем остальном, т.к. мы запретили запуск любых скриптов, кроме index.php.

Выполнив эти пять шагов, Вы защитите свою J! от 99.9% атак.

__________________________________________________________________________________________________________________

скачать joomla | обновление joomla | модуль joomla | администрирование | seo продвижение | joomla магазиншаблоны сайтов

обратная связь 

При копировании материала ссылка на сайт joomla4.ru обязательна.