SabeeApp Seguridad & Cumplimientos
Servicio nativo basado en la nube
SabeeApp ha sido desarrollado para ser un sistema basado en la nube que tiene varias ventajas. Todo lo que necesitas es acceso a internet, un navegador y una cuenta activa de SabeeApp. No se puede instalar SabeeApp en un ordenador porque algunos de sus funciones y servicios funcionan diferentemente que en caso de los softwares instalados.
SabeeApp no utiliza un servidor físico sino se ejecuta en la infraestructura en la nube de AWS (Amazon Web Services) que es una plataforma SAAS (Software como Servicio) descrito aquí abajo.
SabeeApp está utilizando una base de datos compartida y una base de código, o en otras palabras, está facilitando una infraestructura de múltiples inquilinos. Esto significa que más clientes están conectados a una base de datos. Estamos usando una base de datos compartida y una base de código y todos nuestros clientes están usando esta base de código o este tipo de instalación. Una de las principales ventajas de esto es que cada cliente utiliza la versión más actualizada del software. Por supuesto, esto no significa que debido a esta estructura la seguridad se vea comprometida. También utilizamos diferentes permisos de usuario en SabeeApp y en un sistema compartido de múltiples inquilinos, un cliente puede identificarse como una cuenta de usuario diferente.
Infraestructura
El software SabeeApp se ejecuta en el sistema en la nube de AWS (Amazon Web Services) en su centro de datos de Amazon en Irlanda. Todos los servicios utilizados por AWS se basan en multiples zonas, de modo que si una zona está fuera de servicio, el resto del sistema puede superar toda la ejecución.
- Route53
- WAF (Web Application Firewall)
- S3 (Simple Storage Service)
- ALB (Application Load Balancer)
- VPC (Virtual Private Network)
- RDS (Relational Database Service)
- ElastiCache
- Elasticsearch Service
- CloudWatch (monitoring, alarming)
- KMS (Key Management Service)
- Certificate Manager
- OpsWorks
- CodeCommit
Proveedores de servicio de partido tercero
- Beanstalk (svn, git) - Comparte de código fuente
- Github - Comparte de código fuente
- Google Analytics - con motivo de análsis
- Twillio - Servicio de mensajería
- Mandrillapp, Mailchimp - Servicio de correos electrónicos
- Technical stack (desarrollos, pruebas, producción)
En SabeeApp utilizamos los siguientes lenguajes de programación: PHP, Javascript, Bootstrap y tenemos las siguientes etapas de desarrollo:
Seguridad de base de datos, de datos y recuperación tras incidentes
SabeeApp, como es un sistema basado en la nube, la pérdida de datos puede ocurrir si la falla o el problema está relacionado con la base de datos o el sistema de archivos donde se almacenan los archivos PDF u otros documentos.
Los siguientes protocolos y soluciones están implementados para minimizar el riesgo de pérdida de datos:
- Los datos de la vida real se almacenan en varias bases de datos debido a la base de datos que se replica continuamente
- Cada noche se realiza una copia de seguridad, que se puede restaurar en minutos, de la cual almacenamos las últimas 9 copias.
- Entre las máquinas RDS y EC2, la comunicación se realiza a través de un canal cifrado.
- Solo se puede acceder a la base de datos desde el sistema interno o mediante el sistema SSH conectándose al servidor principal.
- Los datos confidenciales en la base de datos se almacenan con cifrado diferente, por ejemplo, tarjetas de crédito con cifrado de 2 claves y contraseñas con cifrado SHA-512 salado
- La base de datos está dividida en 3 zonas y en caso de que una zona esté fuera de servicio, otra zona tomará el control, automáticamente.
Proceso de gestión de incidentes
En SabeeApp cada incidencia se resuelve siguiendo un estricto protocolo y luego se documenta. Este protocolo está disponible para todos los empleados de SabeeApp para uso interno.
En caso de un incidente, seguimos los procesos siguientes:
- Identificación el problema
- Comunicación el problema hacia todo el equipo de SabeeApp
- Nombramos al coordinador de incidente, si es necesario
- Comunicamos el problema al clientes en caso de que el incidente esté relacionado con un cliente.
- Eliminamos el problema
- Evitamos que el problema vuelva a ocurrir (si es necesario, verificamos y cambiamos nuestro protocolo)
- Recuperamos los datos y el código fuente si es necesario
- Creamos scripts y los ejecutamos en caso de que sea necesario reemplazar / modificar datos
- Informamos a los socios técnicos si es necesario
- Informar a los clientes sobre la solución del incidente
- Documentamos el incidente
- Infrascture security (medidas de seguridad de Amazon, prueba de penetración, tl, MFA)
Debido a la administración del sistema en la nube de AWS, la actualización y los problemas de seguridad de los servidores son responsabilidad de los ingenieros de Amazon. El punto de ataque se minimiza tanto como sea posible gracias al gran equipo de seguridad y de ingeniería.
Las credenciales de inicio de sesión en AWS solo se otorgan a los colegas por una buena razón y solo se les permite usarlas con estrictas medidas de seguridad (utilizando una contraseña estricta y MFA)
Con la ayuda de un tercero, regularmente realizamos pruebas de penetración de caja negra y gris para identificar la vulnerabilidad del sistema.
También analizamos regularmente la seguridad y la calidad del código fuente con la herramienta SonarQube.
Todo el tráfico de datos está cifrado con al menos cifrado TLS 1.2 y todos los datos que almacenamos están cifrados.
Todas las contraseñas almacenadas por SabeeApp tienen hash, nunca almacenamos ninguna contraseña o datos secretos como texto.
El registro del rendimiento del sistema interno se basa en varios niveles de seguridad.
Gestión de seguridad del personal
- El contrato de trabajo de cada colega contiene información sobre el manejo de datos y el acuerdo de la obligación de mantener el secreto. La formación de cada nuevo colega incluye formación en seguridad y protección de datos.
- La conectividad al AWS solo se proporciona por una buena razón y si es necesaria para el trabajo.
- Nuestros ingenieros tienen derechos de lectura solo sobre nuestra base de datos en vivo.
- Para uso interno y cuando sea posible, solo usamos contraseñas de alta seguridad administradas por 1 contraseña y usamos identificación MFA siempre que sea posible.
- Nuestros colegas reciben regularmente capacitaciones en seguridad y seguridad de datos
Certificados
- PCI - DSS Nivel1 AOC
- Certificado NTAK
- Certificado VIZA