Seguridad plataforma Finnegans

Plataforma & Infraestructura

:mantelpiece_clock: 5 min

Documento que explica las distintas herramientas utilizadas para garantizar la seguridad de la plataforma. Los registros de uso de las mismas y la manera de tratar las incidencias

Aspectos generales de Seguridad

Finnegans implementa toda su infraestructura, tanto de servicios propios como de servicios ofrecidos a sus clientes, con Amazon Web Services (AWS) como proveedor.

A la fecha de redacción de este documento, Finnegans se encuentra en proceso de aplicación de la norma de seguridad ISO 27001.

Finnegans implementa los siguientes procesos de seguridad sobre las cuentas de AWS que maneja.

  • Cada persona con acceso a AWS posee su propio usuario.

  • Se utiliza el sistema de menor privilegio para asignar permisos a los recursos.

  • Todos los accesos son generados con doble factor de autenticación, es decir que cada usuario debe introducir un token de seguridad vinculado a su teléfono al momento de ingresar a una cuenta.

  • Solo es posible el acceso a los servidores de AWS desde la red privada de Finnegans, ya sea físicamente desde las oficinas o mediante conexión a la VPN provista por la empresa.

Segregación de ambientes

Finnegans cuenta con ambientes separados para los distintos entornos que se manejan, de esta manera se limitan los accesos según la función de cada uno de los colaboradores.

Cada uno de estos ambientes es generado en una cuenta de AWS completamente separada del resto, de manera que se haga imposible el escalado de permisos malintencionados.

Actualmente existen las siguientes cuentas para separar ambientes y funciones.

  • Producción

  • QA

  • Desarrollo

  • Storage *

  • Logs *

  • Security *

  • cuentas solo para acceso del equipo de infraestructura.

Protección de los datos de clientes

Dividimos los datos de clientes en dos grandes grupos.

  • Los datos que los clientes suben a la aplicación, como archivos adjuntos a transacciones, imágenes, certificados y particularizaciones que puedan tener las distintas pantallas.

Estos datos son administrados por cada cliente y la aplicación solo cumple el rol de almacenarlos.

Estos datos son almacenados en un servicio de AWS llamado EFS (Elastic File System), lo que nos permite tener los datos distribuidos en 3 zonas al mismo tiempo con una conmutación por error automática.

El servicio está diseñado para otorgar una durabilidad de 99,99999999999

Para más detalles se puede consultar la web del servicio utilizado.

  • Los datos que el cliente genera en la aplicación, las transacciones y datos en general, como clientes y proveedores.

Estos datos son almacenados en una base de datos separada para cada cliente.
Sobre estas bases de datos se hace un backup diario completo.
Estos backups se almacenan diariamente durante 10 días.
También se almacena un backup semanal durante 6 meses.
Diariamente, se pasan estos backups a una cuenta de seguridad para tener doble protección y datos cruzados.

Estos datos son almacenados en un servicio de AWS llamado S3 (Simple storage service), lo que nos permite tener los datos distribuidos en un mínimo de 3 zonas al mismo tiempo, garantizando la seguridad y durabilidad de los mismos.

El servicio está diseñado para otorgar una durabilidad de 99,99999999999

Para más detalles se puede consultar la web del servicio utilizado.

Periódicamente se realizan pruebas de recuperación de backups de manera aleatoria para garantizar la consistencia de los mismos.

Adicionalmente se ejecutan tareas de chequeo de integridad sobre las bases de datos para validar que no existan datos corruptos.

En caso de necesitarlo, un cliente puede solicitar una copia de su base de datos usando la aplicación correspondiente desde Plug & GO en Finnegans GO.

La aplicación envía de manera programada, un link para que el cliente pueda descargar su backup y mantener una copia adicional.

Protección sobre las cuentas de AWS

Siguiendo el modelo de responsabilidad compartida que brinda nuestro proveedor aws, (Modelo de responsabilidad compartida – Amazon Web Services (AWS))

Finnegans implementa los siguientes servicios adicionales para dar protección a las cuentas que administra.

AWS GuardDuty

GuardDuty es un servicio de detección de amenazas que supervisa de manera continua las cargas de trabajo para detectar actividades maliciosas y envía hallazgos detallados de seguridad para su visibilidad y resolución

El servicio nos permite identificar cualquier intento de ingreso no autorizado a las instancias virtuales que tenemos sobre los servicios de AWS

Así como también comportamientos atípicos de usuarios conocidos.

Algunos de los ejemplos son:

  • Ataques de fuerza bruta

  • Conexiones autorizadas desde IP geográficamente inusuales

  • Conexiones mediante puertos inusuales

Ante cada incidencia detectada, el servicio envía un correo electrónico al grupo de seguridad.

La incidencia es tratada en el momento, se analiza con AWS Detective, y se deja un registro en cloudtrail de la acción realizada para solucionarla.

Todas las incidencias son registradas y almacenadas de manera histórica en una cuenta separada de AWS, para mantener registros.

AWS Detective

AWS Detective es un servicio que permite visualizar rápidamente la causa raíz de problemas de seguridad o actividades sospechosas.

Entre otras cosas nos permite:

Analizar las llamadas API con mayor tráfico

Analizar las llamadas API por usuario.

Analizar el tráfico por cada una de las instancias

Ver la ubicación geográfica de cada una de las llamadas para detectar anomalías.

AWS Inspector

AWS Inspector es un servicio que monitorea toda la infraestructura en busca de vulnerabilidades en los sistemas operativos de base de cada una de las instancias de la infraestructura.

También analiza el software comercial instalado en busca de vulnerabilidades y parches de seguridad no actualizados.

Las incidencias encontradas son tratadas individualmente y el registro de los cambios queda en cloudtrail.

AWS Patch Manager

AWS Patch Manager es un servicio que se encarga de administrar los parches de seguridad de cada instancia, determinar cuáles son los críticos con base en la información proporcionada por cada proveedor y aplicarlos regularmente para mantener todas las instancias actualizadas.

Mensualmente, se genera un reporte que se almacena históricamente con el detalle de compliance de cada una de las instancias.

WAF

Usamos dos servicios de Web application firewall
El primero para monitorear e impedir ataques de DDOS contra los servicios que tenemos.
El segundo más complejo, sobre los endpoint expuestos.

Usamos reglas de filtrado provistas por AWS para mitigar y bloquear accesos indeseados.
Control de Bots nos permite filtrar tráfico proveniente de Bots conocidos y reportados para bloquear el exceso de tráfico, incluyendo scanners y rastreadores.

Adicionalmente, nos permite monitorear el volumen de tráfico recibido para detectar anomalías.

Actualmente, contamos con 4 reglas de bloqueo:

TOP 20 OWASP
AWSManagedRulesCommonRuleSet

Bloqueo automático de request provenientes de IP blacklisted
AWSManagedRulesAmazonIpReputationList

Protección contra SQL Injection
AWSManagedRulesSQLiRuleSet

Protección sobre páginas de login de aplicaciones propias
AWSManagedRulesAdminProtectionRuleSet

Penetration Test

Usamos la técnica de Penetration Test sobre una lista de url de nuestra propiedad.

Los análisis se ejecutan mensualmente y los resultados son almacenados en la cuenta de seguridad clasificados por criticidad.

Las incidencias detectadas de nivel crítico son reportadas a los equipos de desarrollo para su tratamiento urgente.

Las altas y medias son analizadas por el equipo de seguridad para determinar el alcance y eventualmente proceder a su solución.