Как защитить сайт на WordPress от взлома

Исследование компании Sucuri не стало открытием, что большинство атак приходится на сайты под управлением WordPress. Это, впрочем, говорит не о «дырявости» платформы, а о её популярности.

За первый квартал 2016 года 78% атак пришлось на сайты с WordPress и 14% атак на сайты с Joomla!. В абсолютных значениях это 8900 и 1600 сайтов соответственно. Стоит отметить, что в рунете у WordPress незаслуженно сложилась репутация «дырявой» платформы. На самом же деле, в проанализированных специалистами Sucuri случаях причинами взлома были уязвимости в плагинах, а не самом WordPress.

Количество скомпрометированных ресурсов за первый квартал 2016 года

Каждый третий сайт на просторах Интернета подвергается попыткам взлома ежедневно, каждый второй несколько раз в неделю. Чтобы понять, как защитить - рассмотрим причины взлома нашего ресурса и цель, которую преследуют злоумышленники.

Причины взлома:

  1. Сайт абсолютно не защищен не от каких атак и способов взлома. Эта огромнейшая ошибка не только начинающих веб-мастеров, но и уже довольно опытных, которые оставили установку и настройку защиты на потом.
  2. Не выполнение рекомендаций разработчиков CMS WordPress по безопасности.
  3. Установка плагинов и тем из непроверенных и сомнительных источников. Я не просто так поместил заметку из статистики. Сама по себе CMS изначально надежно защищена и требует лишь не больших дополнений. Уязвимой делаем ее именно мы скачивая темы и плагины с сомнительных сайтов и торрентов. В лучшем случае мы получаем вшитые ссылки - и сами того не подозревая рекламируем и поднимаем рейтинг левого ресурса. В худшем приобретаем ворота(дыру в коде) через которую злоумышленник и получит доступ к нашим файлам и админ панели - вшитая ссылка закодированная в BASE64 служит в этом случае просто маячком для взломщиков.

Цели. которые преследуют взломщики:

  1. Размещение вредоносного кода, который приведет к потере позиций вашего сайта в поиске. Код может содержать, как спам или набор ссылок, так и вирусный. В любом из этих случаев вы теряете доверие поисковых роботов и стремительно теряете позиции, в случае с вирусным кодом - скорее всего его заблокирует хостинг, но если они пропустят, то Яндекс и Google обязательно выдаст вместо содержимого вашего сайта сообщение о наличии вирусов.
  2.  Продвижение каких либо ресурсов и услуг. В этом случае размещается текст с ссылками, чаще всего они абсолютно не соответствуют тематике сайтов, так как используют такой способ в автоматическом режиме. Текст может быть скрыт в браузере и обнаружиться только в веб мастере или при просмотре HTML кода в браузере.
  3. Использование Вашего домена для фишинга. В этом случае ваш сайт не интересует злоумышленников - их интересует домен, который более менее соответствует тематике и находится в топовых позициях. Поверх вашего сайта помещается страница, один в один скопированная с какого либо коммерческого или финансового популярного ресурса с формами регистрации и входа. Таким образом злоумышленники получают реальные логин и пароль пользователей, номера и пин код банковских карт и другие данные, которые могут быть использованы в корысных целях.
  4. Для развлечения и набора опыта. Немалая доля взломов и попыток приходится именно на оттачивание и испытание способов. В этом случае содержимое вашего сайта на данный момент не интересует злоумышленника - это могут быть, как школьники, начитавшиеся форумов, так и реальные специалисты.

Могут быть и другие причины с преследуемыми целями, но наша задача не изучить их, а максимально обезопасить сайт от каких либо попыток и атак. Для того что бы предотвратить взлом сайта на WordPress достаточно следовать инструкции и рекомендациям, которые вы прочитаете ниже в статье.

Рекомендации по обеспечению безопасности сайта на WordPress

Не используйте "Admin" в качестве логина в админ-панель. Это грубейшее упущение некоторых веб-мастеров. Использование такого логина максимально облегчает задачу для взломщика с помощью перебора паролей. Вы сами делаете за него 50% работы. Изменить "Admin"  можно на любой отличающийся логин.

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

Обязательно измените права доступа на файлы и папки на хостинге. Рекомендации разработчиков WordPress: права на папки - 755, на файлы - 644. Но некоторые хостинги устанавливают права на все файлы и папки 700 - это не влияет на безопасность и доступность для CMS файлов и папок, но поможет защитить остальные ваши сайты, находящиеся на хостинге, при взломе одного из них - доступ к остальным будет закрыт.

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

Разрешите доступ к админ панели только определенным IP. Если у вас статический IP разрешите доступ к админке только с него - это сразу отбросит максимальное количество попыток. Для этого в папке wp-admin создаем файл .htaccess и прописываем:

order deny,allow
allow from 109.1.1.1
deny from all 

Вместо 109.1.1.1 - вписываете свой IP адрес. Если вы входите с разных адресов - скопируйте эту строку изменив IP на тот, котором нужно еще открыть доступ.

Запретите выводить в коде метаданные WordPress. К таким данным относится версия и многое другое. которым по умолчанию WordPress любезно делится при просмотре кода в браузере. Что бы усложнить работу взломщика в файл functions.php вашей используемой темы в конце прописываем следующее:

remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'rel_canonical'); remove_action('wp_head', 'index_rel_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'feed_links_extra', 3); remove_action('wp_head', 'wp_shortlink_wp_head'); remove_action('wp_head', 'start_post_rel_link', 10, 0); remove_action('wp_head', 'parent_post_rel_link', 10, 0); remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles'); remove_action('admin_print_scripts', 'print_emoji_detection_script'); remove_action('admin_print_styles', 'print_emoji_styles');

Установите на сайт капчу. Установка капчи дополнительно защитит админ-панель от взлома с помощью перебора, а комментарии и формы на сайте от спама. Хорошо себя зарекомендовала Captcha by BestWebSoft, а то что ее установили более 300 000 человек говорит уже о доверии к разработчикам и полезности плагина.

Установите плагин для защиты WordPress. Самым доступным и функциональным на данный момент является iThemes Security (formerly Better WP Security) более 800 000+ установок. Из личного многолетнего опыта нечего плохого о нем сказать не могу - работает без сбоев, регулярно разработчики обновляют код. Плагин вполне функционален и обеспечивает надежную защиту даже при использовании бесплатной версии.

Как вы можете видеть функционал бесплатной версии довольно высок. Давайте рассмотрим основные настройки, которые обязательны для защиты нашего сайта. Так как плагин полностью русифицирован в нем все доступно и понятно.

Основные настройки  iThemes Security:

Первое куда мы заходим, в настройки Advanced.

Спрятать страницу входа на сайт - позволяет изменить путь к странице входа в панель администратора с привычного http://ваш_сайт/wp-admin. На http://ваш_сайт/ваш текст. Полезность этой функции тяжело не оценить. Изменение пути к админке сразу отобьет интерес у школьников и дилетантов, а это совсем не малый процент.

Change Database Table Prefix - функция автоматически назначенного префикса базы данных. При установке WordPress назначается префикс wp_ , чем успешно пользуются при удаленном включении файлов в базу данных. Что бы осложнить им задачу следует префикс на более сложный. Для этого достаточно выбрать в выпадающем списке "Да" и сохранить настройки, префикс будет изменен на сгенерированый более сложный.

Возвращаемся во все настройки(All)

Local Brute Force Protection - функция предотвращающая брут форс атаки и попытки взлома с помощью перебора. Она заблокирует IP адрес при неправильном вводе в поля Логина и Пароля входа в админ панели и сайта. Количество попыток до блокировки и время на которое блокировать можно менять на свое усмотрение. Главная ее задача предотвратить автоматические попытки подбора.

Тонкая подстройка системы - отвечает за защиту системных файлов, запрещает просмотр содержимого папок нашего сайта, запрещает запись в важные файлы меняя права на 444 и многое другое. Фильтр не-английских символов оставьте не отмеченным если у вас не англоязычный сайт.

Подстройка WordPress - так же содержит очень много полезных пунктов, которые стоит отметить.

Выполнив все наши рекомендации вы надежно защитите ваш сайт от взлома и хакерских атак.

Вас могут заинтересовать:



Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *