Protección de Uploads: Controla Qué Entra
La carpeta /uploads es donde se guardan imágenes, documentos y archivos que suben los usuarios. Es punto de entrada perfecto para atacantes porque:
- Es accesible públicamente
- Muchos usuarios pueden subir archivos
- Si no está protegida, un usuario puede subir un archivo .php que se ejecuta
Upload Protection de SeenSecure verifica CADA archivo que se sube: su tipo, tamaño, contenido. Si algo sospechoso se detecta, se bloquea.
Amenazas Contra Uploads
1. Subida de Archivos Ejecutables
Atacante sube archivo .php que, cuando accedido, ejecuta código malicioso.
upload.php → contiene: → atacante ejecuta comandos en tu servidor
2. Cambio de Extensión
Atacante sube .php pero lo renombra a .jpg para pasar validaciones básicas.
malware.php → renombrado a → photo.jpg (pero sigue siendo PHP)
3. Polimorfismo
Malware que muta su código para evadir detección antivirus. Cada copia es diferente.
4. Archivo ZIP Bomba
Archivo comprimido que contiene 1000GB de datos. Cuando se descomprime, usa todo el almacenamiento del servidor.
5. Inyección de Metadatos
Malware insertado en metadatos de imagen (EXIF). Si WordPress procesa la imagen sin sanitizar, ejecuta código.
| Tipo de Ataque | Peligrosidad | Detección |
|---|---|---|
| Upload .php directo | ⭐⭐⭐⭐⭐ | Muy fácil |
| Extensión falsa | ⭐⭐⭐⭐ | Fácil |
| Polimorfismo | ⭐⭐⭐ | Difícil |
| Metadatos | ⭐⭐⭐ | Muy difícil |
¿Qué Protege Upload Protection?
1. Validación de Extensión
Solo permite extensiones permitidas: jpg, png, gif, pdf, doc, docx, xls, etc.
Rechaza: .php, .exe, .sh, .bat, .js, .svg (con script), .htaccess
2. Validación de MIME Type
Verifica que el contenido real del archivo coincida con su extensión.
Archivo: fake.jpg MIME Type: image/png ← No coincide, se rechaza Contenido: <?php ... → PHP detectado, se rechaza
3. Análisis de Contenido (Sandboxing)
Lee el contenido del archivo en un entorno seguro ("sandbox") sin ejecutar código.
Busca patrones maliciosos: eval(), system(), exec(), shell_exec(), etc.
4. Límites de Tamaño
Configurable por tipo de archivo. Ejemplos:
- Imagen: máx 5MB
- PDF: máx 20MB
- Video: máx 500MB
5. Escaneo con ClamAV (Opcional)
Si tu servidor tiene ClamAV (antivirus), SeenSecure lo usa para escanear cada upload.
Detecta virus y malware conocidos automáticamente.
6. Análisis de Metadatos
Lee y sanitiza metadatos (EXIF, XMP) de imágenes y documentos.
Elimina código sospechoso, guarda archivo limpio.
7. Restricción por Usuario
Límites diferentes según rol:
- Admin: Sin restricciones
- Editor: 50MB por mes
- Autor: 5MB por mes
Cómo Configurar Upload Protection
Paso 1: Activar Protección
SeenSecure > Firewall > Upload Protection > Habilitar
Paso 2: Definir Extensiones Permitidas
- Imágenes: jpg, png, gif, webp
- Documentos: pdf, doc, docx, xls, xlsx, ppt
- Audio: mp3, m4a, wav
- Video: mp4, webm, mov
Nota: Solo añade extensiones que realmente necesitas.
Paso 3: Establecer Límites de Tamaño
Ejemplos recomendados:
| Tipo | Límite Individual | Límite Mensual por Usuario |
|---|---|---|
| Imagen | 5MB | 100MB |
| 20MB | 200MB | |
| Video | 100MB | 500MB |
Paso 4: Activar Análisis Profundo
- Marcar "Escanear Metadatos"
- Marcar "Verificar Contenido vs Extensión"
- Marcar "Sanitizar EXIF" (remove datos personales de fotos)
Paso 5: Configurar Acciones en Detección
- Rechazar: Bloquea upload inmediatamente
- Cuarentena: Guarda archivo en carpeta protegida para análisis
- Notificar: Envía email al admin
- Bloquear IP: Si 3+ intentos fallidos, bloquea esa IP
Paso 6: Limpiar Uploads Existentes (Opcional)
SeenSecure puede escanear archivos subidos anteriormente y reportar riesgos.
Mejores Prácticas
Para Administradores
- Mantén lista de extensiones permitidas lo más pequeña posible
- Revisa semanalmente uploads rechazados (SeenSecure > Uploads)
- Si hay muchos rechazos legítimos, ajusta configuración (no la desactives)
- Educa usuarios: No todos entienen por qué se rechaza un archivo
Para Usuarios
- Si tu archivo se rechaza, es por razón de seguridad
- Si necesitas subir ese tipo de archivo, contacta al admin
- Comprime imágenes grandes antes de subir (mejora velocidad también)
- Usa nombres de archivo seguros (sin caracteres raros)
Qué Hacer si Alguien Intenta Subir Malware
- SeenSecure lo rechaza automáticamente
- Revisa logs: SeenSecure > Monitoreo > Upload Attempts
- Si es usuario legítimo que no sabía, explica
- Si hay múltiples intentos desde misma IP, considera bloqueo temporal
Preguntas Frecuentes
¿Si rechazo SVG, me falta funcionalidad? No mucho. SVG es muy versátil pero también es vector de ataque. Si lo necesitas, usa versión "segura" que SeenSecure permite.
¿Ralentiza la subida? Ligeramente. Análisis de contenido añade 1-2 segundos. Pero la seguridad vale la pena.
¿Qué pasa si subo accidentalmente un archivo prohibido? Se rechaza, ves mensaje de error, lo intentas con otro archivo. Nada peligroso.
¿Puedo permitir que solo Admins suban videos? Sí. Configura permisos por rol en SeenSecure.