Información de seguridad

INFORMACIÓN GENERAL

La infraestructura de SocialShared, se encuentra alojada en la nube de servicios de computación distribuida Amazon Web Services, empresa lider en Cloud Computing.

La plataforma de Amazon, proporciona al proyecto un alto nivel de confiabilidad y disponibilidad, mediante el despliegue de amplios DataCenters y redes de computación redundantes a escala global, cumpliendo los más altos estándares de calidad y fiabilidad.

Su nube de computación igualmente proporciona flexibilidad y facilidad a la hora de escalar el proyecto según sus necesidades; de este modo es posible migrar recursos Hardware, ampliarlos o disminuirlos de forma dinámica y sin interrupciones de servicio. 

- Integridad del servicio:

Amazon garantiza la fiabilidad de sus sistemas de computación virtuales ofreciendo un SLA del 99,95% para su red de servicios EC2 (http://aws.amazon.com/es/ec2/sla/).

- Escalabilidad:

Las gestión de la plataforma en Amazon AWS, nos permite disponer de un modo rápido y eficaz, de cuantas máquinas sean necesarias en cada momento para que el estado del servicio y su procesamiento sea óptimo. Estas máquinas pueden aumentar o disminuir en número en función de las necesidades del momento, pudiendo disponer decenas de máquinas nuevas para procesar contenidos en cuestión de un par de minutos, y ser eliminadas poco a poco mientras la demanda de procesamiento decae.

No hablaremos de un servidor que está gestionando una web SocialShared, sino de una red de servidores en clúster, que se complementan y alinean para garantizar la estabilidad e integridad del servicio.

- Centros de datos:

Al contar con Amazon Web Services para el funcionamiento de nuestras máquinas, contamos además con muchísimos años de experiencia y todas las certificaciones de seguridad de una empresa referente en Cloud Computing.

A nivel físico y de red, todas sus medidas de seguridad se encuentran resumidas en su Security Whitepaper (http://media.amazonwebservices.com/pdf/AWS_Security_Whitepaper.pdf).

- Alta disponibilidad:

La flexibilidad de la plataforma y su ejecución por un número indeterminado de servidores trabajando en paralelo, permiten asegurar una disponibilidad de servicio óptima, cercana al 99,99% del tiempo.

DATOS Y SU ALMACENAMIENTO

El acceso físico a los datos contenidos en nuestros servidores es practicamente inviable, solo permitiéndose el acceso a los datos de manera lógica mediante sistemas de autenticación.

Para su ejecución, los datos se encuentran disponibles en volúmenes lógicos EBS, de Amazon Web Services, de forma distribuida y replicada, de modo que se garantiza una durabilidad de los mismos cercana al 99,99%.

A nivel lógico, los servidores trabajan alineados en cluster. Si un servidor presenta fallos de integridad, sus datos se encontrarán automaticamente replicados y seguros en un servidor paralelo.

COPIAS DE SEGURIDAD Y RESPALDO DE DATOS

Nivel 1 - Backups incrementales.

Se efectúan copias de seguridad incrementales de los datos cada hora de funcionamiento. El tiempo máximo de vida de una copia de seguridad es de 1 mes desde su creación. Estas copias de seguridad se encuentran ubicadas en la misma red, que los servidores de aplicación, en dispositivos de almacenamiento de AWS EBS.

Nivel 2 – Backups incrementales en Amazon S3.

Una vez al día, se realiza un backup de seguridad incremental en almacenamiento remoto S3 de Amazon, en una instalación o zona distinta de almacenamiento, dotando a los datos de una durabilidad y disponibilidad del 99,99%.

Los backups programados en distintas periodicidades, almacenan:

  • Archivos de la web y archivos del repositorio de desarrollo (programación) de ésta. 2 veces al día. De forma incremental. No más de 30 días.
  • Bases de datos: 3 veces al día. Copias completas en SQL. No más de 30 días.
  • Archivos de configuración de servidores. 1 vez al día de forma incremental. No más de 120 días.
  • Archivos de desarrollo del software y revisiones. No más de 120 días.

SEGURIDAD

Accesos a la web y seguridad:

El acceso a los portales SocialShared se restringe a encriptación SSL de 128bits, algoritmo SHA-1 y clave de seguridad de 2048 bits. El protocolo será seguro y encriptado entre cliente y servidor, empleando el protocolo HTTPS y protegiendo de posibles miradas externas todas las comunicaciones.

Accesos a la plataforma y gestión:

A nivel interno, nuestra red se define por la seguridad a varios niveles en los accesos a plataforma:

- Nivel frontal: 

Los servidores de SocialShared solo son accesibles vía web para sus dominios. No hay tráfico permitido que no sea gestionado por los servidores web en sus puertos 80 y 443 (http y https). Un atacante no podría más que encontrar servicios web si realizara un rastreo de puertos.

- Nivel backend:

El personal técnico administrador de la plataforma SocialShared, dispondrá de un acceso por puerta trasera a toda la red de servidores, para su administración y gestión. El acceso será vía SSH, sin autenticación por contraseña, y restringido a un archivo-clave RSA de 1024-2048 bits que sólo poseerá el personal técnico responsable del servicio.

La IP en Internet en la que escucha el servidor SSH no guardará relación alguna con los dominios SocialShared y por tanto tendrá un carácter seguro por oscuridad. Sólo el personal autorizado dispondrá del conocimiento y acceso a este servidor de acceso, bien vía IP, bien vía subdominio de gestión.

Estos dos niveles de seguridad en red, conceptuales, se refuerzan mediante el uso restrictivo de cortafuegos en cada punto del servicio. Los cortafuegos sólo permitirán accesos desde el exterior a los puertos permitidos.

Los distintos servidores que conforman la plataforma SocialShared se encuentran protegidos y ubicados en una red privada virtual VPC en la red de Amazon AWS: las comunicaciones entre ellas son posibles y gestionadas igualmente por cortafuegos. El acceso a los servicios de esta red solo se define en los dos niveles de seguridad anteriores: frontal y backend, de forma controlada y mediante Firewall.

Tránsito de datos:

Toda comunicación de datos entre servidores, sea para la generación de Backups de carácter remoto, o para la publicación de código en desarrollo, se efectúa mediante un túnel SSH protegido siempre mediante intercambio de claves RSA pública/privada. La encriptación de la comunicación vendrá dada por AES 128-192-256 bits, mientras que el intercambio de claves empleará el algoritmo ECDH-SHA2-NISTP.

Vía web SocialShared se restringe a encriptación SSL de 128bits, algoritmo SHA-1 y clave de seguridad de 2048 bits. 

FIABILIDAD DEL SERVICIO

Todo servicio dentro de la arquitectura SocialShared se encuentra distribuido en una red de servidores de aplicación. La aplicación se divide en tres fases:

Nivel procesamiento web:

Los servidores de procesamiento web, se crean y destruyen en función del número necesario para la estabilidad del servicio, y el servicio es accedido mediante un balanceador ELB (AWS). La capacidad de creación/destrucción de máquinas es automática y se autogestiona en función de distintos parámetros, como la carga del sistema en conjunto, o el ancho de banda empleado por la plataforma.

Nivel procesamiento de archivos, sesiones y media:

Los servidores de Media, facilitan a los de procesamiento web los archivos y datos de sesión necesarios para su actividad. Su acceso igualmente está balanceado por aplicación en cada frontal.

Nivel procesamiento de datos:

Los servidores de base de datos, se encuentran dispuestos en Cluster y son accedidos igualmente de forma balanceada por aplicación.

Esta distribución de los servicios permite reaccionar rápidamente ante situaciones que podrían incidir en el servicio y otorgan una capa extra de fiabilidad basada en el multipunto. La capacidad técnica de generar nuevas máquinas de aplicación de cada nivel en cuestión de simples minutos, unida a la flexibilidad del sistema de backups, nos facilita un margen de actuación rápido en situaciones de posible desastre o de sobrecarga de la red.

SEGURIDAD DE LA APLICACIÓN WEB

La aplicación gestiona posibles accesos no permitidos a tres niveles de seguridad:

  • Primera fase, si se detecta un número determinado de intentos de acceso no válidos, automaticamente un sistema de Captcha aparecerá para prevenir Bots.
  • Segunda fase, la IP del visitante remoto sería bloqueada si se supera un umbral definido de intentos máximos. 
  • Tercera fase final, si aun bloqueando la IP se detectan nuevos intentos de acceso no válidos, el usuario sería bloqueado y una notificación enviada vía email con instrucciones para su reactivación.

GESTIÓN DE LA PLATAFORMA

La gestión del entorno de producción de SocialShared, se realiza al amparo de la Ley Orgánica 15/1999 de 13 de Diciembre de Protección de Datos de Carácter Peronal (LOPD) de España.

Algunas de las medidas de gestión son:

  • Existen políticas para la gestión de soportes y documentos.
  • Existen registros y datos de Log sobre los accesos, incidentes y actualizaciones de Software, así como de cualquier operación de mantenimiento sobre las plataformas.
  • El acceso a los servidores para su mantenimiento o actualización de Software, se efectúa mediante intercambio de certificados o llaves encriptadas, no mediante contraseñas.
  • Todas las versiones de Software en la plataforma se encuentran actualizadas, teniendo en cuenta las actualizaciones de seguridad publicadas mediantes repositorios seguros.

MONITORIZACIÓN Y SOPORTE

Para asegurar la calidad del servicio, el entorno se encuentra en constante monitorización en dos niveles.

Por un lado, Amazon AWS facilita herramientas y alarmas que determinan el estado del Hardware que conforma la plataforma SocialShared. Con una frecuencia de 5 minutos, distintos aspectos del funcionamiento de los servidores serán motivo de alarma y correspondiente alerta a soporte. Asímismo, algunos sensores de alarma autoescalarán el número de máquinas disponibles en caso de sobreprocesamiento, sobrecarga o picos de transferencia, para adaptar la plataforma a un escenario de alta demanda o baja demanda.

Aparte, un sistema de monitorización remoto, mediante plataforma NODEPING, informa con una frecuencia de 1 minuto de cualquier eventualidad o caida del servicio. Está programado para medir distintos parámetros de funcionamiento, entre los que se incluyen tiempos de procesamiento, tiempos de acceso a base de datos, tiempos de acceso a contenido multimedia, etc. En caso de caida, se enviarán SMS de alerta para notificar al Dpto. de soporte.

El soporte se basa en un personal de guardia en modalidad 24x7 que responderá ante cualquier eventualidad o incidencia en el servicio.