@@ -44,12 +44,12 @@ python server.py
4444El sistema quedará disponible en:
4545
4646```
47- http://127.0.0.1:8000
47+ http://127.0.0.1:8080
4848```
4949y accesible en red local:
5050
5151```
52- http://<TU_IP_LOCAL>:8000
52+ http://<TU_IP_LOCAL>:8080
5353```
5454🔑 Roles y Accesos
5555
@@ -118,3 +118,121 @@ Panel de administración para gestión de usuarios.
118118Dockerización para despliegue rápido.
119119
120120💡 PiChat es un paso hacia un NAS + sistema de chat privado, simple y seguro para redes locales.
121+
122+ Version OWASP:
123+ para mitigar fallos de arquitectura se opto por una solucion hibrida de modularidad. rutas no criticas en app.py
124+
125+ resumen:
126+ 🎯 ¿POR QUÉ ESTO SÍ FUNCIONA?
127+ ✅ No hay importaciones circulares - Las rutas están en app.py
128+
129+ ✅ Limiter se inicializa UNA vez al principio
130+
131+ ✅ Usamos los módulos que SÍ funcionan (seguridad, sanitización)
132+
133+ ✅ Mantenemos la lógica compleja modularizada
134+
135+ ✅ Las rutas simples quedan en app.py
136+ Detalles de implementacion:
137+ ## 🔒 CUMPLIMIENTO OWASP TOP 10 2021
138+
139+ ### ✅ Protecciones Implementadas Según Estándares OWASP
140+
141+ #### ** A01:2021 - Broken Access Control**
142+ - ✅ Control de roles y permisos (admin, cliente, usuario)
143+ - ✅ Protección de rutas con ` @login_required `
144+ - ✅ Validación de ownership en descargas/eliminaciones
145+ - ✅ Rate limiting por tipo de usuario
146+
147+ #### ** A02:2021 - Cryptographic Failures**
148+ - ✅ Hashing con ** Argon2** (industry standard)
149+ - ✅ Contraseñas nunca en texto plano
150+ - ✅ Claves secretas desde variables de entorno
151+ - ✅ Cookies seguras con flags ` HttpOnly ` , ` Secure ` , ` SameSite `
152+
153+ #### ** A03:2021 - Injection**
154+ - ✅ Sanitización centralizada de inputs
155+ - ✅ Prepared statements para logs (CSV seguro)
156+ - ✅ Validación de tipos y longitud
157+ - ✅ Escape de caracteres especiales en mensajes
158+
159+ #### ** A05:2021 - Security Misconfiguration**
160+ - ✅ Configuración segura por defecto
161+ - ✅ Headers CORS restrictivos
162+ - ✅ Logging de auditoría comprehensivo
163+ - ✅ Entornos separados (dev/prod)
164+
165+ #### ** A06:2021 - Vulnerable and Outdated Components**
166+ - ✅ Dependencias actualizadas y auditadas
167+ - ✅ Monitoreo de vulnerabilidades conocido
168+ - ✅ Stack tecnológico moderno y mantenido
169+
170+ #### ** A07:2021 - Identification and Authentication Failures**
171+ - ✅ Protección contra fuerza bruta (máx 5 intentos, bloqueo 15min)
172+ - ✅ Mecanismos de autenticación seguros
173+ - ✅ Gestión segura de sesiones
174+ - ✅ Logout completo y seguro
175+
176+ ### 🛡️ ** Características de Seguridad Adicionales**
177+
178+ #### ** Protección Contra DoS**
179+
180+ ``` python
181+ # Rate limiting por IP y usuario
182+ limiter = Limiter(default_limits = [" 200 per day" , " 50 per hour" ])
183+ @limiter.limit (" 5 per minute" ) # Subida archivos
184+ @limiter.limit (" 10 per minute" ) # Descargas
185+ @limiter.limit (" 3 per minute" ) # Eliminación
186+ ```
187+
188+ ## Seguridad en Tiempo Real (WebSockets)
189+ ✅ Autenticación SocketIO con middleware
190+
191+ ✅ Rate limiting por conexión WebSocket
192+
193+ ✅ Sanitización de mensajes en tiempo real
194+
195+ ✅ Validación de salas con Argon2
196+
197+ ## Auditoría y Logging
198+
199+ ```
200+ python
201+ # Logger concurrente con buffer
202+ logger = AdvancedLogger(
203+ logs_dir='./logs',
204+ max_file_size_mb=10,
205+ buffer_size=100 # Optimizado para alta carga
206+ )
207+ ```
208+
209+ ## Protección de Archivos
210+ ✅ Sanitización de nombres con secure_filename()
211+
212+ ✅ Cuarentena de archivos subidos
213+
214+ ✅ Validación de tipos MIME implícita
215+
216+ ✅ Límite de tamaño (16MB por archivo)
217+
218+
219+ 📊 Métricas de Seguridad
220+
221+ Categoría Nivel de Protección Implementación
222+ Autenticación 🔒🔒🔒🔒🔒 Argon2 + Fuerza Bruta
223+ Autorización 🔒🔒🔒🔒🔒 RBAC + Middleware
224+ Validación Input 🔒🔒🔒🔒○ Sanitización centralizada
225+ Protección DoS 🔒🔒🔒🔒○ Rate Limiting multi-nivel
226+ Auditoría 🔒🔒🔒🔒🔒 Logger con buffer y rotación
227+ ## 🚀 Hardening Adicional
228+
229+ ```
230+ bash
231+ # Variables de entorno críticas
232+ SECRET_KEY=tu_clave_super_secreta_aqui
233+ ADMIN_PASS=contraseña_compleja_admin
234+ ALLOWED_ORIGINS=https://tudominio.com
235+ DEBUG=False # En producción
236+ ```
237+
238+
0 commit comments