docs: Update release notes and CLAUDE.md with security features
- Add GeoIP blocking, security panel, and stats to v1.16.0 release notes - Add comprehensive security mechanisms table to CLAUDE.md - Document GeoIP configuration and MaxMind setup - List all 12 security mechanisms with star ratings Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
e9e37796c7
commit
6402ff7f0e
35
CLAUDE.md
35
CLAUDE.md
@ -284,6 +284,41 @@ git branch -d auto-claude/<task-id>
|
||||
- Klucze API i hasła tylko w `.env` (nigdy w kodzie)
|
||||
- Rate limiting: 200 req/dzień, 50 req/godzinę
|
||||
|
||||
#### Mechanizmy bezpieczeństwa (wdrożone)
|
||||
|
||||
| Mechanizm | Ocena | Opis |
|
||||
|-----------|-------|------|
|
||||
| **2FA (TOTP)** | ★★★★★ | Uwierzytelnianie dwuskładnikowe przez aplikacje mobilne |
|
||||
| **CSRF Protection** | ★★★★★ | Tokeny CSRF w formularzach (Flask-WTF) |
|
||||
| **HTTPS/TLS** | ★★★★★ | Let's Encrypt SSL z auto-renewal |
|
||||
| **Hashowanie haseł** | ★★★★★ | Werkzeug bcrypt |
|
||||
| **SQL Injection** | ★★★★★ | SQLAlchemy ORM (parametryzowane zapytania) |
|
||||
| **XSS Protection** | ★★★★★ | Jinja2 autoescape |
|
||||
| **GeoIP Blocking** | ★★★★☆ | Blokowanie krajów: RU, CN, KP, IR, BY, SY, VE, CU |
|
||||
| **Rate Limiting** | ★★★★☆ | Flask-Limiter + Redis |
|
||||
| **Account Lockout** | ★★★★☆ | Blokada po 5 nieudanych logowaniach |
|
||||
| **Audit Log** | ★★★★☆ | Śledzenie działań adminów |
|
||||
| **Honeypot** | ★★★☆☆ | Wykrywanie botów (/.env, /wp-admin) |
|
||||
| **Security Alerting** | ★★★☆☆ | Powiadomienia email o krytycznych zdarzeniach |
|
||||
|
||||
**Panel bezpieczeństwa:** `/admin/security` (dla adminów)
|
||||
- Zakładka "Mechanizmy" - lista wszystkich mechanizmów z oceną gwiazdkową
|
||||
- Zakładka "GeoIP" - statystyki blokowania (dzienne/miesięczne/roczne/od początku)
|
||||
- Zakładka "Alerty" - alerty bezpieczeństwa do rozwiązania
|
||||
- Zakładka "Audit log" - historia działań administracyjnych
|
||||
- Zakładka "Zablokowane konta" - konta zablokowane przez brute-force
|
||||
|
||||
**GeoIP Configuration (.env):**
|
||||
```
|
||||
GEOIP_ENABLED=true
|
||||
GEOIP_DB_PATH=/var/www/nordabiznes/geoip/GeoLite2-Country.mmdb
|
||||
```
|
||||
|
||||
**MaxMind GeoLite2:**
|
||||
- Account ID: 1282843
|
||||
- Baza danych: GeoLite2-Country (aktualizowana co miesiąc)
|
||||
- Lokalizacja: `/var/www/nordabiznes/geoip/GeoLite2-Country.mmdb`
|
||||
|
||||
#### Zarządzanie danymi uwierzytelniającymi (KRYTYCZNE!)
|
||||
|
||||
**NIGDY nie umieszczaj haseł i kluczy API bezpośrednio w kodzie źródłowym!**
|
||||
|
||||
3
app.py
3
app.py
@ -9081,6 +9081,9 @@ def release_notes():
|
||||
'Profil firmy: Data przystąpienia do Izby NORDA',
|
||||
'Profil firmy: Karta "Członek Izby NORDA od" z datą i stażem',
|
||||
'Integracja: API CEIDG do pobierania danych JDG',
|
||||
'Bezpieczeństwo: GeoIP blocking - blokowanie krajów wysokiego ryzyka (RU, CN, KP, IR, BY, SY, VE, CU)',
|
||||
'Bezpieczeństwo: Panel z listą wszystkich mechanizmów ochrony (oceny gwiazdkowe)',
|
||||
'Bezpieczeństwo: Statystyki GeoIP (dzienne, miesięczne, roczne, breakdown per kraj)',
|
||||
],
|
||||
'improve': [
|
||||
'Dane firm: Rok założenia uzupełniony dla 71 z 111 firm (64%)',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user