Безопасность WordPress — советы и плагины. Как защитить WordPress от взлома? Безопасность ВордПресс

Б ольшинство людей думают, что их веб-сайт WordPress был безопасен только потому, что он не имеет какого-либо контента который стоит взломать. К сожалению, это не так. Сайты часто взламывают, например для распространения спама. Или ядро и файлы темы заполнены вредоносным кодом, чтобы заразить и взломать компьютеры вашего посетителя сайта. Вполне возможно, что вы только заметили повреждение, когда Google или Yandex уже пометили ваш сайт или удалили его из индекса. Не позволяйте этому случиться, и рассмотрите мои советы для идеального wp-config.php.

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

Для оптимизации wp-config.php, используются так называемые константы. WordPress имеет много констант, которые могут быть использованы. Но что такое константа? PHP.net описывает константы следующим образом:

Константа является идентификатором (именем) для простого значения. Как следует из названия, это значение не может изменяться в ходе выполнения скрипта (для магических констант, которые не являются на самом деле, кроме как константы). Константа чувствительна к регистру по умолчанию. По соглашению, постоянные идентификаторы всегда в верхнем регистре.PHP.net

Константы встроены в функции define(), и выглядят следующим образом: define("NAME_OF_THE_CONSTANT", value);

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

До работы: пожалуйста, создайте резервную копию wp-config.php

Перед тем, как браться за редактирование файла wp-config.php, создайте резервную копию этого файла. Ваш сайт не будет работать с неправильными или отсутствующими записями.

Важно: Всегда делайте обновление WordPress и плагинов

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

Ситуация в сфере безопасности:

Специалистов в области безопасности Sucuri в настоящее время предупреждают о недостатка безопасности в популярном плагине Jetpack для WordPress. Вредоносный код может быть реализован с помощью шорткод-встраиваемой-функции. Automattic будут действительно реагировать скоро и выпустят новую версию.

Как закрыть брешь в безопасности на данный момент:

Если вы будете использовать , вы не в опасности. Там, большой брандмауэр 6G, который может парировать этот тип атак.

Подготовка:

Для всех последующих работ, вам понадобится программа , а также редактор HTML. wp-config.php загружается на рабочий стол, и редактируется в HTML-редакторе, и загружается обратно на сервер.

1 – Используйте ключи безопасности

Ключи безопасности в WordPress имеют решающее значение, как шифровать такие вещи, как информацию для входа в куки. Даже если в вашем wp-config.php уже есть , замена их через некоторое время не может повредить. Когда ключи изменяются, вто все пользователи выходят из своих сайтов. После этого вы сможете заново войти в систему, используя имя пользователя и пароль.

Тем не менее, если сайт уже взломали, вы должны сначала удалить вредоносный код с вашего сайта. Руководство по этому можно найти в дополнительной информации по этому аспекту. После этого посетите генератор для ключей защиты WordPress, и скопируйте новый набор. Заменить старую часть замените новыми – снимок экрана просмотра:

Если вы еще не реализовали ключи безопасности, то это подходящее время, чтобы сделать это.

Дополнительная информация:

2 – принудительное использование HTTPS

Сертификат SSL шифрует соединение между вашим сайтом и браузерами посетителя. HTTPS делает невозможным для хакеров ловушку и кражи персональных данных. Если у вас уже есть сертификат SSL для вашего сайта, вы можете принудительно использовать HTTPS вместо HTTP. Это увеличивает безопасность вашего сайта значительно. Если у вас нет сертификата SSL, тем не менее, вы должны серьезно рассмотреть возможность использования одного.

Вы не должны бояться крупных затрат, так как .

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

В каждой установке WordPress, можно отредактировать тему и файлы плагина непосредственно в зоне администратора. В пунктах меню “Внешний вид” и “Плагины” вы найдете соответствующий редактор для каждого файла. Этот редактор очень опасен, если попадет в руки хакеров. Данные могут быть уничтожены, и вирусы, трояны, спам и другие вредоносные программы могут быть добавлены. Но редактор также имеет важное значение для администратора веб-сайта. Единственная ошибка, одна точка с запятой отсутствует все, что нужно для пресловутых белых страниц, чтобы показать, и ничего не будет работать больше.

3 – Изменение префикса базы данных

Приставка базы данных также известна под маркой “префикс таблиц” . Этот префикс используется в качестве расширения каждой таблицы базы данных, порожденного WordPress. Здесь стандарт wp_ . Этот стандарт должен быть изменен на что – то другое. Чем больше загадочными, тем лучше. Не волнуйтесь; Вам не нужно помнить, что вы вводили здесь. Это значение помещается один раз.

Думая об этом, возможность инъекции SQL снижается вплоть до нуля. Но это возможно. Таким образом, измените значение перед установкой WordPress. Используйте что – то вроде fdf2a7r_ , например.

Внимание: Если вы измените значение уже существующей установки WordPress, веб-сайт не будет доступен!

Если вы хотите изменить префикс таблиц существующего сайта WordPress, плагин Acunetix WP Security может помочь вам. Он позволяет изменять значение легко, и все, что вам нужно сделать, это снова войти в систему. Тем не менее, вы все равно должны создать резервную копию заранее .

4 – Выключить редакторы плагинов и темы

Изменения в теме или в файлах плагинов, как правило, производится с помощью (S) FTP, так как это гораздо безопаснее. Таким образом, редакторы должны быть выключены. Одной строки в wp-config.php достаточно, чтобы безопасно отключить оба редактора:

5 – Переместить wp-config.php

wp-config.php является сердцем вашего сайта. Все соответствующие данные, включая пароли базы данных, вводятся туда. Вот почему крайне важно сохранить этот файл как можно более безопасным. Существуют два подхода для этого. Первый блок доступа с помощью файла.htaccess. Второй подход перемещает файл в другое место, где хакер не будет его ожидать.

  • Перемещение это может быть проблематичным, если сайт находится на суб-домене, и вы используете дешевый виртуальный хостинг.
  • Это также может стать жестко, если у вас есть много веб-сайтов в пользовательских каталогах. Если ни одно из пунктов относится к вам, вы можете переместить файл.
Если вы настроили путь к WP-config.php правильно, ваш сайт должен работать.

6 – форсирует использование FTPS

Если ваш веб-хостинг активировал протокол передачи файлов Secure (FTPS), вы можете принудительно использовать FTPS для передачи файлов. Он будет шифровать связь между посетителем и сервером. Теперь, невозможно получить доступ к данным на сервере с небезопасного протокола . FTP является небезопасным, так как доступ к информации передается на сервер в незашифрованном виде. Таким образом, если это возможно, использовать только безопасное соединение через FTPS. Ваш веб-хостинг может сказать вам, если подключение FTPS возможно.

Принуждение использование FTPS, это просто:

7 – принудительное использование SFTP

Вместо протокола FTPS, некоторые хостеры активировали протокол SFTP для передачи данных. Здесь связь между пользовательской программой FTP и сервером также шифруется. Следующая строка кода позволяет принудительно использовать SFTP:

8 – Отключение режима отладки

Если вы включили режим отладки WordPress для целей развития, жизненно важно, чтобы его выключить. В некоторых случаях режим активной отладки может передать конфиденциальные данные, которые могут помочь хакерам делать свое дело. Именно поэтому режим отладки активируется чрезвычайно опасно на живой системе. Я сделал этот маленькой, тупой ошибкой; люди быстро забывают вещи. Вот почему вы должны оперативно принять меры, чтобы проверить. Отключить режим отладки:

9 – Выключите индикацию ошибок PHP

Если по какой-то причине вам нужен режим отладки, чтобы он был активирован, я рекомендую выключая публичный показ сообщений об ошибках. Соответствующие сообщения об ошибках также могут быть записаны в журнал, который не доступен для широкой публики. Это гораздо безопаснее, и более элегантный вариант. Эта константа требуется для выхода из режима WordPress ошибок, а также запретить отображение об ошибке сторонним лицам:

10 – Включение функции автоматического обновления

Как я уже упоминал ранее, немедленно обновить ядро WordPress, и все плагины, это имеет решающее значение для обеспечения безопасности системы. С каждым выпуском новой версии WordPress, пробелы безопасности своих предшественников выкладывают в интернет. Это дает хакеру прочный фундамент, чтобы иметь возможность взломать ваш сайт. Таким образом, эти недостатки должны быть устранены как можно быстрее.

Такие как WordPress версии 3.7, имеют более мелкие обновлений безопасности и осуществляются автоматически. Тем не менее, это не так для первичных версий основных обновлений. Основные версии по-прежнему должны быть обновлены вручную. Тем не менее, активизируя автоматические обновления для всех версий WP очень легко:

Кстати, это также можно обновлять автоматически с помощью плагинов. Тем не менее, это связано с небольшим количеством работы. Это требует создания плагина:

Этот плагин должен быть перемещен в папку /wp-content/mu-plugins/ . Если папка не существует, просто создайте ее. Папка /mu-plugins/ содержит “используемые” плагины. Его содержимое загружается всеми с другими плагинами.

Автоматическое обновление темы может быть сделано таким же образом. Для этого, плагин должен быть расширен с помощью следующей строки:

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

Дополнительная информация:

Вывод

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

Если вы постоянно обновляете свой WordPress, вы уже участвуете в повышении безопасности своего сайта. Но этого мало. О безопасности WordPress нужно начинать думать, с момента ее установки. Кстати, для безопасности обновлять систему лучше автоматически, используя обновление из панели администратора.

Безопасность WordPress на этапе установки

При установке вы меняете файл wp-config.php , не забудьте установить ключи безопасности.

На странице установщика, с вводом данных администратора сайта, обязательно поменяйте имя администратора, с admin, на любое другое имя. Также генерируйте сложный пароль для авторизации администратора. Ограничений по количеству знаков в пароли нет. Используйте в пароле буквы, цифры, знаки препинания. Чем сложнее пароль, тем лучше. Попробуйте генератор паролей: http://randstuff.ru/password/

Эти меры безопасности, лежат на поверхности, и ими не стоит ограничиваться, если радеете за безопасность своего веб-приложения.

Повышаем безопасность WordPress в его каталоге.

Права CHMOD

Права CHMOD это права доступа к файлам и каталогам вашего сайта. По умолчанию, после установки системы, устанавливаются права CHMOD на файлы 644, на каталоги 755.

Никогда не оставляйте права CHMOD 666 и 777. Тем самым вы сами откроете доступ к каталогам и файлам своего сайта.

Включите SFTP вместо FTP

Работая с сайтом WordPress вам не обойтись без соединения с каталогом сайта по FTP. Об уязвимости FTP соединений знают уже 23 года. Одни безопаснее, другие опаснее для взлома.

  • Не используйте анонимное соединение по FTP, оно небезопасно. Для соединения аккаунт FTP клиента должен иметь имя, и пароль доступа. Создается FTP аккаунт в административной панели сервера (хостинга).
  • Для безопасности, лучше использовать не FTP, а SFTP соединение для передачи данных на сервер сайта.

Начните использовать безопасный протокол передачи файлов (SFTP) вместо FTP при доступе к сайту. Подключение по SFTP простое, и хорошие веб-провайдеры должны включать его по умолчанию. Все, что вам нужно сделать, это попросить в support своей хостинг компании, номер порта для шифрованного соединения SFTP, а затем измените настройки в вашем FTP приложении (на фото программа FileZilla). Скорее всего, это порт: 22.

Можно не обращаться к провайдеру, а попробовать соединиться по SFTP самостоятельно. FTP приложение, будет использовать для шифрованного соединения порт не 21, а 22. Если на хостинге SFTP соединение разрешено, то после вашего разрешения, вы соединитесь по SFTP со своим сервером.

Сделайте безопасным файл wp-config.php

Содержит слишком много «секретной» информации, чтобы оставлять его без защиты. Об установке ключей безопасности и переименовании префикса «wp_» таблиц базы данных, я уже сказал. Все эти изменения отразятся в файле wp-config.php .

Теперь спрячем файл wp-config.php .

Вариант 1. Система WordPress, с версии 2.6, если не находит файл wp-config.php в корневом каталоге сайта, автоматически ищет его в каталоге высшего уровня. Если находит его там, то без проблем открывает сайт и его административную часть.

Поэтому, если вы пользователь на сервере сайта, с допуском к каталогу высшего уровня, то смело перемещайте Файл wp-config.php в каталог выше корневой папки сайта. Если у вас такого допуска нет, то при попытке переместить этот файл по FTP, у вас получится неудавшаяся передача файлов.

Приведу пример.

  • Корневая папка сайта тут: /domains/domen.ru/public_html;
  • Каталог высшего уровня тут: /domains/domen.ru/.
  • Права пользователя выставляются в панели хостинга (сервера), при создании FTP аккаунта, фото:

Перетягиваете wp-config из корневого каталога в папку домена .

Вариант 2. Если у вас нет доступа к каталогу высшего уровня, защитите файл wp-cofig в файле.htaccess . Этот файл вы должны были создать после установки WP, из файла htaccess.txt .

Вставьте в верх файла.htaccess такие строчки:

Следите, чтобы файл wp-config.php и.htaccess были в одной папке.

Вариант3. Если на сервере есть SSL шифрование данных, то можно добавить в файл wp-config.php следующую строку:
define("FORCE_SSL_ADMIN", true);e>
Она включит шифрование для админки WP.

Маскируем другие папки WordPress

В каталоге WordPress две основные папки, которые интересны взломщикам: wp-content/themes/ и wp-content/plugins/.

Попробуйте открыть в браузере эти папки, то есть введите в адресную строку:

  • Ваш-домен/ wp-content/plugins/ , затем;
  • Ваш-домен/wp-content/themes/.

Если вы видите белый лист или 404 ошибку, то ваши папки защищены.

Если вы видите список каталогов и файлов, то папки открыты для всех.

Чтобы их замаскировать создайте пустой файл Index.html и положите его по FTP в эти папки. Это замаскирует эти папки, но не спрячет от продвинутых взломщиков.

Защитить их можно строкой: Options -Indexes , добавленную в конец файла.htaccess . После добавления строки, сделайте контрольную проверку. Вы должны попасть на 404 страницы.

Важно! Все защиты в файле.htaccess , имеют место, если вы не используете плагины безопасности на своем WordPress, а пытаетесь защититься самостоятельно.

Другая защита безопасности WordPress

Удалите пользователя с именем admin. Если под этим именем писались статьи, то сделайте следующее:

  • Входите на вкладку: Пользователи;
  • Создаете нового администратора;
  • Удаляете администратора: admin. При удалении admin, перенаправляете все публикации admin на нового администратора.

  • Уберите с сайта виджет «Мета» с прямой регистрацией пользователей. Замените «Мета» на подписку по email;
  • Для параноиков: отмените регистрацию пользователей вообще. Вкладка→Настройки→Общие→Членство (очистить чекбокс).
  • Перевод

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

Эта статья сфокусирована на вопросах усиления безопасности WordPress - как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin» , которое отображается только после авторизации . Мы сознательно выделили фразу "после авторизации " - вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

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

1. Переименуйте папку wordpress.

Начиная с версии 2.6, стало возможным изменять путь к папке wp-content . К сожалению это до сих пор неприменимо к папке wp-admin . Думающие о безопасности блоггеры смирились с этим и стали надеяться, что это станет возможным в будущих версиях. Пока этого не случилось, предлагаем воспользоваться следующим альтернативным решением проблемы. После распаковки архива с файлами WordPress, вы увидите папку «WordPress» - переименуйте папку (в идеале во что-то непонятное вроде " wordpress_live_Ts6K" ) и после этого настройте соответственным образом файл wp-config.php , который находится в корневой директории.
Что нам даст это изменение?
  • Во-первых, все файлы WordPress не будут смешаны с другими файлами в корне сайта, таким образом мы повысим ясность корневого уровня.
  • Во-вторых, множество копий WordPress может быть установлено параллельно в папки с разными именами, исключая их взаимодействие, что делает это идеальным для тестирования
  • Третье преимущество напрямую касается безопасности: административная зона (и весь блог в целом) больше не находится в корневой папке и для проведения каких-либо действий по взлому сначала ее нужно будет найти. Это проблемно для людей, но что касается ботов - вопрос времени.

Несколько установленных версий в root-каталоге - это возможно!

Примечание: Если системные файлы WordPress больше не в корневой директории, и имя папки инсталяции изменено в соответствии с рекомендациями, описанными выше, блог будет все равно доступен по адресу wp-config.ru . Почему? Зайдите в раздел «Общие настройки (General settings)» вашего блога и введите в поле «WordPress address (URL)» реальный адрес блога на сервере, как показано в примере:

Адрес блога должен быть красивым и ненавязчивым

Это позволит блогу отображаться по красивому виртуальному адресу.

2. Усовершенствуйте файл wp-config.php

Конфигурационный файл WordPress wp-config.php содержит в себе некоторые настройки сайта и информацию для доступа к базе данных. Также там другие настройки, касающиеся безопасности (они представлены в списке ниже). Если таких значений в этом файле нет, или же имеются только установленные по умолчанию, вам необходимо, соответственно, добавить или изменить их:
  • Ключи безопасности: начиная с версии 2.7, в WordPress есть четыре ключа безопасности, которые должны быть правильно установлены. WordPress спасает вас от необходимости выдумывать эти строки самому, автоматически генерируя правильные ключи с точки зрения безопасности. Вам просто нужно вставить ключи в соответствующие строки файла wp-config.php. Эти ключи являются обязательными для обеспечения безопасности вашего блога.
  • Префикс таблицы заново установленного WordPress блога не должен быть стандартным «wp_» Чем больее сложным будет значение префикса, тем менее вероятна возможность несанкционированного доступа к таблицам вашей MySQL базы данных. Плохо: $table_prefix = "wp_"; . Намного лучше: $table_prefix = "wp4FZ52Y_"; Не стоит бояться забыть это значение - вам необходимо ввести его только один раз, больше оно вам не понадобится.
  • Если у вас на сервере доступно SSL шифрование , рекомендуется включить его для защиты административной зоны. Это можно сделать, добавив следующую команду в файл wp-config.php: define("FORCE_SSL_ADMIN", true);
Также вы можете регулировать другие системные настройки в конфигурационном файле. Четкий и исчерпывающий список доступных настроек доступен на странице Кодекса

Не пренебрегайте установкой правильных ключей безопасности!

3. Переместите файл wp-config.php

Также начиная с версии 2.6, WordPress позволяет перемещать файл wp-config.php на высший уровень. По причине того, что этот файл содержит в себе намного более важную информацию, чем какой либо другой, и потому что всегда намного сложнее получить доступ к корневой папке сервера, имеет смысл хранить его не в той же директории, где и остальные файлы. WortdPress автоматически обратится к высшей папке в поиске файла wp-config.php . Любые попытки пользователей самим настроить путь бесполезны.

4. Защитите файл wp-config.php

Не все ISP серверы позволят вам передавать данные на более высокие уровни, чем корневая директория. Другими словами, не у всех хватит прав для осуществления предыдущего шага. Или по другим причинам: например, если у вас несколько блогов, при определенной структуре папок у вас не получится положить в корень все файлы, так как их имена будут совпадать для каждого из блогов. В этом случае мы можем запретить доступ к файлу wp-config.php извне при помощи файла .htaccess . Вот код для этого:

# protect wpconfig.php
Order deny,allow deny from all

Очень важно убедиться, что файл .htaccess находится в той же директории что и файл wp-config.php .

5. Удалите учетную запись администратора.

Во время процесса установки WordPress создает учетную запись администратора с ником «admin» по умолчанию. С одной стороны это вполне логично, с другой - пользователь с известным ником, т.е. ID - 1, обладающий административными правами, является вполне предсказуемой мишенью для хакеров с их программами подбора паролей. Отсюда следует наш совет:
  • Создайте еще одного пользователя с административными правами и вашим ником.
  • Завершите сеанс работы.
  • Залогиньтесь под новым аккаунтом.
  • Удалите учетную запись "admin ".
Если у вас не новый блог и под учетной записью admin вы уже публиковали посты или комментарии, то из предложенных вариантов в момент удаления, выберите пункт «Связать все записи и ссылки с:» и выберите имя нового пользователя:

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

6. Выберите сильный пароль.

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

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

В WordPress реализован интуитивно понятный индикатор стойкости набираемого пароля, который показывает цветом его уровень сложности:

7. Защитите папку «wp-admin».

Следуя пословице «две головы лучше одной», существует способ вдвое усилить защиту административной зоны. Защита регулируется файлом .htaccess , который должен находится в папке «wp-admin» вместе с файлом .htpasswd , который хранит логин и пароль пользователя. После обращения к папке, вам нужно будет ввести логин и пароль, но разница в том, что в этом случае авторизация контролируется на стороне сервера, а не силами самого WordPress.

Для того чтобы просто и быстро сгенерировать файлы .htaccess и .htpasswd , воспользуйтесь этим сервисом .

8. Запретите отображение ошибок на странице авторизации.

Страница авторизации WordPress - это дверь в административную зону вашего блога, которая становится доступна после безошибочного прохождения верификации. У каждого пользователя существует бесконечное количество попыток авторизации, и каждый раз по умолчанию услужливый WordPress указывает, в чем именно была ошибка. То есть, если введенный логин окажется неверным - WordPress так и скажет. Это удобно для пользователя, но также и для хакера.

Несложно догадаться, как быстро сокращается вероятность подбора комбинации логина/пароля, когда система указывает что именно введено неверно. Простая строка кода, поможет решить эту проблему, достаточно добавить её в файл functions.php вашей темы:

Add_filter("login_errors",create_function("$a", «return null;»));

Изначальный/измененный вид страницы авторизации.

9. Ограничьте количество неудачных попыток авторизации.

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

WordPress - пожалуй, самая популярная и вместе с тем одна из самых часто взламываемых платформ. Почему-то существует мнение, что если ваш сайт особо никому не интересен, то и взламывать его не будут - зачем? На самом деле угроза взлома есть буквально у каждого сайта (и не только на WordPress), поэтому важно заботиться о защите своей странички. Что можно предпринять - а точнее, какие плагины установить - об этом я и расскажу в этой статье.

Эти советы будут полезны не только в работе с WordPress, но и с любой другой CMS. Они базовые, но, как показывает практика, все равно есть люди, которые о них не знают. Зачем это все делать? Чтобы усложнить жизнь злоумышленнику. Используя данные, которые устанавливаются по умолчанию, хакер может относительно легко взломать ваш сайт, а также вашу базу данных. Поэтому нужно сделать следующее.

1. Измените имя пользователя с admin на другое.

Чтобы это сделать, вам нужно сначала создать нового пользователя в качестве администратора. Сделать это можно вот тут:

После создания пользователя зайдите под его аккаунтом и в списке «Все пользователи» удалите аккаунт “admin”. При этом новый логин постарайтесь сделать каким-нибудь относительно сложным, ну хотя бы состоящим из нескольких слов: vasyapupkin99. Можете свой никнейм использовать, например.

Про пароль писать не буду - лучше воспользоваться тем, который сгенерирует вам Wordpress на стадии создания аккаунта, а не придумывать какой-то свой (который, скорее всего, будет легче).

2. Изменить префикс базы данных с wp на другой.

Существует два пути сделать это: либо самостоятельно правя таблицы в phpMyAdmin (или даже просто в файловом менеджере), либо через плагин. Кратко расскажу об обоих вариантах.

Изменение через phpMyAdmin

Сразу скажу, что это действие требует внимания к деталям и некоторого опыта работы в phpMyAdmin.

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

Теперь зайдите в файловый менеджер и найдите файл wp-config.php, в нем строку $ table_prefix = "wp_";

“wp” надо изменить на что-то другое, менее связанное с WordPress и базами данных. Можно менять даже на произвольный набор букв и цифр (но вам его нужно запомнить или записать).

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

После этого зайдите в phpMyAdmin (на хостинге Timeweb это можно сделать прямо через панель управления) и найдите базу данных для нужного сайта. Все таблицы этой базы данных нужно переименовать, вместо “wp_” подставляя то, что вы уже написали выше.

Как переименовать: выбираете таблицу в левом столбце, нажимаете вкладку «Операции», далее смотрите блок «Параметры таблицы» и строку «Переименовать таблицу в». После внесения изменений не забудьте нажать «Вперед».

После этого ищите в списке таблицу “…_options”. Выбрав ее, нажмите «Обзор» - в содержимом примерно на второй странице в столбце “meta_key” вы увидите wp_user_roles - измените префикс “wp” на тот, который вы сейчас собираетесь использовать. Сохраните изменение.

Следующая таблица для изменения - “…_usermeta” - аналогичным образом посмотрите ее содержимое и измените все старые префиксы на новые.

Если после редактирования у вас что-то стало работать не так или вообще перестало работать, проверяйте, все ли изменения вы внесли. В крайнем случае используйте бэкап.

Изменение через плагин

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

После того, как вы установили и активировали плагин, зайдите в раздел «Защита Базы данных». Там вы увидите строку «Сгенерировать новый префикс таблиц БД» - напишите тот префикс, который хотите поставить (или поставьте галочку около «Отметьте, чтобы плагин сам сгенерировал префикс длиной в 6 случайных символов»), и нажмите «Изменить префикс таблиц». После этого ниже вы увидите отчет от ходе изменения префикса. Чтобы убедиться в том, что ожидаемый результат достигнут, зайдите в phpMyAdmin.

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

All In One WP Security & Firewall

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

В разделе «Настройки» плагина перейдите во вкладку “WP version info” и поставьте галочку рядом с «Удаление мета-данных WP Generator». Так как хакеры зачастую основываются на информации, которую содержат мета-данные, то будет нелишним убрать эту информацию из кода страницы.

Кстати, если вы все еще не поменяли имя администратора (следуя совету выше), то сделать это можно и через этот плагин - во вкладке «Администраторы». Просто напишите новое имя пользователя и еще раз авторизуйтесь в панели (пароль остается прежним).

Здесь же вы можете видеть вкладку «CAPTCHA при регистрации» - тоже активируйте этот пункт.

Теперь переходим в раздел «Файрволл» - здесь ставим галочку в блоках «Основные функции брандмауэра». Остальное можете включить/оставить выключенным по своему желанию.

Раздел «Защита от брутфорс-атак»: вам нужно включить опцию переименования страницы логина и написать желаемый адрес в графе ниже. Тут важно понять - этот адрес будет использоваться для входа в админку, жизненно важно его запомнить !

С этим плагином мы закончили, переходим к следующему.

AntiVirus

Этот плагин сканирует файлы сайта на предмет вредоносного кода. Пользоваться им достаточно просто - после установки зайдите в его настройки и нажмите “Scan the theme templates now”, после этого все файлы вашей темы будут проверены.

Тут же вы можете настроить и ежедневную проверку с отчетом на email.

Во время проверки плагин подсвечивает код, который показался ему подозрительным. При этом все замечания вам лучше проверять внимательно - не всегда речь идет именно о вирусе. Если вы не обладаете навыками в программировании, то можете просто сравнить найденную строчку кода со строчкой в коде этой же темы сайта на вашем компьютере или у разработчика. Если запись присутствует изначально, то опасаться ее не нужно.

Как и другие активные плагины, AntiVirus нагружает сервер (а значит, ваш сайт работает медленнее), поэтому лучше пользоваться им время от времени, чем постоянно держать в активном состоянии.

Wordfence Security

Этот плагин по функционалу схож с предыдущим, ими можно пользоваться параллельно, хуже не будет. Точно так же установите, активируйте, перейдите во вкладку “Scan” и нажмите на большую синюю кнопку “Start a Wordfence Scan”. Кое-какие возможности доступны только для оплаченных (премиум) аккаунтов, но базовый функционал тоже неплох. Если с вашим сайтом все хорошо, то вы увидите зеленую надпись “Congratulations! No security problems were detected by Wordfence”.

Расскажу еще о других плагинах, которые тоже можно использовать для защиты сайта.

Sucuri Security

Вообще Sucuri - это компания, которая специализируется на защите веб-сайтов, поэтому они предоставляют защиту для любого сайта (не только на WordPress). Плагин от этой серьезной компании с внушительной репутацией обладает широким функционалом, представляющим полный цикл защиты сайта, включая предупреждение взлома и атаки на ваш сайт. Можно пользоваться бесплатной версией, а можно купить платную за 16,66$ в месяц - сумма немаленькая, но за такой диапазон защитных инструментов вполне обоснованная.

Для того, чтобы пользоваться бесплатной версией, после установки вам будет необходимо сгенерировать бесплатный ключ (в синем блоке сверху нужно будет нажать кнопку “Generate API Key”, проверить, что введенные данные корректны, и отослать заявку.

iThemes Security

Если Sucuri Security можно назвать лучшим платным плагином защиты, то iThemes Security часто называют лучшим бесплатным плагином, который стоит установить для безопасности вашего сайта. Тем более что сейчас у него более 800 тысяч установок!

Про функционал много писать не буду - как и все другие плагины, iThemes Security направлен на защиту вашего сайта от большинства вещей, которые могут ему угрожать, и в то же время на проверку существующего состояния сайта. Кстати, раньше плагин назывался Better WP Security - возможно, кто-то помнит его по этому названию.

Если в целом говорить об его функциях, то можно выделить следующие стороны этого плагина:

  • скрытие и удаление потенциально уязвимых элементов (об этом было написано в начале статьи - смена логина администратора, префикса базы данных и так далее);
  • защита сайта от атак (сканирование на наличие уязвимостей, защита от брутфорса, шифрование админки и так далее);
  • мониторинг сайта (на наличие внезапных изменений, блокировок и так далее);
  • восстановление (резервное копирование на случай непредвиденной ситуации).

Теперь перейдем к самому использованию этого плагина.

Настройка iThemes Security

Начну с того, что у него есть и PRO (то есть более расширенная) платная версия, поэтому в бесплатной версии доступны не все возможности этого плагина (но их все равно много).

После установки активируйте плагин и переходите в раздел «Настройки». В синем блоке сверху вы сможете включить защиту от взлома методом полного перебора (Network Brute Force Protection) - для этого нужно запросить API ключ, который автоматически будет добавлен в настройки (но также отправлен вам на почту).

Нажмите “Security Check ” (самый верхний левый блок или в меню под «Настройки») и нажмите “Secure site”. После этого вы увидите список включенных модулей.

Следующий блок - «Основные настройки » (справа от “Security Check”). Так как плагин почти полностью переведен, каждый пункт имеет свою расшифровку - советую пробежаться по ним всем и посмотреть, что из этого наиболее актуально для вас (даже если не будете пользоваться, будете хотя бы знать, где что находится).

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

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

Local Brute Force Protection ” - это блок защищает от взлома путем перебора паролей. У вас он уже включен, настройки можно оставить по умолчанию.

«Резервные копии базы данных » - настройка резервного копирования, в бесплатной версии речь идет только про базы данных.

«Обнаружение изменений файлов » - крайне полезная функция, которая будет следить за всеми изменениями в файлах сайта; можно быстрее отследить внезапно появившуюся на сайте активность. Обязательно включите.

File Permissions ” - блок показывает права доступа к файлам.

Network Brute Force Protection ” - сетевая защита от брутфорса заключается в том, что если хакер пытался взломать чей-то другой сайт, доступ к вашему сайту у него будет также заблокирован, даже если он еще не начал атаку на ваш сайт.

SSL ” - вы можете настроить использование SSL в этом плагине, то если у вас сайт на хостинге Timeweb, я советую использовать настройки в панели управления сайтом.

Strong Password Enforcement ” - если ваш сайт предполагает регистрацию других пользователей (форум, блог…), тогда это настройка будет полезной, пользователям придется выбирать только сложные пароли для своих аккаунтов. В остальных случаях ее можно не использовать.

«Тонкая подстройка системы » и «Подстройка WordPress » - эти дополнительные настройки нужны для того, чтобы еще больше усилить защиту вашего сайта. Но есть один нюанс - включение некоторых настроек может повлиять на работу плагинов. Поэтому не стоит выбирать все сразу - включайте по одному пункту и проверяйте работоспособность вашего сайта.

Наконец, «WordPress Соли » - настройка позволяет добавить к паролю секретный ключ, подобрать который будет намного сложнее, чем пароль отдельно. Обычно это случайный набор символов, который добавляется при хэшировании. Периодически пользуйтесь этой настройкой («Изменить WordPress Соли») для того, чтобы сменить соль.

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

Заключение

Плагины - это существенный элемент безопасности вашего сайта, но хочу напомнить, что он не единственный. Не забывайте следить за обновлениями WordPress и плагинов, регулярно меняйте пароли и делайте бэкапы.

Привет, ребята! Когда твой сайт становится немного раскрученным, появляются постоянные читатели, получаешь огромное удовольствие. Вроде бы все круто. Растет и поток денег, и отклик получаешь от аудитории, увеличивается узнаваемость. Но существует и обратная сторона медали. Это завистники, это внимание со стороны недоброжелателей.

Чтобы вы представляли, о чем идет речь: мой блог только за прошлую неделю взламывали 2 раза. Постоянные посетители, думали, заметили. Ребята, я настоятельно рекомендую ознакомиться с данным уроком, потратить время на внедрение советов, о которых говорю, чтобы больше обезопасить свой сайт и сэкономить время, деньги и нервы.

All In One WP Security - это самый необходимый плагин для увеличения безопасности в WordPress. Ставить его нужно всем, кто владеет сайтом на Вордпресс. Всем без исключения.

Если мой любимый - это комбайн в сфере SEO для WordPress, то плагин WP Security - аналог в сфере безопасности. То есть, если благодаря Yoast SEO я перестал нуждаться в нескольких SEO плагинах, то здесь точно также, благодаря All In One WP Security можно избавиться от других плагинов, которые лишь частично выполняют функции данного. Например, как:

  • Login Lockdown;
  • WordPress Database Backup;
  • Anti-XSS attack;
  • и другие подобные.

Огромные плюсы плагина All In One WP Security:

  • бесплатный;
  • настраивается очень просто;
  • практически все переведено на русский язык, поэтому понятно о чем идет речь.

Настройка плагина All In One WP Security

Обязательно сделайте бэкап (резервную копию) перед началом работы (на всякий случай) следующих файлов:

  • база данных;
  • файл wp-config;
  • файл htaccess.

Кстати, резервные копии этих трех файлов можно сделать прямо в данном же плагине, просто в админке перейдите в WP Security - Настройки:

Панель управления

Тут есть очень крутой информер, который показывает уровень защищенности вашего сайта:

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

Текущий статус самых важных функций. В этом блоке можно активировать самый необходимый функционал по безопасности вашего сайта (можете пока не трогать их, в ходе настроек по уроку, данные параметры активизируются итак):

Остальные параметры в Панели управления малоинтересны, Вы можете ради любопытства ознакомиться с ними (Информация о системе, Заблокированные IP адреса, AIOWPS.

Настройки

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

WP мета-информация. Нажимаем на галочку напротив "Удаление метаданных WP Generator", чтобы не отображать версию WordPress:

Вкладка "Импорт/Экспорт". Здесь можно экспортировать свои настройки, чтобы потом на другом сайте не тратить время на настройки и импортировать в 2 клика все необходимые "галочки".

Администраторы

Пользовательское имя WP. Обязательно (!) смените имя администратора, если оно у вас "admin". Вы не представляете как много и часто подбираются пароли с логином admin. Если еще к тому же пароль очень легкий, ваш сайт легко может быть взломан.

Отображаемое имя. Если на вашем сайте есть аккаунты, у которых имя пользователя и отображаемое имя совпадает, то рекомендуется изменить отображаемое имя (никнейм).

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

  • в вашем пароле должны быть как заглавные, так и строчные буквы;
  • обязательно наличие хотя бы 1-ой цифры, но никак пароль не должен состоять только из цифр;
  • желательно еще наличие какого-либо спецсимвола;
  • длина пароля должна быть более 10 символов.

В итоге у вас должен быть максимальный степень безопасности вашего пароля, что-то в этом роде (пароль ниже домашний компьютер взломал бы за 57 337 лет (!)):

Авторизация

Обязательно включите эту функцию. Если пароль в течении 5-ти минут (по умолчанию) введется 3 раза неправильно, то IP блокируется на 60 минут (тоже по умолчанию). Я не рекомендую ставить блокировку больше по времени, а то можно столкнуться с тем, что сами администраторы вводят логин 3 раза неправильно, ставят блокировку на 10 лет и не знают что делать. Оставляем по умолчанию 60 минут и не паримся.

Также я рекомендую поставить галочку напротив "Сразу заблокировать неверные пользовательские имена". К примеру, вы поменяли логин с admin на krutysh, то при вводе логина admin в поле для авторизации, сразу же заблокируется IP адрес. "Уведомлять по email" - тут по мере необходимости. Я не люблю лишний спам, поэтому здесь галочку не ставлю.

Итоговые настройки данной вкладки у меня выглядят так:

Если вам любопытно, можете глянуть список заблокированных IP, ссылка на раздел приводится в данной же вкладке ниже.

Ошибочные попытки авторизации. Вот здесь как раз видны те логины, которые подбираются. Чаще всего у меня сверкают логины admin, root, font. Также видны время "попыток". Обратите внимание, как часто пытаются войти в админку:

Автоматическое разлогинивание пользователей. Рекомендую тоже включить данный чекбокс. Позволяет через определенное количество минут завершить сессию и разлогинить пользователя. Я ставлю 600 минут:

Вкладки "Журнал активности аккаунта" и "Активных сессий" носят информационный характер.

Регистрация пользователей

Ставим галочку напротив "Активировать ручное одобрение новых регистраций":

Да и можно поставить галочку CAPTCHA при регистрации:

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

Защита базы данных

Здесь будьте аккуратны во вкладке "Префикс таблиц БД". Прежде чем поставить галочку, обязательно сделайте резервную копию своей базы данных (там же увидите ссылку на создание бэкапа своей БД). Если боитесь, сомневаетесь, лучше оставьте без галочки:

Резервное копирование БД. Здесь уже ставим галочку, выбираем частоту создания бэкапов и их количество. У меня. к примеру, такие цифры:

Защита файловой системы

Доступ к файлам. Здесь в правой части у вас будут кнопки, вам нужно будет изменить права доступа к файлам, нажав на эти кнопки. В результате все строчки у вас должны стать зелеными:

Редактирование файлов PHP. Если вы не правите свои PHP файлы через админку, ставим галочку. Править файлы через админку я не рекомендую хотя бы потому, что у вас нет возможности нажать CTRL+Z в случае чего и вы не сможете вернуть файл в исходное положение:

Доступ к файлам WP. Ставим галочку:

Системные журналы. Оставляем по умолчанию.

WHOIS-поиск

Можете вбить IP адрес, либо домен для получения WHOIS какого-либо домена. А так по сути тут нечего трогать.

Черный список

Если у вас нет недоброжелателей, можете не включать данный пункт. Если какой-то IP адрес постоянно сверкает в комментариях, к примеру, можете включить чекбокс и внести данный IP в черный список.

Файрволл

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

Дополнительные правила файерволла. Тут тоже включаем все галочки:

UPDATE: ниже во вкладке "Дополнительная фильтрация символов" я убрал галочку, потому что некоторые комментарии не проходили, отдавали 403 ошибку. Наверное, все-таки, вам тоже я посоветовал бы убрать эту галочку , чтобы не было у пользователей проблем с комментированием.

Настройки 5G файрволл. Тоже включаем:

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

Предотвратить хотлинки. Тоже включаем.

Custom Rules. Можно задать дополнительные правила в файл htaccess. Ничего не трогаем.

Защита от брутфорс-атак

Переименовать страницу логина. Включаем. Меняем адрес логина на свой:

Защита от брутфорс-атак с помощью куки. Я не включаю данную функцию, чтобы не было проблем со входом с разных устройств.

CAPTCHA на логин. Можете включить CAPTCHA при авторизации, я же не включаю:

Белый список для логина. Так как я часто захожу на сайт с разных мест, IP у меня разный, поэтому данную опцию я не включаю:

Бочка с медом. Создается дополнительное поле, которое видят только роботы. Поэтому, при заполнении данного поля, робот будет перенаправлен на свой адрес. Включаем:

Защита от SPAM

CAPTCHA в форме комментариев. Я не включаю, так как не люблю усложнять комментирование, а вот функцию "Блокировка спам-ботом от комментирования" рекомендую включить:

Отслеживание IP-адресов по спаму в комментариях. Тут можно глянуть на "частосверкающие" IP по спаму в комментах и занести их в черный список.

BuddyPress. Добавляет CAPTCHA в форме регистрации BuddyPress. Я не использую ее.

Отслеживание изменений в файлах. Рекомендую включить, так как часто при взломе сайтов не совсем понятно, какой файл изменили, где искать вредоносный код. А с помощью этой функции сможете отследить изменения в файлах вашего сайта и быстро найти тот файл, который изменялся в последнее время.

Сканирование от вредоносных программ. Функция платная, стоит от 7$ в месяц.

Режим обслуживания

Позволяет "закрыть" сайт на время, чтобы сделать какие-то правки. То есть посетителям сайта будет предложена "заглушка", что ведутся работы на сайте. Полезно при смене дизайна, проверке работоспособности плагинов.

Разное

Защита от копирования текста и прочее. Здесь я нигде в трех вкладках не ставлю галочки. Тоже рекомендую не ставить.

Итоги

После завершения всех этих настроек, вы можете перейти в "Панель управления" и глянуть показатель уровня безопасности, у вас должно получится что-то вроде этого:

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

Если возникнут вопросы - пишите. Спасибо отдельное за ретвиты и репосты, за то, что помогаете людям донести эту важную информацию.