# GlitchTip Security Alerts Integration ## 🚨 Автоматические алерты безопасности OAuth Система OAuth теперь автоматически отправляет алерты в GlitchTip при обнаружении подозрительной активности. ## 🎯 Типы алертов ### 🔴 Критические события (ERROR level) - **`open_redirect_attempt`** - Попытка open redirect атаки - **`rate_limit_exceeded`** - Превышение лимита запросов (брутфорс) - **`invalid_provider`** - Попытка использования несуществующего провайдера - **`suspicious_redirect_uri`** - Подозрительный redirect URI - **`brute_force_detected`** - Обнаружена брутфорс атака ### 🟡 Обычные события (WARNING level) - **`oauth_login_attempt`** - Обычная попытка входа - **`provider_validation`** - Валидация провайдера - **`redirect_uri_validation`** - Валидация redirect URI ## 🏷️ Теги для фильтрации в GlitchTip Каждый алерт содержит теги для удобной фильтрации: ```python { "security_event": "rate_limit_exceeded", "component": "oauth", "client_ip": "192.168.1.100", "oauth_provider": "github", "has_redirect_uri": "true" } ``` ## 📊 Контекст события Детальная информация в контексте `security_details`: ```python { "ip": "192.168.1.100", "provider": "github", "attempts": 15, "limit": 10, "window_seconds": 300, "severity": "high", "malicious_uri": "https://evil.com/steal", "attack_type": "open_redirect" } ``` ## 🔧 Интеграция в коде ### Автоматические алерты ```python # При превышении rate limit if len(requests) >= OAUTH_RATE_LIMIT: send_rate_limit_alert(client_ip, len(requests)) return False # При попытке open redirect if not is_allowed: send_open_redirect_alert(redirect_uri) return False ``` ### Ручные алерты ```python from auth.oauth_security import log_oauth_security_event # Отправка кастомного алерта log_oauth_security_event("suspicious_activity", { "ip": client_ip, "details": "Custom security event", "severity": "medium" }) ``` ## 🛡️ Обработка ошибок Система устойчива к сбоям GlitchTip: ```python try: # Отправка алерта в GlitchTip sentry_sdk.capture_message(message, level=level) except Exception as e: # Не ломаем основную логику logger.error(f"Failed to send alert to GlitchTip: {e}") ``` ## 📈 Мониторинг в GlitchTip ### Фильтры для критических событий: ``` tag:security_event AND level:error ``` ### Фильтры по компонентам: ``` tag:component:oauth ``` ### Фильтры по IP адресам: ``` tag:client_ip:192.168.1.100 ``` ## 🚨 Алерты по типам атак ### Open Redirect атаки: ``` tag:security_event:open_redirect_attempt ``` ### Брутфорс атаки: ``` tag:security_event:rate_limit_exceeded ``` ### Невалидные провайдеры: ``` tag:security_event:invalid_provider ``` ## 📊 Статистика безопасности GlitchTip позволяет отслеживать: - Количество атак по времени - Топ атакующих IP адресов - Самые частые типы атак - Географическое распределение атак ## 🔄 Настройка алертов В GlitchTip можно настроить: - Email уведомления при критических событиях - Slack/Discord интеграции - Webhook для автоматической блокировки IP - Дашборды для мониторинга безопасности ## ✅ Тестирование Система покрыта тестами: ```bash # Запуск тестов GlitchTip интеграции uv run python -m pytest tests/test_oauth_glitchtip_alerts.py -v # Результат: 8/8 тестов прошли ✅ Critical events sent as ERROR ✅ Normal events sent as WARNING ✅ Open redirect alert integration ✅ Rate limit alert integration ✅ Failure handling (graceful degradation) ✅ Security context tags ✅ Event logging integration ✅ Critical events list validation ``` ## 🎯 Преимущества 1. **Реальное время** - мгновенные алерты при атаках 2. **Контекст** - полная информация о событии 3. **Фильтрация** - удобные теги для поиска 4. **Устойчивость** - не ломает основную логику при сбоях 5. **Тестируемость** - полное покрытие тестами 6. **Масштабируемость** - готово для высоких нагрузок **Система безопасности OAuth теперь имеет полноценный мониторинг!** 🔒✨