Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Web-технологии - 15.docx
Скачиваний:
12
Добавлен:
05.06.2015
Размер:
8.51 Mб
Скачать
  1. Безопасность сайтов

Проблема всех популярных систем управления контентом (CMS) заключается в том, что они легко взламываются. Причем для взлома сайта не нужно быть хакером высокого уровня – инструкции по взлому стандартных CMS опубли­кованы на многочисленных сайтах, и в большинстве случаев для их применения не нужно обладать какими-либо специальными знаниями, достаточно уметь использовать браузер.

К сожалению, Joomla – это одна из таких популярных систем, которые легко могут быть взломаны. Однако, выполняя некоторые рекомендации и посещая сайты, посвященные безопасности Joomla, вы можете существенно снизить риск взлома.

Патчи.

На специальных сайтах можно найти патчи («заплаты»), закрывающие «дыры» в защите Joomla. Вовремя установив «заплату» на свой сайт, вы обезопасите его на некоторое время – пока не будут найдены новые уяз­вимости.

Обязательно регулярно обновляйте версию Joomla – каждая новая версия выходит со всеми существующими на данный момент «заплатами».

В панели управления Joomla проверьте, что у вас установлена последняя версия (п. 13.2, рис. 1), если это не так, обновите Joomla.

Уязвимости могут быть не только в Joomla, но и в настройках хостинга, причиной взлома может быть и человеческий фактор (например, слиш­ком простой пароль администратора).

Каталог installation должен быть обязательно удален после установки Joomla – так никто не сможет переустановить вашу же Joomla. Версия 2.5 не запустится, если каталог installation не был удален, – вы не сможете зайти ни на сайт, ни в панель управления.

Опасные директивы РНР.

Отключите директиву register_globals. Для этого в файле конфигурации php.ini исправьте:

register_globals = 0

Директива register_globals – это не уязвимость РНР, просто не все разработчики умеют правильно писать код с включенной директивой register_globals.

Директива disable_functions содержит список запрещенных РНР-функций. На хорошо защищенном хостинге этот список выглядит так:

disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open

Внесите необходимые исправления в файл php.ini.

Отключите директивы safe_mode и allow_url_fopen:

safe_mode = 0

allow_url_fopen = 0

Права доступа к файлам и папкам сайта.

Установите к файлу конфигурации configuration.php права доступа всем только на чтение (код доступа 444 для Linux-подобных операционных систем). При этом придется каждый раз на время правки сайта возвращать право на изменение, затем снова убирать.

На остальные файлы и папки установите право на изменение только администратору, всем остальным – только чтение (значение 644 для файлов, 755 – для каталогов).

Пра­ва на изменение (значение 777) для всех установите только на следующие каталоги:

  • administrator/backups/

  • cache/

  • images/

  • images/banners/

  • images/stories/

Всё это нужно сделать уже после того, как настроили сайт и установили все необходимые расширения. Желательно также защитить каталог admin­istrator паролем средствами управления хостингом.

Доступ к панели управления с определенных IP-адресов.

Скорее всего, вы управляете сайтом с одного-двух компьютеров, например, с ра­бочего и с домашнего. IP-адреса этих компьютеров и следует считать разре­шенными, доступ со всех остальных адресов к панели управления нелегален.

В ка­талоге сайта administrator создайте файл .htaccess и добавьте код следующего содержания:

<Limit GET>

Order Deny, Allow

Deny from all

Allow from 91.91.91.91, 91.91.91.92

</Limit>

Здесь устанавливается доступ к каталогу administrator только с IP-адресов 91.91.91.91 и 91.91.91.92 (впишите свои реальные IP-адреса).

Если на определенное время (например, отпуск) необходимо полностью исключить доступ к панели управления сайтом, откройте файл .htaccess и измените его так:

<Limit GET>

Order Deny, Allow

Deny from all

</Limit>

Когда «отпуск» закончится, следует вернуть исходную версию файла .htaccess.

В адресную строку браузера введите: http://www/components/

Вы должны увидеть сообщение, что доступ запрещен. Если сервер выдал список файлов и каталогов, значит, он настроен неправильно. Нужно отключить опцию Indexes, о чем следует уведомить администратора хостинга.

В случае взлома.

Сначала нужно просмотреть журналы сервера на предмет следующих строк:

mosConfig

http://

wget

perl

_REQUEST

Чаще всего наличие этих строк в журналах сервера указывает на факт взлома. По содержимому подобных строк попробуйте определить IP-адрес злоумыш­ленника и закройте доступ к вашему серверу с его подсети. Это не панацея, так как завтра сайт могут взломать из другой точки земного шара, это временное решение.

Возможно, придется восстановить Joomla из резервной копии.

Список ресурсов про безопасность Joomla.

1. Контрольный список безопасности (на английском языке):

http://docs.joomla.org/Joomla_Administrators_Security_Checklist

2. Краткое руководство администратора по обеспечению безо­пасности Joomla-сайта: http://www.joomla-docs.ru/Безопасность

3. Список уязвимостей и способов защиты можно найти на сайте Joomla-портала в категории Безопасность:

http://joomlaportal.ru/content/blogcategory/15/88/

К сожалению, полностью защи­тить сайт невозможно. Никто не даст гарантии, что компоненты Joomla и расшире­ния сторонних разработчиков абсолютно безопасны.

Следует внимательно относиться к устанавливаемым расши­рениям и перед установкой расширения желательно почитать о нем отзывы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]