Проверка сайта на безопасность

[security_audit]

📖 Руководство пользователя Security Site Auditor

🎯 О плагине

Security Site Auditor — это комплексный инструмент для проверки безопасности веб-сайтов. Плагин выполняет 60+ проверок по 12 категориям безопасности без использования внешних API.

🔧 Основные возможности:

  • ✅ 60+ параметров безопасности — полная проверка сайта
  • ✅ 12 категорий аудита — от HTTPS до SEO оптимизации
  • ✅ 100% автономность — не требует внешних сервисов
  • ✅ Детальные рекомендации — конкретные шаги по исправлению
  • ✅ Простой интерфейс — вставьте URL и нажмите кнопку

📊 Категории проверок и параметры

1. 🔐 HTTPS и SSL (5 проверок)

1.1. Использование HTTPS

  • Что проверяет: Использует ли сайт HTTPS протокол
  • Значение: HTTPS шифрует данные между браузером и сервером
  • Как исправить:
    • Приобрести SSL сертификат у хостинг-провайдера
    • Настроить принудительное перенаправление HTTP → HTTPS

1.2. Действительность SSL сертификата

  • Что проверяет: Корректность и срок действия SSL сертификата
  • Значение: SSL защищает данные от перехвата
  • Как исправить:
    • Обновить просроченный SSL сертификат
    • Проверить настройки хоста

1.3. Редирект на HTTPS

  • Что проверяет: Перенаправляет ли HTTP версия на HTTPS
  • Значение: Предотвращает доступ по небезопасному HTTP
  • Как исправить:
    • Добавить в .htaccess: RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
    • Настроить редирект в панели хостинга

1.4. Mixed Content

  • Что проверяет: Загружаются ли ресурсы по HTTP на HTTPS странице
  • Значение: Mixed content снижает безопасность HTTPS
  • Как исправить:
    • Заменить все http:// на https:// в коде
    • Использовать protocol-relative URLs: //example.com/resource

1.5. HSTS заголовок

  • Что проверяет: Наличие Strict-Transport-Security заголовка
  • Значение: Принудительно использует HTTPS в браузере
  • Как исправить:
    • Добавить в .htaccess: Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

2. 🛡️ Security Headers (5 проверок)

2.1. Защита от Clickjacking (X-Frame-Options)

  • Что проверяет: Защищена ли страница от встраивания в iframe
  • Значение: Предотвращает атаки clickjacking
  • Как исправить:
    • Добавить: X-Frame-Options: DENY

2.2. XSS защита (X-XSS-Protection)

  • Что проверяет: Включена ли защита от XSS в браузере
  • Значение: Блокирует межсайтовый скриптинг
  • Как исправить:
    • Добавить: X-XSS-Protection: 1; mode=block

2.3. Защита от MIME Sniffing (X-Content-Type-Options)

  • Что проверяет: Предотвращает ли браузер MIME sniffing
  • Значение: Защищает от атак с подменой типа контента
  • Как исправить:
    • Добавить: X-Content-Type-Options: nosniff

2.4. Content Security Policy (CSP)

  • Что проверяет: Наличие политики безопасности контента
  • Значение: Контролирует источники загрузки ресурсов
  • Как исправить:
    • Настроить CSP политику согласно требованиям сайта

2.5. Referrer Policy

  • Что проверяет: Контролирует передачу referrer информации
  • Значение: Защищает конфиденциальность источников трафика
  • Как исправить:
    • Добавить: Referrer-Policy: strict-origin-when-cross-origin

3. 📊 Конфигурация сервера (5 проверок)

3.1. Раскрытие информации о сервере

  • Что проверяет: Показывает ли сервер свою версию и технологии
  • Значение: Скрытие информации усложняет атаки
  • Как исправить:
    • В Apache: ServerTokens Prod
    • В PHP: expose_php = Off

3.2. Опасные HTTP методы

  • Что проверяет: Разрешены ли методы OPTIONS, TRACE и др.
  • Значение: Опасные методы могут раскрыть информацию
  • Как исправить:
    • В .htaccess: RewriteCond %{REQUEST_METHOD} ^(OPTIONS|TRACE) [NC]

3.3. Листинг директорий

  • Что проверяет: Доступен ли просмотр содержимого папок
  • Значение: Листинг раскрывает структуру сайта
  • Как исправить:
    • В .htaccess: Options -Indexes

3.4. Раскрытие ошибок PHP

  • Что проверяет: Показываются ли ошибки PHP пользователям
  • Значение: Ошибки раскрывают информацию о системе
  • Как исправить:
    • В php.ini: display_errors = Off

3.5. Защита чувствительных файлов

  • Что проверяет: Доступны ли wp-config.php, .env и другие файлы
  • Значение: Чувствительные файлы содержат пароли и настройки
  • Как исправить:
    • Запретить доступ через .htaccess
    • Переместить за пределы web root

4. ⚡ Производительность (5 проверок)

4.1. Время загрузки страницы

  • Что проверяет: Сколько времени грузится главная страница
  • Значение: Скорость влияет на SEO и пользовательский опыт
  • Оптимально: до 1 секунды
  • Как улучшить:
    • Включить кэширование
    • Оптимизировать изображения
    • Использовать CDN

4.2. Gzip сжатие

  • Что проверяет: Включено ли сжатие контента
  • Значение: Уменьшает размер передаваемых данных
  • Как включить:
    • В .htaccess: mod_deflate модуль

4.3. Браузерное кэширование

  • Что проверяет: Настроены ли заголовки кэширования
  • Значение: Ускоряет повторные посещения
  • Как настроить:
    • Установить Cache-Control и Expires заголовки

4.4. Оптимизация изображений

  • Что проверяет: Используются ли современные форматы изображений
  • Значение: WebP и AVIF меньше по размеру чем PNG
  • Как оптимизировать:
    • Конвертировать PNG в WebP
    • Использовать lazy loading

4.5. Количество HTTP запросов

  • Что проверяет: Сколько ресурсов загружает страница
  • Значение: Каждый запрос замедляет загрузку
  • Оптимально: до 30 запросов
  • Как уменьшить:
    • Объединить CSS и JS файлы
    • Использовать sprites для иконок

5. 👁️ Конфиденциальность (5 проверок)

5.1. Утечка email адресов

  • Что проверяет: Находятся ли email в открытом виде в коде
  • Значение: Открытые email собираются спам-ботами
  • Как защитить:
    • Обфусцировать email: user[at]domain.com
    • Использовать формы обратной связи

5.2. Утечка телефонных номеров

  • Что проверяет: Находятся ли телефоны в открытом виде
  • Значение: Телефоны используются для спама
  • Как защитить:
    • Использовать JavaScript для отображения
    • Добавить формы обратного звонка

5.3. Безопасность Cookie

  • Что проверяет: Используются ли Secure, HttpOnly, SameSite флаги
  • Значение: Защищает cookies от краж и misuse
  • Как настроить:
    • Установить флаги для всех cookies

5.4. Privacy заголовки

  • Что проверяет: Наличие Referrer-Policy и других privacy headers
  • Значение: Контролирует передачу конфиденциальной информации
  • Как настроить: Добавить соответствующие заголовки

5.5. Защита от отслеживания

  • Что проверяет: Используются ли трекеры аналитики
  • Значение: Трекеры собирают данные о пользователях
  • Рекомендация: Добавить уведомление о cookies

6. 🔍 Уязвимости (5 проверок)

6.1. SQL Injection векторы

  • Что проверяет: Используются ли устаревшие MySQL функции
  • Значение: Старые функции уязвимы к SQL injection
  • Как исправить:
    • Использовать PDO или MySQLi
    • Валидировать и экранировать пользовательский ввод

6.2. XSS векторы

  • Что проверяет: Прямой вывод пользовательских данных
  • Значение: Может привести к XSS атакам
  • Как исправить:
    • Экранировать вывод: htmlspecialchars()
    • Валидировать пользовательский ввод

6.3. File Upload векторы

  • Что проверяет: Наличие форм загрузки файлов
  • Значение: Небезопасная загрузка может привести к выполнению кода
  • Как защитить:
    • Проверять MIME типы
    • Ограничивать расширения файлов
    • Хранить файлы вне web root

6.4. Устаревшие компоненты

  • Что проверяет: Используются ли устаревшие версии jQuery, Bootstrap и др.
  • Значение: Старые версии содержат известные уязвимости
  • Как обновить:
    • Обновить до актуальных версий
    • Удалить неиспользуемые библиотеки

6.5. Debug режим

  • Что проверяет: Включен ли debug режим на продакшене
  • Значение: Debug режим раскрывает системную информацию
  • Как отключить:
    • В WordPress: define('WP_DEBUG', false);

7. 📧 Email защита (5 проверок)

7.1. Безопасность email форм

  • Что проверяет: Защищены ли формы CAPTCHA и анти-спамом
  • Значение: Защищает от спама и автоматических атак
  • Как защитить:
    • Добавить reCAPTCHA
    • Использовать honeypot поля

7.2. Обфускация email

  • Что проверяет: Скрыты ли email адреса от ботов
  • Значение: Предотвращает сбор email спам-ботами
  • Как обфусцировать:
    • Использовать JavaScript для отображения
    • Заменять @ на [at]

7.3. SMTP настройки

  • Что проверяет: Наличие контактных форм
  • Значение: Формы должны отправлять письма через безопасный SMTP
  • Рекомендация: Использовать SMTP с аутентификацией

7.4. Email заголовки

  • Что проверяет: Раскрывается ли информация о почтовом клиенте
  • Значение: Скрытие информации повышает безопасность
  • Как скрыть: Настроить почтовый сервер

7.5. Защита от спама

  • Что проверяет: Используются ли методы защиты от спама
  • Значение: Защищает от массовых рассылок
  • Методы защиты: Akismet, математические CAPTCHA, honeypot

8. 🤖 Защита от ботов (5 проверок)

8.1. Файл robots.txt

  • Что проверяет: Наличие и корректность robots.txt
  • Значение: Управляет индексацией поисковыми ботами
  • Как настроить:
    • Запретить доступ к админке и системным файлам
    • Указать sitemap location

8.2. Заголовки для ботов

  • Что проверяет: Наличие X-Robots-Tag заголовков
  • Значение: Контролирует индексацию на уровне HTTP
  • Как добавить: Настроить соответствующие заголовки

8.3. Контроль краулеров

  • Что проверяет: Используются ли meta robots теги
  • Значение: Управляет поведением поисковых роботов
  • Как настроить: Добавить соответствующие meta теги

8.4. Rate Limiting

  • Что проверяет: Настроено ли ограничение запросов
  • Значение: Защищает от DDoS и брутфорс атак
  • Как настроить: Использовать плагины или серверные настройки

8.5. Ловушки для ботов

  • Что проверяет: Используются ли honeypot поля
  • Значение: Обманывает автоматические боты
  • Как добавить: Создать скрытые поля в формах

9. 📱 Mobile-friendly (5 проверок)

9.1. Viewport meta tag

  • Что проверяет: Наличие viewport тега
  • Значение: Корректное отображение на мобильных устройствах
  • Как добавить: <meta name="viewport" content="width=device-width, initial-scale=1">

9.2. Mobile responsive

  • Что проверяет: Используются ли медиа-запросы
  • Значение: Адаптивный дизайн для разных экранов
  • Как сделать: Добавить CSS media queries

9.3. Touch элементы

  • Что проверяет: Размер кликабельных элементов
  • Значение: Маленькие элементы сложно нажимать на мобильных
  • Рекомендация: Минимум 44px для touch элементов

9.4. Размеры шрифтов

  • Что проверяет: Достаточно ли крупные шрифты
  • Значение: Мелкие шрифты нечитаемы на мобильных
  • Рекомендация: Минимум 12px для основного текста

9.5. Размер страницы

  • Что проверяет: Общий размер HTML страницы
  • Значение: Большие страницы медленно грузятся на мобильных
  • Оптимально: до 1MB

10. 🔗 Ссылки и редиректы (5 проверок)

10.1. Битые ссылки

  • Что проверяет: Наличие неработающих ссылок
  • Значение: Битые ссылки ухудшают пользовательский опыт
  • Как исправить: Обновить или удалить неработающие ссылки

10.2. Внешние ссылки

  • Что проверяет: Количество и качество внешних ссылок
  • Значение: Ссылки на плохие сайты могут навредить SEO
  • Рекомендация: Проверять ссылки на репутацию

10.3. Цепочки редиректов

  • Что проверяет: Количество перенаправлений
  • Значение: Длинные цепочки замедляют загрузку
  • Оптимально: до 2 редиректов

10.4. Атрибуты ссылок

  • Что проверяет: Используются ли rel атрибуты
  • Значение: rel=»nofollow» защищает от спама в комментариях
  • Рекомендация: Добавлять соответствующие атрибуты

10.5. Внутренние ссылки

  • Что проверяет: Количество внутренних ссылок
  • Значение: Внутренняя перелинковка улучшает SEO
  • Рекомендация: Минимум 3-5 внутренних ссылок на странице

11. 📝 SEO и контент (5 проверок)

11.1. Title tag

  • Что проверяет: Наличие и длина title
  • Значение: Title — важнейший SEO элемент
  • Оптимально: 10-60 символов
  • Рекомендация: Уникальный, содержательный title

11.2. Meta description

  • Что проверяет: Наличие и длина description
  • Значение: Description отображается в поисковой выдаче
  • Оптимально: 50-160 символов

11.3. Структура заголовков

  • Что проверяет: Корректность иерархии h1-h6
  • Значение: Правильная структура улучшает читаемость и SEO
  • Рекомендация: Один h1 на страницу, логичная иерархия

11.4. Alt теги изображений

  • Что проверяет: Наличие alt атрибутов у изображений
  • Значение: Alt теги важны для доступности и SEO
  • Рекомендация: Описательные alt теги для всех изображений

11.5. Длина контента

  • Что проверяет: Количество текста на странице
  • Значение: Контент — основа SEO
  • Оптимально: 200-5000 символов качественного текста

12. ⚙️ Технический аудит (5 проверок)

12.1. Canonical URL

  • Что проверяет: Наличие canonical ссылки
  • Значение: Предотвращает дублирование контента
  • Как добавить: <link rel="canonical" href="...">

12.2. Schema разметка

  • Что проверяет: Используется ли schema.org разметка
  • Значение: Улучшает отображение в поисковой выдаче
  • Как добавить: JSON-LD или микроразметка

12.3. XML Sitemap

  • Что проверяет: Наличие sitemap.xml
  • Значение: Помогает поисковым системам индексировать сайт
  • Как создать: Использовать плагины или генераторы sitemap

12.4. Open Graph теги

  • Что проверяет: Наличие OG тегов для соцсетей
  • Значение: Красивое отображение при расшаривании
  • Обязательные: og:title, og:description, og:image

12.5. Структура URL

  • Что проверяет: Чистота и читаемость URL
  • Значение: Человекопонятные URL лучше для SEO
  • Рекомендация: Без параметров, с ключевыми словами

🎯 Интерпретация результатов

Уровни риска:

  • 🔴 Критический (0-49%) — Срочно требуются исправления
  • 🟡 Высокий (50-69%) — Серьезные проблемы безопасности
  • 🟠 Средний (70-84%) — Рекомендуется улучшить
  • 🟢 Низкий (85-100%) — Хороший уровень безопасности

Статусы проверок:

  • ✅ Passed — Все в порядке, исправления не требуются
  • ⚠️ Warning — Рекомендуется исправить для улучшения безопасности
  • ❌ Failed — Критическая проблема, требует немедленного исправления
  • ℹ️ Info — Информация для улучшения, не критично

🔧 Частые проблемы и решения

Проблема: «Проверка заняла слишком много времени»

Решение:

  • Проверьте скорость хостинга
  • Убедитесь, что сайт доступен извне
  • Попробуйте проверить в другое время

Проблема: «Сайт недоступен для проверки»

Решение:

  • Проверьте корректность URL
  • Убедитесь, что сайт не заблокирован robots.txt
  • Проверьте настройки брандмауэра

Проблема: «Много failed проверок»

Решение:

  • Начните с критических проблем (failed)
  • Затем перейдите к warning
  • Используйте рекомендации из этого руководства

📞 Поддержка

Если у вас возникли вопросы или проблемы с использованием плагина:

  1. Проверьте это руководство — большинство вопросов уже рассмотрены
  2. Используйте рекомендации — для каждой проблемы есть конкретные шаги
  3. Начните с критических проблем — исправляйте failed статусы в первую очередь

Security Site Auditor поможет вам сделать ваш сайт безопасным, производительным и SEO-дружественным! 🚀

Поделиться с друзьями
WPshnik
Задать вопрос онлайн
Здравствуйте! Чем могу помочь?