Rybinsk Lab Security self-updates
Комплексная защита WordPress: WAF, сканер вирусов, капча Яндекс/Google, 2FA, геоблокировка, уведомления и статистика
by Усачёв Денис · github.com/usachevip/rybinsklab-security · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/usachevip/rybinsklab-security/archive/refs/heads/main.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
Комплексная защита WordPress для сайтов на русском языке и в СНГ: WAF-фаервол, сканер вирусов, защита входа, капча (Яндекс / Google), геоблокировка, email-уведомления и подробная статистика.
Версия 3.0.0 · Требуется WordPress 5.8+ · PHP 7.4+ · Лицензия GPL v2 or later
Возможности
Защита
- WAF-фаервол — блокирует SQL-инъекции, XSS, RCE-атаки, Path Traversal и подозрительные боты до попадания в WordPress.
- Анти-брутфорс — эскалация блокировок входа (1ч → 6ч → 24ч) с автопереносом рецидивистов в постоянный черный список.
- Контрольные вопросы и honeypot на форме входа.
- Капча — Яндекс SmartCaptcha (обычная/невидимая) для СНГ и Google reCAPTCHA (v2 / v2 невидимая / v3) для остального мира. Формы: вход в админку, вход пользователей, регистрация, восстановление пароля, комментарии.
- Обратная DNS-проверка поисковых ботов (Google, Яндекс, Bing, Mail.ru и 15+ других, включая AI-краулеры).
- GeoIP-блокировка по странам (IP2Location) и языковой фильтр браузера.
- Облачный черный список IP Rybinsk Lab — коллективная база угроз (Premium).
- Укрепление сайта — скрытие версии WP, запрет редактора файлов, защита от перечисления логинов, отключение pingback, запрет PHP в uploads, заголовки безопасности.
- 2FA (TOTP) — двухфакторная аутентификация для администраторов (Premium). Совместима с Google Authenticator, Яндекс Ключ, Authy.
Мониторинг
- Сканер вирусов — сигнатуры + эвристика, снимок файловой системы (контроль изменений), карантин с восстановлением, история проверок.
- Статистика — графики атак по дням и часам, распределение по типам, топ IP-адресов и причин, экспорт отчета в PDF и данные в CSV.
- Журнал атак с фильтрами по типам и пагинацией.
- Email-уведомления — мгновенные оповещения об атаках и заражениях, предупреждение об истечении лицензии, еженедельный дайджест.
- Индекс безопасности — интегральная оценка защиты сайта 0–100 с подсказками по включению модулей.
- Виджет на консоли WordPress — ключевые метрики всегда перед глазами.
Установка
- Скачайте архив последнего релиза (файл
rybinsklab-security-x.y.z.zip). - В админке WordPress: Плагины → Добавить новый → Загрузить плагин → выберите архив → «Установить» → «Активировать».
- Мастер первой настройки предложит выбрать режим защиты: Легкая, Полная или Только сканер.
Free и Premium
| Возможность | Free | Premium |
|---|---|---|
| WAF, анти-брутфорс, honeypot | ✔ | ✔ |
| Сканер вирусов + карантин | ✔ | ✔ |
| Капча (Яндекс / Google) | ✔ | ✔ |
| Email-уведомления и дайджест | ✔ | ✔ |
| Глобальная облачная база угроз (IP) | — | ✔ |
| Расширенная база сигнатур + автообновления | — | ✔ |
| GeoIP без лимитов + обновление базы | — | ✔ |
| Двухфакторная аутентификация (2FA) | — | ✔ |
| Приоритетная поддержка | — | ✔ |
Ключ Premium: rybinsklab.ru/scan-wp
Структура плагина
rybinsklab-security.php — загрузчик, режимы защиты, индекс безопасности
includes/
class-firewall.php — WAF, боты, GeoIP, языковой фильтр, rate limit
class-login-security.php — анти-брутфорс, вопросы, honeypot
class-captcha.php — капча: Yandex SmartCaptcha / Google reCAPTCHA
class-2fa.php — TOTP-двухфакторная аутентификация (Premium)
class-hardening.php — системные усиления WordPress
class-notifications.php — email-уведомления и дайджесты
class-stats.php — агрегация статистики, экспорт CSV
class-scanner-engine.php — движок сканера (в includes/scanner/)
class-logger.php — журнал атак и статистика
class-geoip.php — IP2Location геолокация
class-api-client.php — обмен с сервером Rybinsk Lab
admin/ — страницы админки и view-шаблоны
assets/ — стили и скрипты админки
Разработка
# Проверка синтаксиса PHP
for f in $(find . -name "*.php" -not -path "./vendor/*"); do php -l "$f"; done
# Тесты загрузки модулей и рендера страниц админки (со стабами WordPress)
php tests/bootstrap-test.php
php tests/render-test.php
Автор и поддержка
Усачёв Денис · rybinsklab.ru · Документация
Licensed under the GPL v2 or later.