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

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

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

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

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

В данной статье мы рассмотрим:

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

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

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

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

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

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

  • Почему у вас должна быть последняя версия WordPress

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

  • Ручное и Автоматическое обновление WordPress, плагинов и тем

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

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

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 — Проверьте, что активные плагины совместимы с версией WordPress. Плагины, которые несовместимы с версией WordPress, могут вызывать непредсказуемое поведение веб-сайта, отключать веб-сайт или просто вызывать проблемы. В большинстве случаев небольшие несовместимости можно легко проигнорировать, но такие плагины обычно старые и не обновлялись пару лет. Используйте плагины, которые тестировались с последней версией WordPress.

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

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

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

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

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

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

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

Чтобы скрыть версию WordPress, добавьте этот программный код в functions.php:

  • Как скрыть версию WordPress, плагинов, скриптов и стилей 
  • Файл functions.php

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

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

  • Удалите файл readme.html и иные неиспользуемые файлы

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

  • PHP 7.X в два раза быстрее PHP 5.6

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

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

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

Check if server response headers contain detailed PHP version info — Проверьте, что хедер не включает информацию о версии PHP. Версию WordPress лучше скрыть, версию 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» определенно будет в числе первых попыток. Этот логин дается по умолчанию во время установки WordPress, и должен быть изменен.

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

  • Как настроить имя посетителя Admin в WordPress

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

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

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

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 — Проверьте, что во время авторизации на веб-сайте WordPress не показывает лишнюю информацию. Когда пользователь на странице авторизации вводит неправильный логин или пароль, WordPress показывает сообщение с ошибкой, в котором написано, что неверно, — логин или пароль. Это дает хакеру подсказку, что логин или пароль верный.

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

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

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

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

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

  • Как настроить префикс базы данных

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

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

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

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

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

  • Ключи и соли WordPress

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

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

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

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

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

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

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

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

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

  • Режим отладки WordPress

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 — Адрес установки WordPress не должен быть таким же, как адрес веб-сайта. Переместите файлы WordPress в новую папку, это сделает веб-сайт менее уязвимым для автоматических атак. Большинство ботов используют для ваших атак стандартные адреса расположения важных файлов, которые описаны в документации WordPress.

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

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

  • Как настроить файловую структуру WordPress

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 на стандартном месте. С данным файлом было пару случаев, связанных с безопасностью веб-сайта, так что его лучше удалить, переименовать или запретить к нему доступ.

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

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

  • Удалите файл install.php и иные неиспользуемые файлы

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, то лучше удалить эту ссылку из заголовков, так как она указывает на факт использования WordPress.

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

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

Чтобы применить это исправление, вы можете перенести 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, такими как пингбэки, нет необходимости рекламировать такие ссылки в хедере. Обратите внимание, что для некоторых веб-сайтов это не проблема безопасности, так как они «хотят быть обнаруженными», но если вы хотели бы скрыть факт использования WordPress, то добавьте эту строку в functions.php :

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

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

  • Как отключить XML-RPC
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 аккаунт, используемый WordPress, не имеет в себя слишком много прав. Если хакер получит доступ к файлу wp-config.php и узнает логин и пароль к базе данных, он сможет зайти в базу данных и делать все, что разрешено данному аккаунту. Так что безопаснее дать аккаунту только необходимый минимум привилегий. К примеру, если вы не устанавливаете новые плагины или не обновляете WordPress, данному аккаунту не нужны привилегии CREATE или DROP.

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

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

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

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

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

  • Какие тесты можно без проблем пропустить

Сканер ядра WordPress

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

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

Сканер ядра WordPress, Security Ninja Pro

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

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

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

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

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

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

Сканирование файлов WordPress, 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 . Различное — Удалить все записи в логе. Эта опция удаляет все записи из базы данных. Обратите внимание, что это действие НЕЛЬЗЯ отменить.

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

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

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

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

Scan Settings — Параметра сканирования.

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

Выберите вариант.

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

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

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

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

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

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

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

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

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

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

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

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

  • База данных WordPress
  • Как очистить и оптимизировать базу данных

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

Облачный файрвол — динамическая, постоянно обновляющаяся база данных плохих адресов, которая обновляется каждые 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 Веб-сайт

Годовая лицензия$ 291 год обновлений

  • Сканер веб-сайта
  • Защита веб-сайта
  • Техподдержка

Купить100% Возвратв течение 7 Дней

1 Веб-сайт

Life-time лицензия$ 89Life-time лицензия

  • Сканер веб-сайта
  • Защита веб-сайта
  • Техподдержка

Купить100% Возвратв течение 7 Дней

10 Веб-сайтов

Годовая лицензия$ 991 год обновлений

  • Сканер веб-сайта
  • Защита веб-сайта
  • Техподдержка

Купить100% Возвратв течение 7 дней

Заключение:

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

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

  • Дополнительные параметра для Security Ninja Pro

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *