Servicio nativo en la nube
SabeeApp se ha desarrollado para estar basado en la nube, lo que tiene muchas ventajas. Solo necesitas una conexión a internet, un navegador web y una cuenta activa de SabeeApp.
SabeeApp no se instala en un ordenador, por lo que algunas funciones y servicios operan de forma distinta al software tradicional. El software no se ejecuta en un servidor físico, sino en la infraestructura en la nube de AWS (Amazon Web Services), una plataforma SaaS (Software as a Service) que detallamos a continuación.
Infraestructura multiusuario
SabeeApp utiliza una base de datos y un código compartidos; es decir, funciona con una infraestructura multiusuario. Esto significa que varios clientes se conectan a una misma base de datos y todos utilizan el mismo código y tipo de instalación. Una de las principales ventajas es que todos los clientes utilizan siempre la versión más reciente del software.
Esta estructura no compromete la seguridad en absoluto. En SabeeApp utilizamos diferentes permisos de usuario, y en un sistema multiusuario compartido cada cliente se identifica con una cuenta de usuario distinta.
Infraestructura
SabeeApp funciona mediante el sistema en la nube de AWS (Amazon Web Services) en su centro de datos de Amazon en Irlanda. Todos los servicios que utiliza AWS se basan en múltiples zonas, por lo que si una zona falla, el resto del sistema asume la carga.
Proveedores de servicios de terceros
- Beanstalk (svn, git) — uso compartido de código fuente
- GitHub — uso compartido de código fuente
- Google Analytics — para fines de análisis
- Twilio — proveedor de mensajes de texto
- Mandrillapp, Mailchimp — servicio de correo electrónico
Stack tecnológico
En SabeeApp utilizamos los siguientes lenguajes de programación y frameworks: PHP, JavaScript y Bootstrap. El desarrollo pasa por tres fases distintas:
- Development — fase de desarrollo, no disponible externamente
- Test — fase de pruebas, disponible externamente solo para uso interno de SabeeApp
- Production — fase de producción
Seguridad de bases de datos, seguridad de datos y recuperación ante desastres
Al ser un sistema basado en la nube, podría producirse una pérdida de datos si hay un fallo en la base de datos o en el sistema de archivos donde se almacenan los PDF y otros documentos. Para minimizar este riesgo, aplicamos los siguientes protocolos y soluciones.
- Los datos reales se almacenan en varias bases de datos mediante replicación continua.
- Cada noche se realiza una copia de seguridad que se puede restaurar en minutos; conservamos las últimas 9 copias.
- La comunicación entre las máquinas RDS y EC2 se realiza a través de un canal cifrado.
- Solo se puede acceder a la base de datos desde el sistema interno o a través del sistema SSH conectándose al servidor principal.
- Los datos confidenciales de la base de datos se almacenan con diferentes cifrados; por ejemplo, las tarjetas de crédito con cifrado de 2 claves y las contraseñas con cifrado SHA-512 con sal.
- La base de datos está dividida en tres zonas; si una falla, otra asume el control automáticamente.
Procedimiento de gestión de incidentes
En SabeeApp, cada incidente se resuelve siguiendo un protocolo estricto y luego se documenta. Este protocolo está a disposición de todos los empleados de SabeeApp para uso interno.
- Identificar el problema
- Comunicar el problema a todo el equipo de SabeeApp
- Nombrar al coordinador del incidente, si es necesario
- Comunicar el problema al cliente, si el incidente le afecta
- Solucionar el problema
- Evitar que vuelva a ocurrir: revisar y cambiar el protocolo si es necesario
- Recuperar datos y código fuente si es necesario
- Crear y ejecutar scripts si es necesario reemplazar o modificar datos
- Informar a los socios técnicos si es necesario
- Informar a los clientes sobre la resolución del incidente
- Documentar el incidente
Seguridad de la infraestructura
Gracias al sistema en la nube de AWS, la administración, la actualización y la seguridad de los servidores son responsabilidad de los ingenieros de Amazon. La superficie de ataque se reduce al mínimo gracias a su gran equipo de ingeniería y seguridad.
Las credenciales de acceso a AWS solo se facilitan a los compañeros por motivos justificados, y solo pueden utilizarlas bajo estrictas medidas de seguridad: una política de contraseñas rigurosa y autenticación multifactor (MFA).
- Con la ayuda de un tercero, realizamos periódicamente pruebas de penetración de caja negra y gris para identificar vulnerabilidades en el sistema.
- Analizamos periódicamente la seguridad y la calidad del código con la herramienta SonarQube.
- Todo el tráfico de datos está cifrado con al menos TLS 1.2, y todos los datos que almacenamos están cifrados.
- Todas las contraseñas almacenadas por SabeeApp están cifradas mediante hash; nunca almacenamos contraseñas ni datos secretos en texto plano.
- El registro del rendimiento del sistema interno es multinivel.
Gestión de la seguridad del personal
- El contrato de trabajo de cada empleado contiene información sobre el tratamiento de datos y un acuerdo de confidencialidad. La formación de cada nuevo empleado incluye protección de datos y seguridad.
- La conexión a AWS solo se facilita por motivos justificados y cuando es necesaria para el trabajo.
- Nuestros ingenieros solo tienen permisos de lectura en la base de datos de producción.
- Para uso interno y siempre que sea posible, solo utilizamos contraseñas de alta seguridad gestionadas por 1Password, con identificación MFA cuando es viable.
- Nuestros compañeros asisten periódicamente a cursos de formación sobre seguridad y protección de datos.
Entidades legales
El grupo SabeeApp está operado por las siguientes entidades legales.
Certificaciones
- PCI-DSS Level 1 AOC
- Certificación NTAK
- Certificación VIZA
