»  Безопасность  »  Как настроить мощную защиту сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security

Как настроить мощную защиту сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security

Последнее обновление:

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

Преимущества Sucuri Security:

  1. Высший уровень безопасности
  2. Снижение нагрузки на сервер за счет обработки вредоносного трафика на серверах Сукури
  3. Ускорение сайта за счет подключения к собственному CDN Anycast
  4. Гарантия восстановления сайта в случае, если сайт взломают

Этот сервис стоит от 199$ / год. В этой статье вы узнаете, как настроить мощную защиту сайта с файрволом на уровне сервера на основе бесплатного плагина Sucuri Security, в котором есть хороший инструмент для наблюдения за безопасностью сайта.

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

  • Плагин сравнивает файлы ядра Вордпресс с файлам в репозитарии Вордпресс
  • Сканер SucuriSiteCheck проверяет сайт на наличие вредоносного кода
  • Плагин проверяет, что сайт не находится в черных списках поисковиков и антивирусов
  • В логах событий нет ничего подозрительного:
Как настроить мощную защиту сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security
Файлы ядра Вордпресс сравниваются с файлами в репозитарии Вордпресс каждые 12 часов.
Сканер SucuriSecurityCheck проверяет сайт каждые 6 часов.
Плагин проверяет попадание сайта в черные списки каждые 24 часа.

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

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

Чтобы применить изменения, нужно добавить правила в functions.php, wp-config.php и .htaccess.

Содержание:

  1. Сделайте базовые настройки
  2. Настройте Sucuri Security
  3. Дополнительные настройки
  4. Файрвол
  5. Отключите хотлинк картинок

Сделайте базовые настройки

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

  • Обновите Вордпресс, плагины и тему до последней версии,
  • Настройте автоматическое обновление ПО,
  • Используйте популярные и обновляемые темы и плагины,
  • Используйте сложные логины и пароли для аккаунтов, базы данных, е-мейла и хостинга,
  • Не используйте одинаковые имя пользователя и логин,
  • Используйте SSL и FTPS.

Сделайте все настройки из Минимальной безопасности Вордпресс.

В пункте 4 вы можете установить бесплатный плагин ограничения количества попыток авторизации.

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

Облачный файрвол SecurityNinja Pro
633 млн. IP, которым ограничено или запрещено посещение сайта.

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

Security Ninja Pro - Облачный файрвол

Настройте Sucuri Security

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

Логи событий начинают отображаться на панели Dashboard сразу после генерации ключа.

С сервера Sucuri приходит информация о заражении сайта и статусе нахождения в черных списках.

После того как вы все настроите, вам нужно будет время от времени заходить на страницу Dashboard и Last Logins, чтобы проверить, что все в порядке.

Как настроить мощную защиту сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security
Последние входы: Все пользователи — Админы — Пользователи — Неудачные попытки

WordPress Integrity Scanner

Этот модуль сравнивает файлы ядра Вордпресс на вашем сайте с файлами Вордпресс в официальном репозитарии. Включите модуль в разделе Settings — Scanner — WordPress Integrity Diff Utility.

Модуль сравнения файлов ядра Вордпресс на сайте и в официальном репозитарии Вордпресс
Нажмите Enable для включения модуля

Если вы вручную добавляли или изменяли какие-то файлы, вы можете добавить их в исключения в разделе Settings — Scanner — WordPress Integrity (False Positive).

Список игнорируемых файлов при сравнении файлов ядра с оригинальными файлами

По умолчанию сканер сравнивает файлы раз в 24 часа. В разделе ScannerScheduled Tasks вы можете изменить частоту сканирования. Поставьте галочку напротив sucuriscan_scheduled_scan, в выпадающем меню снизу выберите Twice Daily, нажмите Submit.

Настройки безопасности Sucuri Security

В разделе Hardening Options включите все настройки, кроме Website Firewall Protection. Это платная функция, которая включается после оплаты подписки.

Настройки безопасности сайта Sucuri Security
Если вы пользуетесь редактором файлов в админке Вордпресс — оставьте последнюю функцию временно выключенной, если не пользуетесь, то нажмите Apply Hardening.

Применяйте настройки Block PHP Files in Uploads Directory, WP-CONTENT Directory и WP-INCLUDES Directory с осторожностью, потому что некоторые плагины или темы могут помещать свои PHP файлы в эти папки.

Если какой-то функционал темы или плагина пропал, добавьте соответствующий файл в исключения в разделе Whitelist Blocked PHP Files.

Настройте ограничение количества попыток авторизации

Укажите количество неудачных попыток доступа, после которого IP посетителя попадает в бан. Раздел Password Guessing Brute Force Attacks:

Ограничение количества попыток авторизоваться на сайте
30 — 60 — 120 — 240 — 480 неудачных попыток доступа в час

Настройте оповещения о событиях на сайте

Укажите е-мейл, на который будут приходить сообщения, в разделе Alerts Recipients.

Укажите е-мейл, на который будут приходить сообщения о событиях на сайте

Настройте формат сообщений в разделе Alert Subject:

Формат сообщений
Вы можете использовать собственный формат — Custom Format.
Например: Ваш_сайт, :event, :remoteaddr, :username

Настройте максимальное количество сообщений в час в разделе Alerts Per Hour:

Количество сообщений в час
Если вы выберите небольшое значение, вы можете пропустить важное сообщение

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

События на сайте, о которых вы можете получать сообщения
Обычно можно использовать стандартные настройки, но можно добавить Receive email alerts for core integrity checks — Получать сообщения, если появится разница в файлах ядра на сервере и в репозитарии Вордпресс

После взлома

У плагина Sucuri Security есть несколько инструментов для помощи в восстановлении сайта после взлома. Одним из этих инструментов — Создание новых ключей и солей — вы можете пользоваться время от времени. Создавайте новые ключи и соли раз в 3 — 6 — 12 месяцев для поддержания безопасности сайта.

Обновление ключей и солей

Дополнительные настройки

В этом разделе вы добавите правила в файлы functions.php, wp-config.php и .htaccess.

Добавьте правила в functions.php

Functions.php — главный файл темы Вордпресс, который находится в корневой папке темы.

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

  • Code Snippets (рекомендуется Вордпресс, добавляет код в разные места сайта)
  • My Custom Functions (добавляет только в functions.php)
  • Profunctions (Самый легкий плагин, 540 Байт)

Скройте версию Вордпресс, скриптов и стилей

По умолчанию Вордпресс оставляет мета-теги с версией ПО на страницах сайта. Это делается для отслеживания количества сайтов, работающих на Вордпресс.

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

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

Добавьте этот код в файл functions.php:

Измените текст ошибки на странице авторизации

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

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

Чтобы изменить текст сообщения, добавьте этот код в functions.php:

Замените сообщение в строке 3 на свое.

Удалите ссылку WLW из заголовков страниц

Если вы не используете Windows Live Writer, то лучше удалить эту ссылку из заголовков, потому что она указывает на факт использования Вордпресс.

Чтобы удалить эту ссылку, добавьте эту строку в functions.php:

Удалите ссылку RSD из заголовков страниц

Если вы не пользуетесь сервисами Really Simple Discovery, такими как пингбэки, то нет необходимости отображать эти ссылки в хедере.

Если вы хотите скрыть факт использования Вордпресс, добавьте эту строку в functions.php:

Добавьте правила в wp-config.php

Файл wp-config.phpпо умолчанию находится в корневой папке сайта и является главным конфигурационным файлом Вордпресс.

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

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

У всех папок и файлов сайта должны быть правильные разрешения. Добавьте этот код в wp-config. Это правило дает всем файлам и папкам сайта максимальные права 644 и 755:

Файл wp-config находится в корневой папке сайта, дайте ему права доступа 400. Если сайт стал недоступен, дайте 440.

Для большей безопасности можно перенести файл на один уровень вверх. Этот уровень недоступен из интернета.

Для некоторых файлов и папок можно установить более сильные ограничения:

  1. Корневая папка сайта — /сайт.ru/public_html/ — 750
  2. .htaccess — /сайт.ru/public_html/.htaccess — 640
  3. wp-admin/ — /сайт.ru/public_html/wp-admin — 750
  4. wp-admin/js/ — /сайт.ru/public_html/wp-admin/js/ — 750
  5. wp-admin/index.php — /сайт.ru/public_html/wp-admin/index.php — 640
  6. wp-content/ — /сайт.ru/public_html/wp-content — 750
  7. wp-content/themes/ — /сайт.ru/public_html/wp-content/themes — 750
  8. wp-content/plugins/ — /сайт.ru/public_html/wp-content/plugins — 750
  9. wp-includes/ — /сайт.ru/public_html/wp-includes — 750

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

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

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

Для изменения префикса надо сделать изменения в файле wp-config.php и базе данных.

Добавьте правила в .htaccess

Файл .htaccess (Hypertext Access, Доступ к гипертексту) — это конфигурационный файл сервера, который находится в корневой папке сайта.

Сервер читает записи в этом файле перед тем, как пропустить трафик к сайту. Основное применение файла .htaccess — что-то куда-то перенаправлять, например, с http-версиии на https, или что-то запрещать.

Перенесите страницу авторизации на другой адрес

По умолчанию страница авторизации находится по адресу .../wp-login.php, но для уменьшения количества атак с перебором паролей вы можете перенести ее в другое место, например .../entrypage.html, .../ep или .../e72jkr4.

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

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

Запретите нумерацию пользователей

Если злоумышленник введёт в строку адреса ваш-сайт.ru/?author=1, он будет перенаправлен на страницу пользователя с ID = 1.

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

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

или:

Или добавьте этот код в functions.php:

Отключите XML-RPC

XML-RPC — это API интерфейс, который используется для доступа к сайту через мобильные приложения, для трекбэков и пингбэков и используется плагином Jetpack.

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

Чтобы полностью отключить XML-RPC, добавьте это правило в .htaccess:

Эти функции можно включить вручную или с помощью бесплатных плагинов. Я использую платную версию плагина Clearfy, в котором можно включить эти функции в несколько кликов:

Настройки защиты сайта плагина Clearfy Pro

В данный момент плагин версии 3.3.1 имеет 56 функций. Подробное описание на странице плагина.

Добавьте защиту от непреднамеренных загрузок вредоносного кода

Чтобы обезопасить посетителей сайта от загрузки вредоносного кода, добавленного хакерами, добавьте этот код:

Поддерживается в IE и в Хроме.

Добавьте защиту от некоторых типов XSS атак

Чтобы усилить защиту сайта от некоторых типов XSS атак, добавьте этот код:

Поддерживается в IE и в Хроме.

Добавьте защиту от кликджекинга

Этот тип атаки позволяет подменить клик на некотором сайте кликом на вашем сайте, то есть «украсть клик». Добавьте этот код в .htaccess:

Файрвол

В этом разделе собраны правила, которые защитят ваш сайт от 99,9% атак, вредоносных запросов, SQL-внедрений и всех других типов угроз.

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

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

Добавьте базовый файрвол

Добавьте это правило, чтобы запретить доступ к файлам wp-config.php, .htaccess, отключить показ версии PHP и ограничить размер загружаемого файла 10 Мб:

Отключите доступ к ненужным файлам

Несколько файлов после установки Вордпресс можно удалить. Но при обновлении Вордпресс readme.txt и license.txt появятся снова.

Защитите сайт от внедрения вредоносных скриптов

Хакеры пытаются изменить переменные GLOBALS и _REQUEST для того чтобы внедрить вредоносный код. Добавьте этот снипет, чтобы запретить добавлять код в существующие php файлы:

Заблокируйте вредоносные запросы

Этот код добавляет защиту от опасных запросов при XSS атаках:

Некоторые запросы каких-то тем или плагинов могут попасть под эти фильтры. Примените и проверьте на сайте.

Отключите HTTP-трассировку

Хакеры используют атаки на основе HTTP-трассировки (межсайтовой трассировки, XST), чтобы получить информацию из ответов сервера и из cookies. Обычно этот метод используется вместе с XSS атаками (межсайтовые запросы).

Добавьте этот код, чтобы отключить HTTP-трассировку:

Добавьте дополнительную фильтрацию символов

Добавьте этот код для фильтрации вредоносных запросов, используемых в XSS атаках.

Этот снипет находит типичные для вредоносного кода паттерны и возвращает хакеру ошибку 403 (доступ запрещен).

В зависимости от настроек хостинга некоторые правила могут нарушить работу сайта. Примените и проверьте на сайте.

Добавьте 7G, 6G файрвол

Это простой, но мощный файрвол, работающий на уровне сервера. Файрвол защищает сайт от большого количества вредоносных запросов, хакерских ботов, спам ссылок, XSS атак, SQL/PHP внедрений и других типов атак.

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

В новой версии 7G 1.1 исправлено несколько ложных срабатываний, файрвол активно тестируется, разработчик постоянно над ним работает. Используйте на свое усмотрение.

Файрвол 6G — предыдущая версия этого же файрвола, которая разрабатывалась и тестировалась на протяжении нескольких лет. Это последняя версия файрвола 6G, которую можно безопасно использовать.

Файрвол усиливает безопасность сайта, уменьшает нагрузку на сервер и сохраняет его ресурсы.

Можно использовать только 7G, можно использовать вместе с 7G, конфликта не будет:

Бонус. Подключение сайта к CDN

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

Одни сервисы берут фиксированную плату за месяц с безлимитным трафиком, другие сервисы берут плату за использованный трафик. Sucuri предлагает фирменный CDN Anycast вместе с любым платным тарифом.

Кроме этих сервисов есть несколько бесплатных с ограниченным функционалом.

Плагин WP Super Cache от производителя Automattic, часть разработчиков которого являются разработчиками Вордпресс, предлагает подключение к бесплатному CDN.

WP Super Cache копирует файлы из папок wp-content, wp-include и других, на CDN. Это могут быть статичные файлы, кроме php-файлов: картинки, java-скрипты и css файлы.

Подключение к CDN WP Super Cache

WP Super Cache менее мощный плагин, чем W3 Total Cache или другие комбайны. В WP Super Cache нет минификации и объединения css и javascript файлов, нет кеша в браузере, кеширования базы данных и других функций.

Объединение css и javascript файлов добавит 1-2 балла в тесте Гугл, и часто вызывает проблемы, особенно javascript. Некоторые пользователи не используют объединение, или используют по минимуму.

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

Jetpack - ускорение сайта. Подключение к CDN.
Jetpack — Performance — Performance & Speed

Картинки, css и js файлы копируются и доставляются посетителю из ближайшего сервера.

Здесь же можно включить lazy load для картинок.

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

Замените ваш-сайт в строке 6 на ваш домен.

Читайте также:

  1. Максимальная безопасность Вордпресс
  2. Как усилить защиту Security Ninja Pro до лучших премиум-плагинов безопасности
  3. Безопасность Вордпресс. Подробное руководство

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

Оставьте комментарий

Do NOT follow this link or you will be banned from the site!