»  Безопасность  »  Подробное описание Security Ninja Pro

Подробное описание Security Ninja Pro

Последнее обновление:
Подробное описание Security Ninja Pro

Безопасность сайта стоит на первом месте. Security Ninja Pro — мощный инструмент для анализа состояния безопасности сайта, исправления найденных уязвимостей и поддержания безопасности сайта на шаг впереди хакеров благодаря использованию облачной базы вредоносных IP.

Security Ninja относительно небольшой, но очень мощный плагин безопасности, который защищает сайт от хакеров.

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

Содержание:

  1. Диагностика безопасности сайта
  2. Сканер ядра Вордпресс
  3. Сканер файлов сайта
  4. Логи событий
  5. Сканер сайта по расписанию
  6. Очистка и оптимизация базы данных
  7. Облачный файрвол

Диагностика безопасности сайта

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

Security Ninja Pro - анализ безопасности сайта
Security Ninja Pro - проверка обновлений софта

Check if WordPress core is up to date — Проверьте, что у вас последняя версия Вордпресс. Регулярное обновление Вордпресс — основа безопасности сайта. Когда хакеры или пользователи находят уязвимость в Вордпресс, информация по использованию этой уязвимости появляется в открытом доступе. То есть сайты с устаревшей версией Вордпресс более уязвимы для атак, чем сайты с последней версией. Это одна из основных причин, почему у вас всегда должна быть последняя версия Вордпресс.

Обновляйте Вордпресс в КонсольОбновления. Перед обновлением можно сделать бэкап.

Check if automatic WordPress core updates are enabled — Проверьте, что у вас включено автоматическое обновление Вордпресс. Если вы не используете Вордпресс с большим количеством своих настроек, когда требуется тщательное тестирование каждого обновления, рекомендуется включить автоматическое обновление минорных версий.

Check if plugins are up to date — Проверьте, что все плагины обновлены. Так же, как с обновлением Вордпресс, обновляйте плагины до последних версий, это один из самых важных и самых простых способов повысить безопасность сайта. Так как большинство плагинов являются бесплатными и публично доступны, обновляйте плагины до последних версий, чтобы не иметь известных уязвимостей устаревших версий.

Если вы установили плагин из официального репозитария Вордпресс, проверьте обновления в КонсольОбновления. Если вы купили плагин где-то еще, проверьте в описании плагина как он обновляется. Перед обновлением рекомендуется сделать бэкап.

Check if there are deactivated plugins — Проверьте, что у вас нет деактивированных плагинов. Если вы не используете какие-то плагины, просто удалите их. Даже если плагин не используется, хакеры все равно могут использовать уязвимости неиспользуемых плагинов, чтобы попасть на сайт. Большое количество кода повышает вероятность найти в нем уязвимость.

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

Check if active plugins have been updated in the last 12 months — Проверьте, что последние обновления активных плагинов было не более 12 месяцев назад. Плагины, которые не обновлялись больше года, могут быть заброшены разработчиками. Хакеры могут использовать найденные уязвимости, которые разработчики не устранили. Будьте осторожны, если используете такие плагины. Более подробную информацию об устаревших плагинах можно найти на WP Loop.

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

Check if active plugins are compatible with your version of WP — Проверьте, что активные плагины совместимы с вашей версией Вордпресс. Плагины, которые несовместимы с вашей версией Вордпресс, могут вызывать непредсказуемое поведение сайта, отключать сайт или просто вызывать проблемы. В большинстве случаев небольшие несовместимости можно проигнорировать, но такие плагины обычно старые и не обновлялись несколько лет. Используйте плагины, которые тестировались с последней версией Вордпресс.

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

Check if themes are up to date — Проверьте, что все темы обновлены. Так же, как с обновлением Вордпресс и плагинов, использование последней версии темы — один из самых важных и самый простой способ поддерживать безопасность сайта. Так как большинство тем бесплатные и свободно доступны, использование последней версии гарантирует, что в вашей теме нет известных уязвимостей. Также последняя версия темы гарантирует, что она совместима с последней версией Вордпресс.

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

Check if there are deactivated themes — Проверьте, что у вас нет деактивированных тем. Если вы не используете тему, просто удалите ее. Даже если тема неактивна, хакеры все равно могут использовать уязвимости неиспользуемых тем, чтобы попасть на сайт.

Откройте Внешний видТемы и удалите все неиспользуемые темы. Или зайдите на сервер через FTP и перенесите неиспользуемые темы в другую папку.

Security Ninja Pro - проверка версий ПО

Check if full WordPress version info is revealed in page’s meta data — Проверьте, что версия Вордпресс не отображается на страницах сайта в метаданных. По умолчанию Вордпресс оставляет мета теги на страницах сайта для отслеживания количества сайтов, работающих на Вордпресс. Эта же информация используется хакерами для атаки на сайты с устаревшей версией Вордпресс, описание уязвимостей которых находится в свободном доступе.

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

Check if readme.html file is accessible via HTTP on the default location — Проверьте, что readme.html недоступен на своем месте. После установки Вордпресс некоторые файлы можно удалить, один из них — readme.html. В более ранних версиях Вордпресс в этом файле содержалась версия Вордпресс. Сейчас не содержится, но файл все равно можно удалить.

Удалите этот файл, переименуйте, например, readme-876.html, перенесите в другое место или запретите к нему доступ.

Check the PHP version — Проверьте версию PHP. Использование устаревших версий PHP замедляет сайт и делает сайт открытым для атак на устаревшие версии PHP. Используйте PHP версии не ниже 5.6.

Зайдите на хостинг и измените используемую версию PHP, или попросите техподдержку изменить версию. Вордпресс рекомендует использовать версию 7.2. Если ваш хостинг не поддерживает PHP версии 7.Х — смените хостинг.

Check the MySQL version — Проверьте версию MySQL. Использование устаревших версий MySQL замедляет сайт и открывает сайт для атак на известные уязвимости устаревших неподдерживаемых версий MySQL.

Используйте версию как минимум 5.6. Если ваша версия ниже, попросите ваш хостинг обновить версию. Если хостинг не может обновить — смените хостинг.

Check if server response headers contain detailed PHP version info — Проверьте, что хедер не содержит информацию о версии PHP. Версию Вордпресс лучше скрыть, версию PHP тоже лучше скрыть.

Добавьте этот код в .htaccess. Если не сработает, попросите техподдержку скрыть версию php:

Check if expose_php PHP directive is turned off — Проверьте, что правило expose_php выключено. Откройте файл php.ini в корневой папке сайта. Найдите expose_php = on и замените на expose_php = off.

Если у вас нет файла php.ini, создайте его в корневой папке и добавьте expose_php = off.

Security Ninja Pro - настройка плагина

Check if user with username «admin» exists — Проверьте, что не существует пользователя с именем «admin». Когда кто-то пытается подобрать логин и пароль к сайту, вручную или автоматически, логин «admin» определенно будет в числе первых попыток. Этот логин дается по умолчанию во время установки Вордпресс, и должен быть изменен.

Создайте нового пользователя в ПользователиДобавить нового и назначьте ему роль Администратора. Не называйте пользователя «god», «root», «null» и подобными именами. Удалите старого Администратора и назначьте нового Админа автором Записей / Страниц, которые создал старый.

Check if «anyone can register» option is enabled — Проверьте, что опция «Любой может зарегистрироваться» отключена. Оставьте эту опцию включенной только если у вас форум или какое-то другое сообщество. Хотя регистрация на сайте дает очень ограниченный контроль над бэкендом сайта, это хорошее начало для дальнейшего поиска уязвимостей в безопасности.

Перейдите в НастройкиОбщиеЧленство и отключите галочку «Любой может зарегистрироваться».

Настройки - Общие - Членство, "Любой может зарегистрироваться"

Check user’s password strength with a brute-force attack — Проверьте пароли пользователей на стойкость к атакам с перебором паролей (brute-force attack). Security Ninja имеет базу 600 самых распространенных паролей и проверяет пароли пользователей на совпадение с паролями в базе. Любой аккаунт, который не прошел этот тест, представляет серьезную проблему безопасности, потому что подобрать пароль из списка самых используемых, например, «12345», «qwerty», «god», и так далее, можно за несколько минут. Предупредите этих пользователей, или измените их пароли немедленно.

По умолчанию Security Ninja проверяет только 5 первых пользователей. Этот лимит установлен, чтобы не перегружать базу данных при выполнении брут-форс атак. Если вы хотите протестировать больше или все аккаунты, откройте файл sn-test.php, и измените значение в строке #763:

Check for display of unnecessary information on failed login attempts — Проверьте, что во время авторизации на сайте Вордпресс не показывает лишнюю информацию. Когда посетитель на странице авторизации вводит неправильный логин или пароль, Вордпресс показывает сообщение с ошибкой, в котором написано, что именно неверно, — логин или пароль. Это дает хакеру подсказку, что логин или пароль верный.

Сообщение с ошибкой "Неверный пароль"


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

Check if database table prefix is the default one (wp_) — Проверьте, что префикс базы данных не является стандартным (wp_). Знание имен таблиц базы данных может помочь хакеру сбросить данные таблиц и добраться до конфиденциальной информации, например, хешей паролей. Так как таблицы Вордпресс имеют стандартные имена, все, что можно сделать — изменить префикс таблиц на уникальный, не wp_  и не wordpress_.

Это легко можно сделать во время установки Вордпресс. Измените префикс базы данных в установщике Вордпресс или в файле wp-config.php. Спуститесь к строке #61 и замените стандартный префикс «wp_» на что-то более уникальное, например, «tk73v9_».

Если сайт уже установлен, это сделать сложнее. Чтобы изменить префикс базы данных, надо изменить его в базе данных с помощью phpMyAdmin или аналогичного софта. Security Ninja делает это в один клик с Auto Fixer.

Сделайте бэкап сайта и базы данных перед любыми изменениями в базе данных.

Check if security keys and salts have proper values — Проверьте, что ключи и соли имеют правильные значения. Ключи и соли используются для шифрования информации, хранящейся в cookies браузера. Они усиливают безопасность информации и делают сайт более защищенным от взлома. Вам не нужно помнить эти ключи, они создаются автоматически при установке Вордпресс.

Ключи и соли определены как константы в файле wp-config.php и находятся в строках #49-56. Если у вас нет ключей, создайте их в официальном генераторе ключей Вордпресс.

Генератор создает 8 строк, скопируйте и вставьте в wp-config.php:

Не используйте эти ключи, потому что они доступны публично и поэтому небезопасны. Создайте свои собственные ключи.

Check the age of security keys and salts — Проверьте возраст ключей и солей. Рекомендуется менять ключи и соли время от времени. После смены ключей все кукис станут недействительными. Это значит, что никто не сможет залогиниться со старыми или украденными кукис.

Генератор ключей Вордпресс. Создайте ключи, скопируйте и вставьте в wp-config.php вместо старых.

Test the strength of WordPress database password — Проверьте силу пароля к базе данных. Хотя большинство серверов настроено так, что доступ к базе данных не может быть получен из других мест (или снаружи локальной сети), это не значит, что пароль может быть «12345». Используйте сложный пароль, минимум из 8 символов с цифрами, буквами и специальными символами.

Чтобы изменить пароль базы данных, зайдите на хостинг и откройте базу данных. Найдите настройку изменения пароля базы данных и измените пароль и сохраните изменения. Откройте wp-config.php и измените пароль в строке #29.

Security Ninja Pro - проверьте, что все режимы отладки выключены

Check if general debug mode is enabled — Проверьте, что основной режим отладки выключен. Отключите любой режим отладки (в этом случае основной режим отладки) и отчет об ошибках, отображаемый во фронт-энде. Это не только замедляет сайт и пугает посетителей странными сообщениями, но и показывает потенциальному злоумышленнику ценную информацию о вашем сайте.

Основной режим отладки включается/выключается константой, определенной в wp-config.php. Откройте файл и найдите строку:

Закомментируйте эту строку, удалите или замените true на false:

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

Check if database debug mode is enabled — Проверьте, что режим отладки базы данных выключен. Отключите любой режим отладки (в этом случае режим отладки базы данных) и отчет об ошибках, отображаемый во фронт-энде. Это не только замедляет сайт и пугает посетителей странными сообщениями, но и показывает потенциальному злоумышленнику ценную информацию о вашем сайте.

Режим отладки базы данных включается этой командой:

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

Check if JavaScript debug mode is enabled — Проверьте, что режим отладки JavaScript выключен. Отключите любой режим отладки (в этом случае режим отладки JavaScript) и отчет об ошибках, отображаемый во фронт-энде. Это не только замедляет сайт и пугает посетителей странными сообщениями, но и показывает потенциальному злоумышленнику ценную информацию о вашем сайте.

Режим отладки JavaScript включается/выключается константой, определенной в wp-config.php. Откройте файл и найдите строку:

Закомментируйте эту строку, удалите или замените true на false:

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

Check if display_errors PHP directive is turned off — Проверьте, что PHP директива display_errors отключена. Показ любой отладочной или подобной информации на сайте — очень плохая идея. Когда на сайте появляются PHP ошибки, информация о них должна записываться в лог файл, и не показываться посетителям или потенциальным хакерам.

Откройте wp-config.php и поместите этот код прямо над строкой require_once в конце файла:

Если это не сработало, добавьте этот код в .htaccess:

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

Security Ninja Pro - разрешения файловой структуры

Check if WordPress installation address is the same as the site address — Адрес установки Вордпресс не должен быть таким же, как адрес сайта. Переместите файлы Вордпресс в новую папку, это сделает сайт менее уязвимым для автоматических атак. Большинство ботов используют для своих атак стандартные адреса расположения важных файлов, которые описаны в документации Вордпресс.

Если ваш сайт находится по адресу www.сайт.ru, вы можете перенести файлы сайта из стандартного места /var/www/vhosts/сайт.ru/www/ в новую папку /var/www/vhosts/сайт.ru/www/my-app/.

Адрес сайта и установки Вордпресс можно изменить в НастройкиОбщие. Перед тем как переносить сайт в новую папку читайте эту статью:

Security Ninja может это сделать с помощью функции Auto Fixer. Введите имя новой папки, сохраните изменения и авторизуйтесь на сайте еще раз.

Check if wp-config.php file has the right permissions (chmod) set — Проверьте, что файл wp-config.php имеет правильные разрешения (chmod). Файл wp-config.php содержит важную информацию (логин и пароль к базе данных), и не должен быть доступен никому, кроме вас и сервера.

Какие права доступа дать wp-config.php зависит от настроек вашего сервера, если ваш хостинг работает на Windows, то просто проигнорируйте все следующее:

  • Попробуйте дать wp-config.php права доступа 400 или 440. Если сайт работает нормально, так и оставьте.
  • Последняя цифра в правах доступа должна быть «0».
  • Вторая цифра должна быть «0» или «4» в зависимости от того, к какой группе пользователей относится сервер Apache.

Auto Fixer изменит права доступа к файлу wp-config.php на 440.

Check if install.php file is accessible via HTTP on the default location — Проверьте, что install.php недоступен по HTTP на своем стандартном месте. С этим файлом было несколько случаев, связанных с безопасностью сайта, поэтому его лучше удалить, переименовать или запретить к нему доступ.

После установки Вордпресс этот файл больше не нужен, поэтому нет смысла хранить его на сервере и иметь к нему доступ. Файл находится в папке wp-admin, переименуйте его в install-876.php, удалите или измените права доступа, чтобы он не был доступен по HTTP.

Auto Fixer переименовывает этот файл.

Check if upgrade.php file is accessible via HTTP on the default location — Проверьте, что upgrade.php недоступен по HTTP на своем стандартном месте. С этим файлом было несколько случаев, связанных с безопасностью сайта. Кроме этого, давать возможность посторонним запускать скрипты обновления базы данных без вашего ведома не самая лучшая идея. Это полезный файл, но он должен быть недоступен на своем месте.

Эту проблему просто решить. Дайте файлу другое имя (он находится в папке wp-admin), например, upgrade-876.php, переместите файл в другое место или запретите к нему доступ в правах доступа. Не удаляйте этот файл, он может пригодиться в будущем.

Check if register_globals PHP directive is turned off — Проверьте, что PHP директива register_globals выключена. Это одна из самых больших проблем безопасности, которая может быть на вашем сайте! Если на вашем хостинге эта директива включена по умолчанию, немедленно смените хостинг! Больше информации об этой проблеме в документации PHP.

Если у вас есть доступ к файлу php.ini, найдите эту строку:

и замените на:

Другой способ — откройте .htaccess и добавьте эту строку:

Если с помощью этих двух способов у вас не получилось отключить register_globals — обратитесь к профессионалам.

Check if PHP safe mode is disabled — Проверьте, что безопасный режим PHP выключен. Безопасный режим PHP является попыткой решения проблемы безопасности на виртуальном сервере. С точки зрения архитектуры, неправильно решать эту проблему на уровне PHP, но так как альтернативы на уровне веб сервера или ОС не очень реалистичны, многие люди, особенно интернет провайдеры, используют безопасный режим. Если ваш хостинг использует безопасный режим, лучше смените хостинг. Эта функции больше не поддерживается с версии PHP 5.3, которая является устаревшей.

Если у вас есть доступ к php.ini, найдите эту строку:

и замените на:

Check if allow_url_include PHP directive is turned off — Проверьте, что PHP директива allow_url_include отключена. Эта включенная директива открывает сайт для межсайтовых атак (XSS). Нет причин для включения этой директивы или использования php кода, которому требуется эта директива. Это очень опасно.

Если у вас есть доступ к php.ini, найдите эту строку:

и замените на:

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

Подробное описание Security Ninja Pro

Check if plugins/themes file editor is enabled — Проверьте, что редактор плагинов и тем выключен. Редактор плагинов и тем очень удобный инструмент, который позволяет делать изменения в файлах без необходимости пользоваться FTP. К сожалению, это также проблема безопасности, потому что редактор файлов позволяет хакеру добавлять вредоносный код в файлы сайта, если он получит доступ в админку.

Чтобы отключить редактор файлов, добавьте этот код в functions.php:

Нажмите Apply Fix, Auto Fixer сделает это за вас.

Check if uploads folder is browsable by browsers — Проверьте, что папка uploads недоступна через браузер. Папка uploads находится по адресу ваш-сайт.ru/wp-content/uploads. Папка должна быть закрыта от просмотра, чтобы никто не мог ничего загрузить из этой папки.

Откройте .htaccess и добавьте в него этот код:

Test if user with ID «1» exists — Проверьте, что пользователь с ID «1» не существует. Хотя технически это не проблема безопасности, существование пользователя с ID 1 (в 99% случаев это администратор) может помочь хакерам в некоторых обстоятельствах.

Создайте нового пользователя с правами администратора. После этого удалите старого администратора с ID 1, и присвойте весь контент, созданный старым администратором, новому администратору.

Auto Fixer изменит ID пользователя с ID 1 следующему доступному ID в таблице пользователей. После применения этого исправления нужно будет авторизоваться на сайте еще раз.

Check if Windows Live Writer link is present in pages’ header data — Проверьте, что ссылка Windows Live Writer не отображается в заголовках страниц. Если вы не используете Windows Live Writer, то лучше удалить эту ссылку из заголовков, потому что она указывает на факт использования Вордпресс.

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

Check if wp-config.php is present on the default location — Проверьте, что файл wp-config.php не находится на своем стандартном месте. Если кто-то получит доступ к вашему серверу по FTP, этот способ не поможет, но он определенно несколько замаскирует вашу установку Вордпресс.

Чтобы применить это исправление, вы можете перенести wp-config.php на один уровень вверх. Если ваш файл находится по адресу /home/www/wp-config.php, переместите файл в /home/wp-config.php.

Или в /home/www/ваш-сайт/wp-config.php, перенесите в /home/www/wp-config.php.

Auto Fixer перенесет файл на один уровень вверх.

Check if MySQL server is connectable from outside with the WP user — Проверьте, что к MySQL серверу нельзя подключиться снаружи локальной сети. Так как имя и пароль MySQL аккаунта записаны обычным текстом в файле wp-config.php, рекомендуется разрешать подключение к MySQL только с локального сервера (localhost). Если вы позволите подключаться к базе данных с любого хоста, это сделает некоторые атаки намного легче.

Это исправление предполагает изменение пользователя MySQL или настроек сервера, что не так просто. Мы советуем обратиться к кому-то, кто может сделать это за вас. Если вы хотите сделать это самостоятельно, создайте нового MySQL пользователя и в поле «hostname» введите «localhost». Настройте поля имени и пользователя и пароль и обновите данные в файле wp-config.php.

Check if EditURI link is present in pages’ header data — Проверьте, что ссылка EditURI (XML-RPC) не присутствует в заголовках страниц. Если вы не пользуетесь сервисами Really Simple Discovery, такими как пингбэки, нет необходимости рекламировать такие ссылки в хедере. Обратите внимание, что для некоторых сайтов это не проблема безопасности, потому что они «хотят быть обнаруженными», но если вы хотите скрыть факт использования Вордпресс, то добавьте эту строку в functions.php:

Чтобы полностью отключить XML-RPC, добавьте эту строку в wp-config.php сразу после строки require_once(ABSPATH . 'wp-settings.php');:

Также добавьте этот код в .htaccess, чтобы предотвратить DDoS атаки:

Security Ninja Pro - проверка на уязвимости, установку SSL сертификата, разрешения MySQL и нумерация пользователей

Check if Timthumb script is used in the active theme — Проверьте, что скрипт Timthumb не используется в активной теме. Мы не рекомендуем использовать скрипт Timthumb для манипуляций с изображениями. Кроме того, что были проблемы с безопасностью в некоторых версиях скрипта TimThumb, в Вордпрессе есть свой собственный встроенный функционал для действий с картинками, который вы можете использовать. Свяжитесь с разработчиком темы и попросите его обновить тему. Скорее всего, вы не сможете исправить эту проблему самостоятельно.

Check if the server is vulnerable to the Shellshock bug #6271 — Проверьте, что сервер имеет защиту от бага Shellshock #6271. Shellshock, также известный как Bashdoor — группа багов в безопасности широко используемой оболочки Unix Bash. Веб сервера используют Bash, чтобы обрабатывать определенные команды. Хакеры используют уязвимые версии Bash для выполнения произвольных команд. Это может позволить злоумышленнику получить доступ к системе. Хотя этот баг не относится к Вордпрессу напрямую, он вызывает много проблем.

Обратитесь к администратору сервера и попросите его обновить оболочку Bash.

Check if the server is vulnerable to the Shellshock bug #7169 — Проверьте, что сервер имеет защиту от бага Shellshock #7169. Shellshock, также известный как Bashdoor — группа багов в безопасности широко используемой оболочки Unix Bash. Веб сервера используют Bash, чтобы обрабатывать определенные команды. Хакеры используют уязвимые версии Bash для выполнения произвольных команд. Это может позволить злоумышленнику получить доступ к системе. Хотя этот баг не относится к Вордпрессу напрямую, он вызывает много проблем.

Обратитесь к администратору сервера и попросите его обновить оболочку Bash.

Check if admin interface is delivered via SSL — Проверьте, что интерфейс администратора доступен через SSL. Вам следует использовать HTTPS на всем сайте, это делает сайт более безопасным и с начала 2017 года наличие SSL является одним из факторов ранжирования сайтов Гугл. Если по каким-то причинам вы не хотите использовать SSL на всем сайте, используйте его для защиты админки. Некоторые хостинг компании берут высокую плату за SSL сертификаты, но вы можете получить бесплатный сертификат в Let’s Encrypt. Если у вас нет сертификата, вы все равно можете попробовать запустить админку через HTTPS. В зависимости от настроек сервера это может сработать. Но лучше закажите выпуск сертификата.

Чтобы включить использование SSL в админке, добавьте эту строку в wp-config.php:

Check if MySQL account used by WordPress has too many permissions — Проверьте, что MySQL аккаунт, используемый Вордпресс, не имеет слишком много прав. Если хакер получит доступ к файлу wp-config.php и узнает логин и пароль к базе данных, он сможет зайти в базу данных и делать все, что разрешено этому аккаунту. Поэтому безопаснее дать аккаунту только необходимый минимум привилегий. Например, если вы не устанавливаете новые плагины или не обновляете Вордпресс, этому аккаунту не нужны привилегии CREATE или DROP.

Для обычного ежедневного использования рекомендованные привилегии SELECT, INSERT, UPDATE и DELETE. Для обновления Вордпресс нужна привилегия ALTER. Привилегии аккаунтов в MySQL могут быть настроены в cPanel, но мы рекомендуем обратиться к профессионалам, если раньше вы не делали таких изменений.

Test if the list of usernames can be fetched by looping through user IDs — Проверьте, что список пользователей сайта нельзя получить с помощью специального запроса. Имена пользователей, в отличие от паролей, не являются секретом. Если вы знаете чье-то имя пользователя, вы не можете войти в его аккаунт, вам нужен пароль. Однако знание логина делает вас на один шаг ближе ко входу в аккаунт. Поэтому рекомендуется хранить список пользователей сайта в секрете. По крайней мере в некоторой степени.

Если вы наберете в адресной строке ваш-сайт.ru/?author={id}, и будете подставлять все ID, начиная с первого, вы получите список всех пользователей, потому что Вордпресс будет перенаправлять вас страницу пользователя ваш-сайт.ru/author/username/, если такой ID существует в системе.

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

Нажмите Apply Fix, чтобы исправить эту проблему автоматически.

Сканер ядра Вордпресс

Пожалуйста, прочтите! Файлы сканируются и сравниваются с оригинальными файлами на wordpress.org с помощью алгоритма хэширования MD5. Не каждое изменение файлов ядра является вредоносным и изменения могут служить приемлемой цели. Однако если вы не разработчик, и вы не изменяли файлы самостоятельно, изменения в файлах скорее всего означают взлом.

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

Сканер ядра Вордпресс, Security Ninja Pro

Плагин просканировал 1293 файла, 1291 файл без изменений, 2 файла — readme.html и wp-config-sample.php — отсутствуют.

Если вы нажмете кнопку Restore File, копия оригинального файла скачается с wordpress.org и заменит модифицированный или отсутствующий файл. Обратите внимание, что это действие нельзя отменить!

Сканер файлов сайта

Пожалуйста, прочтите! Сканер файлов использует метод эвристического анализа, который сравнивает содержание файлов с часто используемыми хакерами функциями и паттернами кода. Обратите внимание, что Сканер файлов может отметить файл как содержащий вредоносный код, хотя на самом деле файл НЕ содержит вредоносный код, но какой-то участок кода выглядит подозрительно. Поэтому очень важно пройти все файлы вручную и просмотреть участки кода, отмеченные сканером. Если вы уверены, что файлы безопасны — переместите их в белый список.

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

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

Сканирование файлов Вордпресс, Security Ninja Pro

Нажмите Whitelist File для переноса файла в белый список. Нажмите Delete File для удаления файла с сервера.

Внизу списка кнопка Reset Whitelisted Files List для сброса Белого списка.

Логи событий

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

Журнал событий, Security Ninja Pro
Журнал событий Security Ninja Pro

Нажмите кнопку Settings для настройки журнала оповещений:

Настройки журнала событий, Security Ninja Pro

Email Reports — Оповещения на е-мейл. Отправляет на е-мейл указанное количество последних событий с подозрительной активностью.

  • Не отправлять отчеты (по умолчанию)
  • 1 Событие (не рекомендуется)
  • 2 События
  • 3 События
  • 5 Событий
  • 10 Событий
  • 20 Событий

По умолчанию отключено.

Modules Included in Email Reports — Какие модули включены в оповещения. Вы можете отключить модули, оповещения которых вы не хотите получать:

  • Комментарии
  • Редактирование файлов
  • Установка файлов
  • Медиа
  • Меню
  • Записи
  • Security Ninja
  • Настройки
  • Таксономии
  • Пользователи
  • Виджеты

По умолчанию все модули включены в оповещения по е-мейл.

Email Recipient — Получатель. Укажите е-мейл, на который вы хотите получать оповещения. По умолчанию е-мейл администратора.

Log Retention Policy — Время хранения лога. Для сохранения места на диске логи автоматически удаляются в зависимости от настройки:

  • Сохраняются 100 событий
  • Сохраняются 200 событий
  • Сохраняются 500 событий
  • Сохраняются 1000 событий
  • Сохраняются события за 7 дней
  • Сохраняются события за 15 дней
  • Сохраняются события за 30 дней
  • Сохраняются события за 45 дней

По умолчанию сохраняются события за последние 7 дней.

Miscellaneous — Delete All Log Entries. Разное — Удалить все записи в логе. Эта опция удаляет все записи из базы данных. Обратите внимание, что это действие НЕЛЬЗЯ отменить.

Сканер сайта по расписанию

Пожалуйста, прочтите! Функция крон-расписания в Вордпресс для выполнения своих задач зависит от посетителей сайта. Задачи крон-расписания выполняются когда на сайт заходит посетитель. Если на вашем сайте очень мало посетителей, сканер сайта не будет работать с регулярным заданным интервалом. На сайте Wptuts+ есть хорошая статья (англ.) как настроить крон-расписание, чтобы оно выполнялось, даже если на сайте очень мало посетителей.

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

Сканирование сайта по расписанию, Security Ninja Pro

Scan Settings — Настройки сканирования.

  • Сканирование отключено
  • Сканировать ядро Вордпресс
  • Сканировать файлы сайта на наличие вредоносного кода
  • Оба сканирования

Выберите свой вариант.

Scan Schedule — Расписание сканирования.

  • Каждые 5 минут
  • Каждый час
  • Два раза в день (рекомендуется)
  • Каждый день
  • Каждую неделю
  • Каждый месяц

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

Email Report — Оповещения на е-мейл. В зависимости от количества сообщений, которое вам нравится получать на е-мейл, вы можете получать отчеты о всех сканированиях или только те, в которых что-то изменилось.

  • Не посылать никаких сообщений
  • Посылать сообщение после каждого сканирования
  • Посылать сообщение только если результат изменился
Лог сканера, Security Ninja Pro
Лог сканера сайта

Email Recipient — Получатель. Введите получателя оповещений (обычно админ сайта).

Delete All Log Entries — Удалить все записи лога.

Очистка и оптимизация базы данных

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

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

Очистка и оптимизация базы данных

Для очистки и оптимизации базы данных нажмите кнопку Run All Optimizations в правом верхнем углу.

Облачный файрвол

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

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

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

Облачный файрвол SecurityNinja Pro

Disable Firewall — Отключить файрвол.

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

Prevent Banned IPs from Accessing the Site — Не разрешать забаненным IP посещать сайт. Переключатель в положении ON запрещает забаненным IP посещать сайт. В положении OFF посетители с забаненных IP не смогут авторизоваться на сайте, но смогут просматривать сайт. Мы рекомендуем оставить в положении OFF до тех пор пока вы не увидите большой трафик с плохих IP, который будет путать статистику. Вы все еще будете иметь хорошую защиту.

Message for banned IPs — Сообщение для забаненных IP. Введите свое сообщение.

Auto-ban rules for failed login attempts — Правила автоматического бана для неудачных попыток авторизации. Пользователи, которые несколько раз подряд ввели неправильный логин или пароль, будут забанены. Пять неудачных попыток за пять минут — хороший порог.

Login notice — Сообщение на странице авторизации. Введите ваше сообщение.

Whitelisted IPs — IP в белом списке. Один IP или маска подсети на отдельных строках.

Locally Banned IPs — Локально забаненные IP. IP, забаненные за превышение количества попыток авторизации.

Secret Access URL — Секретный URL доступа. Никому не показывайте этот адрес! Используйте этот адрес только если ваш IP был забанен.

Test IP — Проверка IP. Введите IP адрес, чтобы проверить, находится ли он в списке забаненных.

Если информация была полезна, купите плагин по моей ссылке:

1 Сайт

Годовая лицензия
$ 29 1 год обновлений
  • Сканер сайта
  • Защита сайта
  • Техподдержка

1 Сайт

Life-time лицензия
$ 89 Life-time лицензия
  • Сканер сайта
  • Защита сайта
  • Техподдержка

10 Сайтов

Годовая лицензия
$ 99 1 год обновлений
  • Сканер сайта
  • Защита сайта
  • Техподдержка

Заключение:

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

Главная ценность этого плагина в том, что у него есть два сканера сайта по расписанию и подключение к облачной базе данных вредоносных IP. Этих функций нет ни в одном бесплатном плагине, в этом плагине это стоит 42$ с life-time лицензией на 1 сайт.

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

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

  1. Чек-лист: Что делать, если сайт взломали
  2. Как вылечить сайт от вирусов

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

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

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