199 lines
6 KiB
Markdown
199 lines
6 KiB
Markdown
# Update Checklist - Django FBF Projekt
|
|
|
|
**Erstellt am:** 7. Juni 2025
|
|
**Letzter Check:** 7. Juni 2025
|
|
|
|
## 🔍 Übersicht
|
|
|
|
Dieses Dokument listet alle Abhängigkeiten auf, die Updates benötigen, sowie Sicherheitshinweise und Empfehlungen für das Django FBF (Fallen Birdy Form) Projekt.
|
|
|
|
---
|
|
|
|
## 🚨 Kritische Sicherheitsupdates
|
|
|
|
### 1. CKEditor (HOCH PRIORITÄT)
|
|
- **Aktuell:** django-ckeditor 6.7.3 (bündelt CKEditor 4.22.1)
|
|
- **Problem:** CKEditor 4.22.1 wird nicht mehr unterstützt und hat bekannte Sicherheitslücken
|
|
- **Empfehlung:** Migration zu CKEditor 5 oder einem alternativen Editor
|
|
- **Alternativen:**
|
|
- `django-ckeditor-5` (falls CKEditor 5 Lizenz akzeptabel)
|
|
- `django-tinymce` (Alternative Rich Text Editor)
|
|
- `django-froala-editor` (kommerzielle Alternative)
|
|
|
|
### 2. Django-allauth Settings (MITTEL PRIORITÄT)
|
|
- **Problem:** Veraltete Settings-Optionen werden verwendet
|
|
- **Deprecation Warnings:**
|
|
- `ACCOUNT_AUTHENTICATION_METHOD` → `ACCOUNT_LOGIN_METHODS`
|
|
- `ACCOUNT_EMAIL_REQUIRED` → `ACCOUNT_SIGNUP_FIELDS`
|
|
- `ACCOUNT_LOGIN_ATTEMPTS_LIMIT/TIMEOUT` → `ACCOUNT_RATE_LIMITS`
|
|
|
|
---
|
|
|
|
## 🔄 Python & Base System Updates
|
|
|
|
### Python
|
|
- **Container:** Python 3.11.13 ✅ (aktuell)
|
|
- **Host System:** Python 3.11.0 (Minor Update verfügbar → 3.11.13)
|
|
- **Neueste Stable:** Python 3.12.x (Major Update verfügbar)
|
|
- **Empfehlung:**
|
|
- Kurzfristig: Update auf Python 3.11.13 (Host)
|
|
- Mittel-/Langfristig: Migration zu Python 3.12.x
|
|
|
|
### pip
|
|
- **Aktuell:** 24.0
|
|
- **Verfügbar:** 25.1.1
|
|
- **Update Command:** `pip install --upgrade pip`
|
|
|
|
---
|
|
|
|
## 🐳 Docker Images Updates
|
|
|
|
### PostgreSQL
|
|
- **Aktuell:** postgres:15-alpine (PostgreSQL 15.13)
|
|
- **Neueste:** postgres:16-alpine oder postgres:17-alpine
|
|
- **Status:** ✅ PostgreSQL 15 wird noch unterstützt (bis November 2030)
|
|
- **Empfehlung:** Update auf PostgreSQL 16 oder 17 in der nächsten größeren Version
|
|
|
|
### Traefik
|
|
- **Aktuell:** traefik:v3.2.0
|
|
- **Status:** ✅ Aktuelle Version (Oktober 2024)
|
|
- **Empfehlung:** Regelmäßig auf neueste 3.x Version prüfen
|
|
|
|
### Python Base Image
|
|
- **Aktuell:** python:3.11-slim
|
|
- **Empfehlung:** Update auf python:3.12-slim erwägen
|
|
|
|
---
|
|
|
|
## 📦 Python Package Updates
|
|
|
|
### Django Core Packages
|
|
|
|
| Package | Aktuell | Requirement | Status | Priorität |
|
|
|---------|---------|-------------|--------|-----------|
|
|
| Django | 5.2.2 | >=4.2 | ✅ Aktuell | - |
|
|
| django-allauth | 65.9.0 | >=0.55 | ✅ Aktuell | Niedrig |
|
|
| django-ckeditor | 6.7.3 | >=6.6 | ❌ Sicherheit | **HOCH** |
|
|
| django-crispy-forms | 2.4 | >=1 | ✅ Aktuell | Niedrig |
|
|
| django-csp | 4.0 | >=3.7 | ✅ Aktuell | Niedrig |
|
|
| django-environ | 0.12.0 | >=0.9 | ✅ Aktuell | Niedrig |
|
|
| django-jazzmin | 3.0.1 | >=2.6.0 | ✅ Aktuell | Niedrig |
|
|
|
|
### Infrastructure Packages
|
|
|
|
| Package | Aktuell | Requirement | Status | Priorität |
|
|
|---------|---------|-------------|--------|-----------|
|
|
| gunicorn | 23.0.0 | >=20.1 | ✅ Aktuell | Niedrig |
|
|
| psycopg2-binary | 2.9.10 | >=2.9 | ✅ Aktuell | Niedrig |
|
|
| whitenoise | 6.9.0 | >=6.5 | ✅ Aktuell | Niedrig |
|
|
|
|
### Form & UI Packages
|
|
|
|
| Package | Aktuell | Requirement | Status | Priorität |
|
|
|---------|---------|-------------|--------|-----------|
|
|
| crispy-bootstrap5 | 2025.4 | >=0.6 | ✅ Aktuell | Niedrig |
|
|
| django-bootstrap-datepicker-plus | 5.0.5 | >=4.0 | ✅ Aktuell | Niedrig |
|
|
| django-bootstrap-modal-forms | 3.0.5 | >=2 | ✅ Aktuell | Niedrig |
|
|
|
|
---
|
|
|
|
## 🛠️ Empfohlene Update-Reihenfolge
|
|
|
|
### Phase 1: Kritische Sicherheitsupdates (Sofort)
|
|
1. **CKEditor ersetzen**
|
|
```bash
|
|
# Option 1: django-ckeditor-5 verwenden
|
|
pip uninstall django-ckeditor
|
|
pip install django-ckeditor-5
|
|
|
|
# Option 2: TinyMCE verwenden
|
|
pip uninstall django-ckeditor
|
|
pip install django-tinymce
|
|
```
|
|
|
|
2. **Django-allauth Settings aktualisieren**
|
|
- Settings in `core/settings.py` anpassen
|
|
- Deprecated Warnings beheben
|
|
|
|
### Phase 2: System Updates (Nächste Wartung)
|
|
1. **pip Update**
|
|
```bash
|
|
docker exec django_fbf_web_1 pip install --upgrade pip
|
|
```
|
|
|
|
2. **Host Python Update**
|
|
```bash
|
|
# Auf Host System
|
|
brew upgrade python@3.11 # oder entsprechender Package Manager
|
|
```
|
|
|
|
### Phase 3: Größere Updates (Geplante Wartung)
|
|
1. **Python 3.12 Migration**
|
|
- Dockerfile aktualisieren: `FROM python:3.12-slim`
|
|
- Tests auf Kompatibilität prüfen
|
|
- Container neu bauen
|
|
|
|
2. **PostgreSQL Update** (Optional)
|
|
- docker-compose.yaml: `postgres:16-alpine`
|
|
- Datenbank-Backup vor Update
|
|
- Migrationstest durchführen
|
|
|
|
---
|
|
|
|
## 🔒 Sicherheitsempfehlungen
|
|
|
|
### Aktuell erkannte Probleme:
|
|
1. **CKEditor 4.22.1** - Bekannte Sicherheitslücken
|
|
2. **Veraltete django-allauth Settings** - Funktional aber deprecated
|
|
|
|
### Präventive Maßnahmen:
|
|
1. **Regelmäßige Sicherheitschecks**
|
|
```bash
|
|
# Dependency-Check alle 2 Wochen
|
|
docker exec django_fbf_web_1 pip check
|
|
docker exec django_fbf_web_1 python manage.py check
|
|
```
|
|
|
|
2. **Requirements Pinning**
|
|
- Exakte Versionen in requirements.txt verwenden
|
|
- Sicherheitsupdates kontrolliert einspielen
|
|
|
|
3. **Automated Security Scanning**
|
|
- GitHub Dependabot aktivieren
|
|
- Oder andere Security-Scanning Tools verwenden
|
|
|
|
---
|
|
|
|
## 📋 Maintenance Checklist
|
|
|
|
### Monatlich:
|
|
- [ ] Django System Check ausführen
|
|
- [ ] Pip Package Updates prüfen
|
|
- [ ] Docker Image Updates prüfen
|
|
- [ ] Security Advisories checken
|
|
|
|
### Quartalsweise:
|
|
- [ ] Major Version Updates evaluieren
|
|
- [ ] Performance Tests nach Updates
|
|
- [ ] Backup-Strategie validieren
|
|
- [ ] Documentation Updates
|
|
|
|
### Jährlich:
|
|
- [ ] Python Version Migration planen
|
|
- [ ] Database Version Update evaluieren
|
|
- [ ] Dependency Audit durchführen
|
|
- [ ] Security Penetration Test
|
|
|
|
---
|
|
|
|
## 🔗 Nützliche Ressourcen
|
|
|
|
- [Django Security Releases](https://docs.djangoproject.com/en/stable/releases/security/)
|
|
- [Python Security Updates](https://www.python.org/downloads/)
|
|
- [PostgreSQL Release Schedule](https://www.postgresql.org/support/versioning/)
|
|
- [CKEditor Migration Guide](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/migration-from-ckeditor-4.html)
|
|
|
|
---
|
|
|
|
**Letztes Update:** 7. Juni 2025
|
|
**Nächster Review:** 7. Juli 2025
|