En este artículo se describe la estrategia de hardening Athento Cloud. Este enfoque de seguridad se organiza en 4 grandes áreas: identificación de riesgos, protección de la infraestructura y del servicio, monitorización/detección de eventos y respuesta ante vulnerabilidades.
1. Identificación de riesgos de seguridad
Athento cuenta con certificaciones de hacking ético y planificaciones de ejecución. De forma periódica se ejecutan pruebas de penetración planificadas para obtener un informe con posibles problemas físicos, de red o de aplicación que puedan ser objeto de ataques. Con base en ese informe, se aplican correcciones y/o ajustes sobre las estrategias de hardening que se detallan a continuación.
Las principales motivaciones para realizar ataques éticos de forma regular son:
- Obtener una fotografía puntual del estado global de la seguridad.
- Reducir riesgos al mínimo en fases previas a puestas en producción.
En la siguiente gráfica se muestran las fases del hacking ético ejecutado por Athento.
Las actuaciones que se llevan a cabo son:
- Auditoría de vulnerabilidades.
- Pentesting.
Estas actuaciones se realizan conforme a las siguientes metodologías:
- ISECOM OSSTMM 3.0
- OWASP
- NIST SP 800-42, 800-115
- ISSAF
- Penetration Testing Framework
- PTES
Además de las pruebas automatizadas o manuales realizadas por Athento, nuestro cloud también es sometido a pruebas por los departamentos de seguridad de algunos clientes (grandes corporaciones especialmente preocupadas por la protección de sus documentos).
2. Protección de la infraestructura y del servicio
A continuación se describen las distintas capas de seguridad aplicadas al servicio y a la infraestructura que lo soporta (algunas de ellas solo están disponibles bajo demanda y en función del proveedor de infraestructura):
2.1 Nivel físico de seguridad
- Datacenters con alto nivel de seguridad física.
- Controles físicos de acceso.
- Control de incendios.
- Seguridad de red.
- Control de seguridad de servidores para garantizar un funcionamiento correcto.
- Sistemas eléctricos replicados.
- Separación geográfica.
- Opciones de conectividad que permiten establecer conexiones privadas o exclusivas desde su
- oficina o entorno local.
- etc.
2.2 Seguridad propia del alojamiento cloud
Athento utiliza datacenters y servicios cloud que ofrecen protección intrínseca, desde la seguridad física en servidores dedicados en OVH hasta niveles avanzados de seguridad en servicios de virtualización y control de accesos en Azure o Amazon Cloud.
A continuación se describen características generales de los distintos proveedores utilizados por nuestro servicio cloud.
- Azure: Las soluciones arquitectónicas de Athento desplegadas sobre Azure incorporan las características de seguridad propias del proveedor. De este modo, Athento asegura esa capa de control en sus servicios. Además, dadas las características y componentes que incluye Azure para realizar controles de seguridad (NSG), Athento integra las capas necesarias para reducir el riesgo según lo indicado anteriormente.
- OVH: Athento utiliza servidores dedicados para desplegar sus soluciones. En OVH, los sistemas cuentan con un alto nivel de seguridad física y control de ataques para mantener los niveles de servicio de red establecidos. Sin embargo, no incluyen capas de seguridad a nivel de máquina y servicios, por lo que Athento aplica su política de seguridad a nivel de servidor.
- AWS: La seguridad es una prioridad para AWS. Al igual que en Azure, AWS cuenta con servicios de monitorización y protección del flujo de información hacia la plataforma donde Athento despliega sus servicios.
2.3 Seguridad a nivel de redes y comunicación
- Perímetro: Control de DNS para descubrir dominios que apunten a sistemas y/o servicios disponibles y asegurar dichos activos. En Athento se realizan procesos de control de TLDs y RIR para asegurar el perímetro público cuando se opera en el ámbito de Internet. Algunas herramientas utilizadas son: Sublist3r, Aquatone y SpiderFoot.
- VPN: Athento establece VPNs para aportar seguridad en el acceso y en la comunicación, tanto para actualizaciones como para accesos controlados. Se ofrece VPN sitio-a-sitio para organizaciones y accesos punto-a-sitio para accesos específicos a cuentas seguras.
- Firewall: Activación de firewalls para definir IP filtering entre servicios y controlar el estado de puertos de comunicación.
- Protección Anti-DDoS.
- Confidencialidad de los datos.
- Firewalls de red integrados.
- Cifrado en tránsito con TLS controlado por el cliente en todos los servicios.
- Opciones de conectividad que permiten establecer conexiones privadas o exclusivas desde su oficina o entorno local.
- Cifrado automático de la totalidad del tráfico en redes regionales y globales.
2.4 Sistema operativo
Athento aplica una política de actualizaciones automáticas para sus sistemas operativos, normalmente Ubuntu en sus últimas versiones LTS. Se controla la actualización de paquetes de seguridad para mantener los sistemas en versiones al día.
2.5 Seguridad a nivel de servidor web
- Configuración segura: Para securizar Apache, Athento aplica un conjunto de configuraciones destinadas a evitar la publicación de información que pueda ayudar a un atacante.
- WAF (Web Application Firewall): Athento configura un firewall web para limitar ataques.
- HTTPS: Cifrado TLS en las comunicaciones, manteniendo protocolos y suites de cifrado seguros.
- Apache Modsecurity: Firewall de aplicaciones web que proporciona protección frente a diversos ataques y permite monitorizar tráfico HTTP, así como realizar análisis en tiempo real sin necesidad de cambios en la infraestructura existente. ModSecurity filtra ataques por XSS, SQL Injection, comportamientos anómalos en protocolos, robots, troyanos, LFI, etc., e incorpora reglas específicas.
- IP filtering: En la definición de los virtualhost usados como proxies se establecen reglas de seguridad, incluyendo IP filtering.
- Eliminación de puertos y servicios innecesarios: En las tareas de penetración, Athento detecta puertos y servicios innecesarios, que se eliminan y/o se cierran.
2.6 Seguridad a nivel de Athento
De forma general, Athento aplica medidas como las siguientes:
- Control de ataques de fuerza bruta.
- Bloqueo de aplicaciones malintencionadas.
- Protección frente a SQL Injection.
- Cifrado de datos almacenados: blobs y binarios.
- Control de passwords.
- Herramientas de auditoría (logs de seguridad y logs de movimientos sobre documentos).
A continuación se detallan algunos mecanismos de seguridad definidos en las capas de la propia aplicación.
- Django: Django ofrece mecanismos de seguridad frente a Cross site scripting (XSS), Cross site request forgery (CSRF), SQL injection protection, Clickjacking protection, SSL/HTTPS, Host header validation, Session security, User-uploaded content y otras medidas. Más información en https://docs.djangoproject.com/en/2.2/topics/security/
- Conexión con PostgreSQL: Control de acceso mediante reglas de usuario e IP filtering.
- Cifrado de repositorio: Athento cuenta con la capacidad de cifrado de repositorio mediante clave secreta o certificado.
- Hotfixing: Athento cuenta con una política de actualización de hotfixes orientada a resolver problemas de seguridad identificados a nivel de CVE o internos.
Asimismo, la gestión de la autenticación de la plataforma y la gestión de contraseñas merece un apartado específico:
Auth-chain
Dentro de la capa de autenticación y autorización de Athento, existe una suite de autenticadores que pueden encadenarse para alcanzar el máximo nivel de seguridad.
Política de contraseñas
Athento cuenta con una política de contraseñas que define los siguientes controles de seguridad:
- Histórico de cambios: se controlan las repeticiones de contraseñas.
- Complejidad y formato fuerte: se establecen reglas de formato con inclusión de caracteres especiales y uso obligatorio de mayúsculas y números.
- Tiempo de expiración: se definen tiempos de expiración para obligar a realizar actualizaciones de contraseña.
- Notificaciones de cambio: se establece un control de notificaciones tras el cambio o la solicitud de cambio.
- ¿Es posible solicitar a los usuarios el cambio periódico de sus contraseñas?
- ¿Athento solicita el cambio de contraseña en el primer acceso?
- Encriptado de passwords con algoritmos seguros.
- Bloqueo de usuarios por intentos fallidos de autenticación
- Control de sesiones
3. Monitorización o detección de eventos
Athento cuenta con sistemas de monitorización en distintos niveles, desde el sistema operativo (Ubuntu LTS 16+) hasta la monitorización y el control de accesos en las aplicaciones.
3.1 Monitorización del sistema operativo
En el contexto del sistema operativo se aplican políticas de control de acceso para identificar posibles ataques de red y detectar intrusiones (IDS), así como denegaciones de servicio o consumos de ancho de banda excesivos. Entre las herramientas utilizadas para la monitorización y detección de posibles ataques, DDoS o accesos no autorizados, se incluyen:
- psacct/acct: Control de actividad del sistema para identificar qué usuarios han accedido a la máquina, qué acciones se han realizado y qué procesos se han ejecutado, con el objetivo de localizar ejecuciones no permitidas y accesos no autorizados.
- Sniffers de control.
- Tcpdump: Monitorización de paquetes maliciosos.
- TCP SYN (Stealth) Scan (-sS): Identificación de puertos y servicios habilitados.
- Logwatch: Analizador de logs del sistema para identificar operaciones maliciosas.
- Sysstat: Monitorización del sistema para detectar cargas y consumos de red imprevistos.
Estas herramientas envían mensajes a los sistemas internos de Athento con los informes obtenidos, que se evalúan a diario.
3.2 Monitorización de servicios y máquinas
En cuanto a la monitorización de servidores y servicios, Athento cuenta con un sistema de monitorización cloud para verificar el estado de servicios y RUMs a nivel 24×7 y controlar el consumo y el estado de las comunicaciones.
Además, Athento utiliza monitores de rendimiento en el cloud que informan sobre posibles picos de uso o eventos de tipo DDoS.
4. Responder a las vulnerabilidades
Dentro de las prácticas de control de seguridad definidas por Athento se incluyen la auditoría de vulnerabilidades y el test de intrusión (pentesting), tal y como se ha indicado anteriormente. En la auditoría de vulnerabilidades se cuantifican y clasifican las vulnerabilidades, y se establecen recomendaciones para aplicar las actualizaciones necesarias. En el test de intrusión (pentesting) se detectan vulnerabilidades conocidas y algunas desconocidas, para evaluar su impacto y resolverlas con rapidez.
4.1 Detección y localización de vulnerabilidades mediante fuzzing y pentesting
Athento busca de forma activa bugs y vulnerabilidades de seguridad en sus aplicaciones. Para ello, se apoya en herramientas automatizadas de mercado.
A continuación se enumeran algunas de las herramientas utilizadas.
Herramientas de fuzzing
- Frameworks: Spike, Peatch, Sulley
- Red: doona
- Ficheros: Filefuzz, Spikefile, zzuf
- Browser: Mangleme
Herramientas de detección y localización
- Detectify
- Burp
- WebInspect
- Acunetix
- Nikto
- Skipfish
- Arachni
Hacking ético
Test de penetración en Athento
4.2 Respuesta a incidentes de seguridad
Athento dispone de una Política de Gestión de Incidentes de Seguridad que incluye instrucciones sobre:
- Cómo se deben comunicar los incidentes.
- Quién es la persona responsable de su gestión.
- Cómo se debe realizar el seguimiento.
- A quién y en qué plazos se debe informar sobre el incidente.
Athento cuenta también con una plataforma de gestión para el registro de incidentes.
4.3 Análisis de incidentes y vulnerabilidades
El equipo de seguridad revisa todos los sistemas de monitorización disponibles para recopilar la mayor cantidad de información posible sobre el incidente o la vulnerabilidad. Esta información sirve para documentar el caso y, si aplica, proceder a su explotación. La explotación se refiere a reproducir la vulnerabilidad o el incidente con el fin de solucionarlo.
5. Recuperación
Tanto si se trata de incidentes reportados porque han ocurrido como de vulnerabilidades detectadas en las pruebas, Athento debe actuar para corregirlas y recuperar la operación.
5.1 Explotación de vulnerabilidades
Una vez identificadas las vulnerabilidades, Athento las reproduce o explota para encontrar una solución.
Herramientas de explotación
- Mfsconsole
- Nessus
5.2 Recuperación de datos o documentos
Si se produce un incidente de seguridad que ocasiona pérdida de datos, la Política de Backup y de Recovery cobra especial relevancia.
¿Cuenta Athento con copia de seguridad y recursos que permitan restaurar y recuperar el sistema?
Limitaciones de esta configuración
IMPORTANTE: En función del proveedor de infraestructura, algunas de estas medidas pueden implicar gastos adicionales. Si el cliente no desea asumir costes adicionales, Athento propondrá alternativas a dichas medidas.