Нет сомнений в популярности WordPress, который обслуживает более 74,6 миллионов сайтов по всему миру, причем 48% из 100 лучших блогов Technorati находятся под управлением платформы. В онлайн-мире все, что популярно, более открыто для атак, и WordPress не является исключением. Однако типы атак, которые имеют тенденцию поражать сайты WordPress — если вы не крупный бренд — обычно проводятся людьми без огромного количества технических ноу-хау. Их часто называют «детишками сценариев», так как они используют общий код, методы и наборы для взлома целевых сайтов.
Хорошая новость в том, что это означает, что часто атака может быть проведена быстро и легко. Не обязательно добираться до стадии, когда атака наносит урон, хотя большинство можно предотвратить в первую очередь. Поэтому сегодня мы рассмотрим, как вы можете обезопасить свою установку и избежать распространенных взломов.
Начать с сервера
Прежде чем подумать о защите своего сайта, вам следует начать с нуля, а это означает, что прежде всего необходимо убедиться, что ваш хост-сервер безопасен. Начиная с основ, вы должны выбрать хост на основе безопасности и репутации, а не на цене. Хотя я уверен, что есть неплохие недорогие хосты, по большей части хостинг, который стоит вам 2 доллара в месяц, не снизит горчицу.
Большинство управляемых хостингов WordPress имеют репутацию безопасного хостинга. Однако не все они допускают использование некоторых плагинов, связанных с производительностью, поэтому вам следует сначала проверить, какой именно у вас доступ и уровень контроля.
Большинство из них предлагают:
- Управляемый хостинг WordPress
- Автоматические обновления безопасности
- Ежедневные резервные копии
- Точки восстановления в один клик
- Автоматическое кеширование
- Безопасность высшего уровня
Независимо от хоста, с которым вы решите пойти, вы должны убедиться, что они предлагают следующее:
- Запустите стабильные версии серверного программного обеспечения и при необходимости исправьте
- Включить брандмауэр на уровне сервера
- Позволяет выполнять резервное копирование и восстановление часто и легко (сайт и база данных)
- Обнаружения вторжений
Управляемые хосты (такие как, например, WPEngine) используют кэширование, которое передается через CDN, поэтому, если вы действительно не хотите использовать управляемый хост WordPress, тогда подумайте о реализации CDN вместе с плагином кэширования, таким как W3 Total Cache. Это простой способ настроить ваш сайт так, чтобы весь трафик, который проходит через кеши CDN, затем также проходил через уровень защищенных сокетов (SSL / TLS). Если вам нужна помощь в освоении этих технологий, я бы порекомендовал следующие визуальные руководства MaxCDN. В целях полного раскрытия я работаю в MaxCDN, но я уверен, что вы найдете их полезными ресурсами:
К сожалению, установки WordPress на общих серверах, а не на VPS или выделенном сервере, обычно устанавливаются и настраиваются таким образом, чтобы это было проще для хоста, но не обязательно было наиболее безопасным.
Обратите внимание, что следующие конфигурации предназначены для опытных пользователей, знакомых с программированием или базовыми задачами системного администратора. Если нет, попросите вашего веб-разработчика настроить это для вас.
Логины, пароли и плагины
Просто короткое слово об этом, которое стоит повторить, учитывая, что более 70% установок WordPress уязвимы для атак. Всегда проверяйте, что после установки WordPress вы обновляете его до последней версии, как только она станет доступной. То же самое касается вашей темы и всех плагинов, которые вы используете. То же самое относится и к вашему серверному программному обеспечению. Многим из вас это может показаться очевидным, но статистика говорит сама за себя, установлено много, много старых версий платформы.
Когда дело доходит до паролей, я ежедневно сталкиваюсь с людьми, которые все еще используют что-то вроде «companyname123» в качестве своего пароля, и это люди из индустрии высоких технологий, которые должны знать лучше. Так что для себя и любого другого пользователя генерируйте сложные пароли и сохраняйте их в диспетчере паролей, таком как LastPass, так безопаснее.
Применить автоматические обновления
Чтобы гарантировать, что второстепенные и крупные обновления происходят в WordPress автоматически, вы можете внести небольшое изменение в код, который будет их применять. Это избавляет вас от необходимости делать это вручную (только небольшие обновления автоматически применяются к WordPress v.3.7 и более поздним версиям), но вы должны убедиться, что вы включаете автоматическое частое резервное копирование на случай, если что-то пойдет не так, и ваш сайт исчезнет.
Чтобы включить обновления, примените следующий код к файлу wp-config.php
#Enable all core updates, including minor and major:
define ( 'WP_AUTO_UPDATE_CORE', true );
Чаще встречается проблема с автоматическими обновлениями, если вы используете плагины, которые не обновляются достаточно часто, поэтому постарайтесь убедиться, что устанавливаемые плагины поддерживаются и поддержка доступна, где это возможно.
Отключить отчеты об ошибках PHP
Если используемый вами плагин или тема выдает ошибку, возможно, в полученном сообщении об ошибке будет показан путь к вашему серверу, который, в свою очередь, может быть перехвачен хакерами. Имея это в виду, вы должны отключить отчеты об ошибках, добавив следующий код в ваш файл wp-config.php
error_reporting (0);
@ini_set ('display_errors', 0);
В качестве альтернативы, если вы не уверены в том, что касается редактирования файлов конфигурации, вы можете попросить веб-хостера отключить его для вас.
Остановить атаки грубой силы
Если бы вы следили за тем, сколько попыток входа в систему происходит на вашем сайте WordPress каждый день, вы, вероятно, были бы шокированы. Это обычные атаки, которые в некоторой степени можно предотвратить с помощью сложных паролей. Атаки грубой силой обычно осуществляются ботнетом, пытающимся угадать ваш пароль администратора. Вы можете снизить риск и остановить большинство атак методом перебора, добавив дополнительный уровень защиты на уровне экрана входа в систему с помощью HTTP AUTH.
Для этого сначала нужно защитить паролем вашу директорию, настроив защиту паролем .htaccess
После этого вам нужно добавить следующий код в ваш файл .htaccess
#Protect wp-login
<files wp-login.php="">
AuthUserFile ~/.htpasswd
AuthName "Private access"
AuthType Basic
require user mysecretuser
</files>
Это вызовет окно аутентификации, в котором вам будет предложено ввести имя пользователя и пароль, и вам потребуется войти в систему на обычном экране входа в WordPress — вы, конечно, должны использовать разные пароли для обоих.
Вы также можете предотвратить атаки методом подбора, отслеживая IP-адреса, которые пытаются войти в систему, а затем блокируя их. Или вы можете просто изменить имя пользователя admin с «admin» на собственное имя или что-то еще, а затем удалить профиль пользователя admin по умолчанию. Вы и ваш веб-мастер / разработчик действительно должны быть единственными людьми с правами администратора на сайте.
Эксплойты на основе URL
Это действительно удар в темноте для хакеров, которые пытаются найти слабые места на сайте, делая URL-запросы, которые должны возвращать ошибку, но иногда завершаются.
URL может выглядеть примерно так: http://yourwebsite.com/your/files/%3G/config
Обычно хакер использует открывающую скобку в URL-адресе, поэтому, во-первых, для преодоления этого необходимо сгенерировать страницу 403 Forbidden, чтобы остановить любой запрос, содержащий скобку. Для этого просто вставьте следующую строку в ваш файл .htaccess:
RedirectMatch 403 [
Чтобы создать более сложный набор правил, вам не нужно писать весь код самостоятельно. Если вы знакомы с работой с .htaccess
Вам также не нужно использовать все строки, так как они модульные, и в случае, если они выдают ошибки, вы можете удалять построчно, пока не обнаружите проблему.
Вы можете защитить сам файл .htaccess
<files .htaccess>
order allow,deny
deny from all
</files>
Плагины безопасности WordPress
Конечно, вы можете использовать один из плагинов безопасности, которые также доступны для WordPress. Перед установкой убедитесь, что любой используемый вами плагин поддерживается и часто обновляется. Если это так, то вам также следует проверить рейтинги и обзоры, чтобы определить, какой из них считается лучшим в сообществе WordPress.
Помните также, что если у вас много плагинов в вашей установке, периодически удалять то, что вы не используете. Спросите себя, действительно ли нужна функциональность, которую позволяет вам любой данный плагин, и исключите те, без которых вы можете обойтись. Для тех плагинов, которые вы деактивировали, вы должны также удалить их, поскольку они предоставляют потенциальный путь для хакера. Если плагины больше не поддерживаются, то вам следует искать альтернативу, так как она обязательно создаст уязвимость в какой-то момент, если это еще не сделано.
По большей части, безопасность WordPress заключается в использовании здравого смысла и понимания того, что конечный пользователь в большинстве случаев может относиться к ошибкам и вредоносным программам. По большей части, хакеры проникают через программные эксплойты, поэтому, если вы убедитесь, что у вас всегда есть последние версии, вы хорошо позаботитесь о своей безопасности. Хакеры ищут самый простой маршрут, если они не нацелены на вас конкретно, поэтому затягивайте свой сайт и не делайте его легким для них.
Дальнейшее чтение
Если вам интересно читать больше, вот подборка предыдущих статей, связанных с безопасностью WordPress в SitePoint, на которые стоит обратить внимание:
- Что вы можете не знать о плагинах безопасности WordPress
- Как защитить себя от мошеннических плагинов WordPress
- Полное руководство по обслуживанию WordPress
- Управляемый хостинг WordPress: плюсы и минусы
- Двухэтапная проверка WordPress с использованием Google Authenticator
- Раскрытие уязвимостей WordPress с легкостью
- Руководство по обновлению WordPress, плагинов и тем
- Предотвращение атак грубой силы на сайты WordPress