### 🚨 CRITICAL Security Fixes - **🔒 Open Redirect Protection**: Добавлена строгая валидация redirect_uri против whitelist доменов - **🔒 Rate Limiting**: Защита OAuth endpoints от брутфорса (10 попыток за 5 минут на IP) - **🔒 Logout Endpoint**: Критически важный endpoint для безопасного отзыва httpOnly cookies - **🔒 Provider Validation**: Усиленная валидация OAuth провайдеров с логированием атак - **🚨 GlitchTip Alerts**: Автоматические алерты безопасности в GlitchTip при критических событиях ### 🛡️ Security Modules - **auth/oauth_security.py**: Модуль безопасности OAuth с валидацией и rate limiting + GlitchTip алерты - **auth/logout.py**: Безопасный logout с поддержкой JSON API и browser redirect - **tests/test_oauth_security.py**: Комплексные тесты безопасности (11 тестов) - **tests/test_oauth_glitchtip_alerts.py**: Тесты интеграции с GlitchTip (8 тестов) ### 🔧 OAuth Improvements - **Minimal Flow**: Упрощен до минимума - только httpOnly cookie, нет JWT в URL - **Simple Logic**: Нет error параметра = успех, максимальная простота - **DRY Refactoring**: Устранено дублирование кода в logout и валидации ### 🎯 OAuth Endpoints - **Старт**: `v3.dscrs.site/oauth/{provider}` - с rate limiting и валидацией - **Callback**: `v3.dscrs.site/oauth/{provider}/callback` - безопасный redirect_uri - **Logout**: `v3.dscrs.site/auth/logout` - отзыв httpOnly cookies - **Финализация**: `testing.discours.io/oauth?redirect_url=...` - минимальная схема ### 📊 Security Test Coverage - ✅ Open redirect attack prevention - ✅ Rate limiting protection - ✅ Provider validation - ✅ Safe fallback mechanisms - ✅ Cookie security (httpOnly + Secure + SameSite) - ✅ GlitchTip integration (8 тестов алертов) ### 📝 Documentation - Создан `docs/oauth-minimal-flow.md` - полное описание минимального flow - Обновлена документация OAuth в `docs/auth/oauth.md` - Добавлены security best practices
This commit is contained in:
49
CHANGELOG.md
49
CHANGELOG.md
@@ -1,5 +1,54 @@
|
||||
# Changelog
|
||||
|
||||
## [0.9.29] - 2025-09-26
|
||||
|
||||
### 🚨 CRITICAL Security Fixes
|
||||
- **🔒 Open Redirect Protection**: Добавлена строгая валидация redirect_uri против whitelist доменов
|
||||
- **🔒 Rate Limiting**: Защита OAuth endpoints от брутфорса (10 попыток за 5 минут на IP)
|
||||
- **🔒 Logout Endpoint**: Критически важный endpoint для безопасного отзыва httpOnly cookies
|
||||
- **🔒 Provider Validation**: Усиленная валидация OAuth провайдеров с логированием атак
|
||||
- **🚨 GlitchTip Alerts**: Автоматические алерты безопасности в GlitchTip при критических событиях
|
||||
|
||||
### 🛡️ Security Modules
|
||||
- **auth/oauth_security.py**: Модуль безопасности OAuth с валидацией и rate limiting + GlitchTip алерты
|
||||
- **auth/logout.py**: Безопасный logout с поддержкой JSON API и browser redirect
|
||||
- **tests/test_oauth_security.py**: Комплексные тесты безопасности (11 тестов)
|
||||
- **tests/test_oauth_glitchtip_alerts.py**: Тесты интеграции с GlitchTip (8 тестов)
|
||||
|
||||
### 🔧 OAuth Improvements
|
||||
- **Minimal Flow**: Упрощен до минимума - только httpOnly cookie, нет JWT в URL
|
||||
- **Simple Logic**: Нет error параметра = успех, максимальная простота
|
||||
- **DRY Refactoring**: Устранено дублирование кода в logout и валидации
|
||||
|
||||
### 🎯 OAuth Endpoints
|
||||
- **Старт**: `v3.dscrs.site/oauth/{provider}` - с rate limiting и валидацией
|
||||
- **Callback**: `v3.dscrs.site/oauth/{provider}/callback` - безопасный redirect_uri
|
||||
- **Logout**: `v3.dscrs.site/auth/logout` - отзыв httpOnly cookies
|
||||
- **Финализация**: `testing.discours.io/oauth?redirect_url=...` - минимальная схема
|
||||
|
||||
### 📊 Security Test Coverage
|
||||
- ✅ Open redirect attack prevention
|
||||
- ✅ Rate limiting protection
|
||||
- ✅ Provider validation
|
||||
- ✅ Safe fallback mechanisms
|
||||
- ✅ Cookie security (httpOnly + Secure + SameSite)
|
||||
- ✅ GlitchTip integration (8 тестов алертов)
|
||||
|
||||
### 📝 Documentation
|
||||
- Создан `docs/oauth-minimal-flow.md` - полное описание минимального flow
|
||||
- Обновлена документация OAuth в `docs/auth/oauth.md`
|
||||
- Добавлены security best practices
|
||||
|
||||
## [0.9.27] - 2025-09-25
|
||||
|
||||
### 🚨 Fixed
|
||||
- **CI зависание тестов**: Исправлено зависание тестов в CI после auth тестов
|
||||
- Добавлены таймауты в CI: `timeout-minutes: 15` и `timeout 900` для pytest
|
||||
- Добавлен флаг `--timeout=300` для pytest для предотвращения зависания отдельных тестов
|
||||
- Добавлены `@pytest.mark.timeout()` декораторы для проблемных async тестов с Redis
|
||||
- Исправлены тесты: `test_cache_logic_only.py`, `test_redis_dry.py`, `test_follow_cache_consistency.py`
|
||||
- Проблема была в cache тестах после auth, которые зависали на Redis операциях без таймаута
|
||||
|
||||
## [0.9.26] - 2025-09-25
|
||||
|
||||
### 🧪 Refactored
|
||||
|
||||
Reference in New Issue
Block a user