Tehnografi.com - Технологические новости, обзоры и советы
[adinserter block="67"]

Как защитить сайты WordPress за 13 шагов

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

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

1. Обновления да, но не как бы

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

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

Напоминание: Автоматические обновления касаются только незначительных обновлений и безопасности. Например, если ваш сайт использует WordPress 4.7.4, он будет автоматически обновлен до 4.7.5, а не до 4.8 или V5.0. WordPress предлагает очень длительную поддержку обновлений безопасности, что является большим преимуществом платформы.

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

1 — отключить WP_Cron в файле конфигурации WordPress (wp-config.php): // — добавил эту строку в файл конфигурации define (‘DISABLE_WP_CRON’, true); 2 – Добавьте задачу в менеджер на своем сервере; вот случай Linux-сервера с crontab: предприниматель йорк.com * / 30 * * * * curl ; /dev/ноль 2> & 1

Пояснение в строке выше означает, что ваш сервер будет каждые 30 минут запускать автоматические задачи WordPress. Почему 30 минут? Интервалы запуска задач по умолчанию составляют один час, два раза в день или один раз в день. Конечно, возможны плагины, требующие более регулярного выполнения. Если это ваш случай, вам нужно будет изменить значение в crontab. Будь осторожен; однако чем больше cronjob у вас на сервере, тем больше вероятность того, что вы потеряете общую производительность на машине.

Небольшой бонус для тех, кто управляет сервером, советую создать bash-файл, который будет вызываться каждые 30 минут, в котором будут храниться все ваши сайты WordPress, например:

#! /bin/bash # имя файла: all_wordpress_cron.sh # запускаем кроны для этих сайтов: Curl ; /dev/null 2> & 1 локон; /dev/null 2> & 1 локон; /dev/null 2> & 1 Тогда ваш crontab будет включать только вызов файла, а не вызов каждого сайта напрямую: */30 * * * * /home/all_wordpress_cron.sh> /dev/null 2> & 1

Ядро, да, но не только:

Это новая функция, добавленная начиная с WordPress 3.7; вы можете, помимо автоматических обновлений безопасности ядра, добавить автоматическое обновление следующих элементов:

  • плагины
  • темы
  • Файлы перевода
  • Чтобы больше не добавлять эти автоматические обновления, просто добавьте эти две строки в файл function.php вашей темы или дочерней темы:

    // – активация автоматического обновления всех плагинов add_filter(‘auto_update_plugin’, ‘__return_true’); // – активация автоматического обновления всех тем add_filter(‘auto_update_theme’, ‘__return_true’);

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

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

    function auto_update_specific_plugins ($ update, $ item) { // Список плагинов для автоматического обновления $ plugins = array ( ‘akismet’, ‘buddypress’, ); if (in_array ($ item-> slug, $ плагины)) { return true; // мы разрешаем обновление плагинов выше } else { return false; // мы отказываемся обновлять другие плагины } } add_filter(‘auto_update_plugin’, ‘auto_update_specific_plugins’, 10, 2);

    Слаг — это не что иное, как имя каталога плагина. Здесь у вас есть автономная система обновления вашего WordPress от А до Я. Вы можете отправляться в отпуск без забот!

    2. Резервные копии

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

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

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

    Первое: BackUpWordpress

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

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

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

    Второе: безопасность iThemes

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

    Лично мы при использовании iThemes Security для создания резервной копии базы данных просим получить ее по электронной почте, поскольку в iThemes было много проблем с настройкой. Мы часто выпускали обновления безопасности, чтобы исправить недостатки, которые позволяли обычному пользователю получить доступ к резервным копиям.

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

    3. Ключи безопасности

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

    Изменив секретные ключи безопасности, вы автоматически отключите все активные сеансы пользователей соответствующего сайта. Очень удобно после атаки быть уверенным, что удалось отключить хакера, который будет использовать, например, учетную запись администратора.

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

    ct]qeopa9′); define(‘NONCE_SALT’,’6+1j6v_v|+PWeI!b~;M&tdZP8le?0,6`aC$>tu0-‘m<^5W5Wi35)! олQEL *?[#>‘);[#>’);

    Чтобы быть уверенным в создании новых надежных ключей, я советую вам использовать WordPress API по следующему адресу, просто скопировав/вставив: https://api.wordpress.org/secret-key/1.1/salt/

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

    4. Изменятся префиксы таблиц базы данных

    Когда вы устанавливаете WordPress, он запрашивает ваши учетные данные для входа в базу данных, имя базы данных, которая будет использоваться для сайта, и префикс, который вы хотите использовать для своих таблиц. По умолчанию он предлагает «wp_», что тоже является абортом, это параметр, который вам придется изменить. Например, вместо использования «wp_» вы можете использовать «2tHdat_» или «ntbl_», цель маневра — в случае атаки путем SQL-инъекции злоумышленнику будет нелегко извлечь ваши данные, если он этого не сделает. не знаю префикс таблицы.

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

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

    5. Специфика Apache

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

    Эта уязвимость была обнаружена 3 мая 2017 года Давидом Голунски. Он специфичен для Apache, поскольку для работы ему требуется несколько параметров.

    1. Что такое веб-сервер?

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

    3. Не настроив переменную Apache «UseCanonicalName» в объявлении вашего хоста в положение «ВКЛ».

    ( https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname ) Если вы соответствуете этим критериям, вы находитесь в опасности, и если вы до сих пор не обновили WordPress до версии 4.7.5, это это все еще так. Я упоминаю об этом в передовой практике безопасности, потому что никогда не знаешь, может ли однажды возникнуть новая проблема. А именно, что веб-сервер Nginx совершенно не затрагивает эту атаку.

    6. Изменить адрес доступа администрации.

    Если вы регулярно используете сайт WordPress или несколько, вы должны знать, что для доступа к администрированию просто добавьте «wp-admin» к URL-адресу сайта для доступа. Конечно, если вы знаете, пираты тоже это знают, и поэтому им легко реализовать серию атак, включая грубую силу (мы вернемся к этому моменту сразу после этого).

    Чтобы изменить этот адрес доступа, я советую вам использовать такие плагины, как, например (iThemes Security), и соблюдать следующее правило: не используйте простые слова, которые пират может угадать, например «администратор» или «администрация». Я настоятельно рекомендую вам использовать случайную строку, которую вы бы сохранили в избранном, например aYJJRrcb или KqKgUoyJtLPDaouAyvidmVtXAHOS.

    Таким образом, ваш адрес для связи с администрацией больше не будет:

    бутор

    Идеальный способ создать эти каналы — использовать генератор паролей.

    7. Двухфакторная аутентификация

    Что такое двухфакторная аутентификация? Это механизм, который помимо вашего пароля запросит у вас код, который будет отправлен вам по SMS или сгенерирован приложением, установленным на вашем телефоне. Без действительного ввода этого кода вы не сможете войти в систему.

    В настоящее время этот механизм стал практически незаменимым для замедления хакеров, пытающихся угадать ваши пароли, и сейчас это лучший способ быстро и легко расширить доступ к администрированию WordPress. Советую использовать такое приложение, как Google Authenticator, в качестве второго фактора аутентификации, для тех, кто знает, что тут тот же принцип, что и в Battle.net, а не по SMS.

    Второй фактор через СМС продемонстрировал явные признаки слабости, не считается надежным и настоятельно не рекомендуется.

    Чтобы настроить его, у вас есть несколько вариантов. Проще говоря, у вас есть несколько плагинов, которые позволяют вам установить Google Authenticator. Подавляющее большинство плагинов безопасности предлагают эти опции; однако в большинстве случаев вам придется покупать премиум-версию.

    Вот как выглядит Google Authenticator на вашем мобильном телефоне:

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

    8. Защита от грубой силы

    «Грубая сила» или атака методом грубой силы по-французски означает попытку в больших масштабах использовать различные возможности (логин + пароль) для подключения к учетной записи пользователя. Этот метод используется на веб-сайтах, а также во всех других компьютерных системах, даже в ваших почтовых ящиках, сеансах вашего компьютера, Mac OS и т. д.

    Вы найдете несколько случаев грубой силы, вот основные из них, которые беспокоят вас как владельца сайта WordPress: Хакер знает ваш логин и «просто» пробует разные пароли, проверяя все возможные комбинации (если ваш пароль надежный, он будет займи у него годы)

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

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

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

    Вы поймете, что чтобы замедлить хакера, вам нужно сделать четыре вещи:

  • Используйте надежные случайные пароли.
  • Не используйте простой и известный идентификатор, такой как admin, администратор, администратор.
  • Настройте двухфакторную аутентификацию.
  • Измените адрес вашей администрации.
  • Возвращаясь к пункту №3, если вы используете второй надежный фактор, хакер наверняка остановит свою атаку, потому что ему будет слишком сложно обойти второй фактор. Чтобы дать вам представление: мы обнаруживаем от 500 до 1000 мошеннических попыток подключения на сайтах, которыми мы управляем, и это в неделю! Бывают случаи, когда пики превышают 2000 в день, особенно когда выходят новые версии WordPress.

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

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

    9. Отслеживайте изменение файлов

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

    Для этого у вас есть Sucuri Scanner, iThemes Security и другие. Преимущества Sucuri Scanner перед ним позволят вам получать оповещения при повторном редактировании страницы или статьи. Если вы напрямую управляете сайтом, это может позволить вам обнаружить вторжение.

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

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

    10. Установите SSL-сертификат.

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

    Целью здесь является повышение безопасности ваших пользователей, не позволяя злоумышленнику увидеть то, что они просматривают или отправляют в качестве информации, например, их пароли, если у них есть учетная запись на вашем сайте. Это также позволяет вашему пользователю быть уверенным, что ваш сайт отправил страницу и за это время никто не изменил ее. Современные браузеры, такие как Chrome или Firefox, предупреждают о растущей обеспокоенности по поводу отсутствия SSL на сайте, как вы можете видеть на следующем изображении, и это только начало.

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

    Второе, более легкое преимущество, заключается в том, что Google немного улучшит ваше положение в этих результатах. Даже если мы не заметили действительно существенного разрыва между сайтом с SSL и без него. Самую свежую информацию вы можете получить бесплатно с помощью сертификатов безопасности SSL через Let’s Encrypt.

    11. Темы и плагины

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

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

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

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

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

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

    Если вы размещаете свой веб-сайт на сервере Linux, вы можете знать, что каждому файлу и папке назначены права доступа. Пример прав на папку и файл:

    -rw-r – r– 1 пользовательский сайт групповой сайт 5035 29 сентября 2017 г. wp-activate.phpdrwxr-xr-x 9 пользовательский сайт групповой сайт 4096 5 сен. 2017 wp-администратор

    Первая строка соответствует файлу, вторая – каталогу (буква «d» в начале строки), права файла: разрешение на чтение и запись для владельца файла, только чтение для всех другие. Для файла они разные, поскольку владелец может читать, писать и выполнять программу, а для других — только читать и выполнять.

    Для файла соответствие в законе Linux равно 644, а для файла — 755. Это означает, что права, применяемые к этим файлам, правильно настроены, чтобы обеспечить хорошую основу безопасности вашего интернет-сайта. Кроме того, в официальной документации WordPress есть отличная статья на эту тему.

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

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

    Чтобы помочь вам, вот две строки кода, которые позволят вам изменить разрешения для всех ваших папок и файлов:

    компакт-диск/путь/с/сайта/www/

    #обновляем права для найденных файлов. -пример типа chmod 755 {} \;# права обновления для поиска файлов. -type f -exec chmod 644 {} \;

    Не забудьте изменить права wp-config.php после запуска этих двух команд. Будьте осторожны, особенно если вы не знакомы с этими командами, поскольку это может вызвать проблемы с обновлениями, плагинами и плагинами кеша. Уверяю вас, что это вызывает проблемы только на неправильно настроенных серверах, но, к сожалению, сегодня это не то, чего не хватает.

    13. Плагин безопасности

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

  • iThemes Security (есть версия Pro)
  • Wordfence Security (имеет премиум-версию)
  • Sucuri Security (имеет премиум-версию)
  • Куттера
  • Вы также можете использовать следующий плагин для управления кодом тем, установленных в вашем WordPress:

    Заключение

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

    Но вы также видите, что это не является невозможным, однако, 100% абсолютной безопасности не существует и никогда не будет. что это для веб-сайта или чего-то еще в мире.

    Тебе понравилась эта статья? Не стесняйтесь поделиться этим! В любом случае, не стесняйтесь писать мне о любых комментариях и реакциях!