[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] - Настроить редирект в панели хостинга
- Добавить в .htaccess:
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"
- Добавить в .htaccess:
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
- В Apache:
3.2. Опасные HTTP методы
- Что проверяет: Разрешены ли методы OPTIONS, TRACE и др.
- Значение: Опасные методы могут раскрыть информацию
- Как исправить:
- В .htaccess:
RewriteCond %{REQUEST_METHOD} ^(OPTIONS|TRACE) [NC]
- В .htaccess:
3.3. Листинг директорий
- Что проверяет: Доступен ли просмотр содержимого папок
- Значение: Листинг раскрывает структуру сайта
- Как исправить:
- В .htaccess:
Options -Indexes
- В .htaccess:
3.4. Раскрытие ошибок PHP
- Что проверяет: Показываются ли ошибки PHP пользователям
- Значение: Ошибки раскрывают информацию о системе
- Как исправить:
- В php.ini:
display_errors = Off
- В php.ini:
3.5. Защита чувствительных файлов
- Что проверяет: Доступны ли wp-config.php, .env и другие файлы
- Значение: Чувствительные файлы содержат пароли и настройки
- Как исправить:
- Запретить доступ через .htaccess
- Переместить за пределы web root
4. ⚡ Производительность (5 проверок)
4.1. Время загрузки страницы
- Что проверяет: Сколько времени грузится главная страница
- Значение: Скорость влияет на SEO и пользовательский опыт
- Оптимально: до 1 секунды
- Как улучшить:
- Включить кэширование
- Оптимизировать изображения
- Использовать CDN
4.2. Gzip сжатие
- Что проверяет: Включено ли сжатие контента
- Значение: Уменьшает размер передаваемых данных
- Как включить:
- В .htaccess:
mod_deflateмодуль
- В .htaccess:
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 - Использовать формы обратной связи
- Обфусцировать email:
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);
- В WordPress:
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
- Используйте рекомендации из этого руководства
📞 Поддержка
Если у вас возникли вопросы или проблемы с использованием плагина:
- Проверьте это руководство — большинство вопросов уже рассмотрены
- Используйте рекомендации — для каждой проблемы есть конкретные шаги
- Начните с критических проблем — исправляйте failed статусы в первую очередь
Security Site Auditor поможет вам сделать ваш сайт безопасным, производительным и SEO-дружественным! 🚀


