Эта статья является частью серии, созданной в сотрудничестве с SiteGround . Спасибо за поддержку партнеров, которые делают возможным использование SitePoint.
WordPress не является небезопасным по своей природе, и разработчики прилагают все усилия, чтобы обеспечить быстрое исправление ошибок. К сожалению, успех WordPress сделал его целью: если вы можете сломать только одну установку WordPress, многие миллионы сайтов могут быть открыты для вас. Даже если WordPress безопасен, не все темы и плагины разрабатываются с одинаковым уровнем заботы.
Некоторые будут атаковать WordPress для вызова или причинения злонамеренного ущерба. Это легко заметить. Наихудшие виновники крадут ссылки на ваш контент, размещают фишинговые сайты глубоко в структуре папок или используют ваш сервер для рассылки спама. После того, как ваша установка взломана, может потребоваться удалить все и переустановить с нуля.
К счастью, есть ряд простых вариантов для повышения безопасности. Ни одно из следующих исправлений безопасности не должно занимать более нескольких минут.
1. Переключитесь на HTTPS
HTTPS предотвращает атаки «человек посередине», когда третья сторона прослушивает или изменяет связь между клиентом и сервером. В идеале вы должны активировать HTTPS перед установкой WordPress, но возможно обновить настройки WordPress, если вы добавите его позже.
HTTPS также может повысить ваш Google PageRank. Такие хосты, как SiteGround, предлагают бесплатные SSL-сертификаты, и вы можете получить скидку до 65% на их тарифные планы .
2. Ограничить адреса подключения MySQL
Убедитесь, что ваши базы данных MySQL отклоняют подключения людей и систем за пределами вашего локального сервера. Большинство управляемых веб-хостов делают это по умолчанию, но те, кто использует выделенный сервер, могут добавить следующую строку в раздел [mysqld]
файла конфигурации MySQL my.cnf :
bind-address = 127.0.0.1
3. Используйте надежные учетные данные базы данных
Используйте надежный, случайно сгенерированный идентификатор пользователя базы данных и пароль при создании базы данных MySQL до установки WordPress. Учетные данные используются один раз при установке WordPress для подключения к базе данных — их не нужно запоминать. Вы также должны ввести префикс таблицы, отличный от значения по умолчанию для wp_ .
Идентификатор пользователя и пароль можно изменить после установки, но не забудьте соответствующим образом обновить файл конфигурации WordPress wp-config.php .
4. Используйте надежные учетные данные администратора
Точно так же используйте надежный идентификатор и пароль для учетной записи администратора, созданной во время установки. Любой, кто использует идентификатор администратора и пароль, заслуживает взлома. Рассмотрите возможность создания другой учетной записи с меньшими правами для ежедневных задач редактирования.
5. Переместить или защитить wp-config.php
wp-config.php содержит ваши учетные данные для доступа к базе данных и другую полезную информацию для тех, кто собирается взломать вашу систему. Большинство людей хранят его в основной папке WordPress, но его можно переместить в папку выше. Во многих случаях эта папка будет находиться за пределами корневого каталога веб-сервера и недоступна для HTTP-запросов.
Кроме того, вы можете защитить его, настроив свой веб-сервер, такой как файл Apache .htaccess :
order allow,deny
deny from all
6. Предоставьте пользователям минимально возможную роль
Пользователи являются самым слабым местом любой системы, особенно когда они могут выбирать свои собственные слабые пароли и с радостью передавать учетные данные всем, кто спрашивает! Мало кому нужен административный доступ. WordPress предлагает широкий спектр ролей и возможностей . В большинстве случаев пользователи должны быть:
- редактор : тот, кто может публиковать и управлять своими и чужими постами
- Автор : кто-то, кто может публиковать и управлять своими сообщениями, или
- Автор : тот, кто может писать и управлять своими сообщениями, но не может их публиковать.
Ни одна из этих ролей не может настраивать WordPress или устанавливать плагины.
7. Ограничить доступ по IP-адресу
Если у вас есть несколько редакторов со статическими IP-адресами, вы можете ограничить доступ, добавив другой файл .htaccess в папку wp-admin :
order deny, allow
allow from 1.2.3.4 # user 1 IP
allow from 5.6.7.8 # user 2 IP, etc
deny from all
8. Скрыть номер версии WordPress
Некоторые версии WordPress имеют известные уязвимости. Любой может легко узнать, какое издание вы используете, потому что оно отображается в HTML <head>
Удалите эту информацию, добавив следующую строку в файл functions.php вашей темы:
remove_action('wp_head', 'wp_generator');
9. Выбирайте сторонние плагины и темы с умом
Плагины и темы WordPress имеют опытные пользователи, о которых можно только мечтать! Плохой плагин может повлиять на производительность, утечка личных данных или предоставить другой метод доступа. Избегайте установки кода, если это не является абсолютно необходимым. Проверьте подлинность плагина и протестируйте на локальном сервере, прежде чем приступить к активной установке.
10. Регулярно обновляйте WordPress и плагины
WordPress обновится сам, но для основных выпусков требуется активация одним нажатием. Сделайте это … после резервного копирования базы данных и файлов, конечно. Аналогичным образом регулярно проверяйте наличие обновлений тем и плагинов.
Опасный риск должен проверять обновления на дублирующем тестовом сервере перед обновлением работающей системы. Тем не менее, процесс обновления WordPress и обратная совместимость редко вызывают проблемы.
У вас есть другие быстрые и простые советы по безопасности WordPress?