Aether Panel Documentation
Seguridad y Mejores Prácticas
Introducción a la Seguridad
La seguridad es una prioridad fundamental en Aether Panel. Este documento cubre las mejores prácticas, características de seguridad integradas y recomendaciones para mantener tu instalación segura.
Aether Panel incluye múltiples capas de seguridad para proteger tus datos y servidores, incluyendo autenticación robusta, sistema de permisos granular, encriptación y más.
Autenticación
Aether Panel implementa un sistema de autenticación robusto con múltiples capas de seguridad:
El panel utiliza sesiones seguras basadas en cookies HTTP-only para la autenticación web. Las sesiones se validan en cada petición y expiran automáticamente después de un período de inactividad.
Para acceso programático, el panel soporta OAuth2 con el flujo Client Credentials. Los tokens tienen scopes específicos que limitan qué acciones pueden realizar.
- Tokens con expiración automática
- Scopes granulares para control de acceso
- Regeneración segura de client secrets
- Revocación de tokens
Aether Panel soporta TOTP (Time-based One-Time Password) para autenticación de dos factores. Compatible con aplicaciones como Google Authenticator, Authy, Microsoft Authenticator, etc.
- Ve a tu perfil en el panel
- Haz clic en 'Configurar 2FA'
- Escanea el código QR con tu aplicación de autenticación
- Ingresa el código de verificación para confirmar
- Guarda los códigos de recuperación en un lugar seguro
Cuando configuras 2FA, se generan códigos de recuperación únicos. Guárdalos en un lugar seguro. Si pierdes acceso a tu dispositivo 2FA, puedes usar estos códigos para deshabilitar 2FA y recuperar acceso a tu cuenta.
Las contraseñas en Aether Panel están protegidas con:
- Hashing con bcrypt: Las contraseñas nunca se almacenan en texto plano
- Salt automático: Cada contraseña tiene un salt único
- Validación de fortaleza: Se recomienda usar contraseñas de al menos 12 caracteres
- Política de contraseñas: Configura requisitos mínimos para tus usuarios
- Mínimo 12 caracteres (recomendado 16+)
- Combinación de mayúsculas, minúsculas, números y símbolos
- No reutilices contraseñas de otros servicios
- Usa un gestor de contraseñas (como Bitwarden, 1Password, etc.)
- Cambia las contraseñas regularmente, especialmente las de administrador
Mejores Prácticas de Seguridad
Sigue estas recomendaciones para mantener tu instalación de Aether Panel segura:
- Mantén tu panel actualizado: Ejecuta siempre la última versión de Aether Panel para asegurarte de tener los últimos parches de seguridad.
- Actualiza el sistema operativo regularmente: Aplica parches de seguridad del sistema operativo.
- Revisa los logs regularmente: Monitorea los logs del panel para detectar actividad sospechosa.
- Haz backups regulares: Mantén backups actualizados de tu base de datos y configuración.
- Usa contraseñas seguras: Impón políticas de contraseñas robustas para todas las cuentas de usuario.
- Habilita 2FA para administradores: Todos los administradores deben tener 2FA habilitado.
- Habilita 2FA para usuarios: Anima a todos los usuarios a habilitar 2FA.
- Rota las contraseñas regularmente: Especialmente para cuentas administrativas.
- No compartas credenciales: Cada usuario debe tener su propia cuenta.
- Limita los permisos de usuario: Concede a los usuarios solo los permisos que absolutamente necesiten.
- Revisa permisos regularmente: Audita los permisos de usuario periódicamente.
- Usa roles en lugar de permisos individuales: Simplifica la gestión y reduce errores.
- Desactiva cuentas no utilizadas: Elimina o desactiva cuentas de usuarios que ya no necesitan acceso.
- Usa HTTPS: Accede siempre a tu panel a través de una conexión segura HTTPS.
- Configura SSL/TLS correctamente: Usa certificados válidos (preferiblemente Let's Encrypt).
- Restringe acceso por IP: Si es posible, limita el acceso administrativo a IPs específicas.
- Usa VPN para acceso remoto: Para acceso administrativo remoto, usa una VPN en lugar de exponer el panel directamente.
- Configura el firewall correctamente: Solo abre los puertos necesarios.
- Deshabilita SSH con contraseña: Usa autenticación por clave SSH.
- Cambia el puerto SSH por defecto: Reduce la exposición a ataques automatizados.
- Monitorea recursos del sistema: Configura alertas para uso anormal de CPU, RAM o disco.
- Aísla servidores: Cada servidor debe ejecutarse en su propio entorno aislado.
- Protege tus client secrets: Nunca compartas client secrets públicamente.
- Rota client secrets regularmente: Genera nuevos secrets periódicamente.
- Usa scopes mínimos: Solo otorga los scopes necesarios para cada cliente OAuth2.
- Monitorea uso de API: Revisa logs de API para detectar actividad anormal.
- Implementa rate limiting: Si creas integraciones, respeta los límites de tasa.
Configuración del Firewall
Asegúrate de que el firewall de tu servidor esté configurado correctamente. Los siguientes puertos deben estar abiertos para que el panel funcione correctamente:
8080/TCPPuerto predeterminado para el panel web (HTTP/HTTPS). Obligatorio.
En producción, considera restringir este puerto a IPs específicas o usar un proxy reverso.
8081/TCPPuerto para Gatus (monitoreo de uptime). Opcional pero recomendado.
Puede ser restringido a acceso interno si no necesitas acceso externo.
5657/TCPPuerto SFTP para transferencia de archivos. Obligatorio si usas SFTP.
Solo debe ser accesible para usuarios que necesitan transferir archivos.
22/TCPPuerto SSH para administración del servidor. Recomendado cambiar a un puerto no estándar (ej: 2022).
Solo debe ser accesible para administradores. Considera usar fail2ban.
Para configurar el firewall con UFW:
# Permitir puertos necesarios
sudo ufw allow 8080/tcp
sudo ufw allow 5657/tcp
sudo ufw allow 8081/tcp
# Cambiar puerto SSH (opcional pero recomendado)
sudo ufw allow 2022/tcp
sudo ufw deny 22/tcp
# Habilitar firewall
sudo ufw enable
# Verificar estado
sudo ufw statusPara configurar el firewall con firewalld:
# Permitir puertos necesarios
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=5657/tcp
sudo firewall-cmd --permanent --add-port=8081/tcp
# Cambiar puerto SSH (opcional pero recomendado)
sudo firewall-cmd --permanent --add-port=2022/tcp
sudo firewall-cmd --permanent --remove-service=ssh
# Aplicar cambios
sudo firewall-cmd --reload
# Verificar reglas
sudo firewall-cmd --list-portsConfiguración SSL/TLS
El uso de HTTPS es esencial para proteger las credenciales y datos transmitidos entre el cliente y el servidor.
Let's Encrypt proporciona certificados SSL gratuitos y renovación automática. Para configurarlo:
- Instala Certbot: sudo apt install certbot (Ubuntu/Debian) o sudo dnf install certbot (Fedora)
- Obtén certificado: sudo certbot certonly --standalone -d tu-dominio.com
- Configura renovación automática: sudo certbot renew --dry-run
- Configura Nginx para usar el certificado (ver documentación de Nginx)
Los certificados de Let's Encrypt expiran cada 90 días, pero Certbot puede renovarlos automáticamente.
Los certificados auto-firmados solo deben usarse en entornos de desarrollo. Nunca los uses en producción.
Los navegadores mostrarán advertencias de seguridad con certificados auto-firmados.
Monitoreo y Detección de Intrusiones
Monitorear tu instalación ayuda a detectar problemas de seguridad antes de que se conviertan en incidentes graves.
Revisa regularmente los logs del panel para detectar:
- Intentos de inicio de sesión fallidos
- Accesos desde IPs desconocidas
- Actividad anormal de API
- Errores inusuales o patrones sospechosos
Nativo: En instalaciones nativas: /var/log/skypanel/
Docker: En Docker: docker-compose logs -f skypanel
Fail2ban puede proteger tu servidor contra ataques de fuerza bruta bloqueando IPs después de múltiples intentos fallidos.
# Ubuntu/Debian
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban# Fedora/RHEL/CentOS
sudo dnf install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2banCrea un archivo de configuración personalizado en /etc/fail2ban/jail.local para proteger SSH y otros servicios.
Backups y Recuperación
Los backups regulares son esenciales para la seguridad y continuidad del negocio.
- Base de datos del panel (database.db o MySQL)
- Archivo de configuración (config.json)
- Archivos de servidores importantes
- Certificados SSL
- Configuración de Nginx/Apache
Se recomienda hacer backups diarios de la base de datos y semanales de archivos de servidores. Ajusta según tus necesidades.
- Almacena backups en una ubicación separada del servidor principal
- Usa encriptación para backups sensibles
- Prueba la restauración de backups regularmente
- Mantén múltiples versiones de backups (últimos 7 días, mensuales, etc.)
Respuesta a Incidentes
Si sospechas que tu instalación ha sido comprometida:
- Desconecta el servidor de la red inmediatamente si es posible
- Cambia todas las contraseñas (panel, base de datos, SSH, etc.)
- Revisa los logs para identificar el vector de ataque
- Revoca todos los tokens OAuth2 y regenera client secrets
- Revisa y elimina cualquier usuario o permiso sospechoso
- Restaura desde un backup conocido seguro si es necesario
- Actualiza el panel y todas las dependencias
- Notifica a los usuarios afectados si es apropiado
La mejor respuesta a incidentes es prevenirlos. Sigue todas las mejores prácticas de seguridad y mantén tu instalación actualizada.
Checklist de Seguridad
Usa este checklist para asegurarte de que tu instalación está configurada de forma segura:
- Panel actualizado a la última versión
- Sistema operativo actualizado
- HTTPS configurado con certificado válido
- 2FA habilitado para todos los administradores
- Firewall configurado correctamente
- Puerto SSH cambiado del puerto 22
- Contraseñas seguras para todas las cuentas
- Permisos de usuario revisados y limitados
- Backups configurados y probados
- Logs siendo monitoreados
- Fail2ban configurado (recomendado)
- Acceso administrativo restringido por IP (si es posible)
- Client secrets OAuth2 protegidos
- Certificados SSL con renovación automática configurada
