Me apasiona el mundo de la Seguridad Cibernética, por lo que mi objetivo principal es encontrar un trabajo con el que aplique y expanda mis habilidades técnicas sobre soluciones de seguridad en la nube.
Mi experiencia laboral ha sido como Mozo de Almacén en los almacenes de Amazon, poniendo en práctica competencias de solución de problemas, atención al detalle y comunicación con el equipo.
El Objetivo del Proyecto es desarrollar tareas y desafíos relacionados con las habilidades de Identificación de Vulnerabilidades, Aislamiento y Contención de Amenazas y finalmente, la Recuperación de los Sistemas Comprometidos.
El Proyecto consiste en simular una situación de Violación de Seguridad de los Datos y los correspondientes sistemas comprometidos.
La Situación es la siguiente:
Durante el último año, trabajé como Analista Júnior de Seguridad en la Nube en Cymbal Retail. Cymbal Retail es una potencia de mercado que actualmente opera en 170 tiendas físicas y una plataforma en línea en 28 países.
Cymbal Retail posee una vasta base de clientes con una multitud de transacciones que ocurren diariamente en su plataforma en línea.
Recientemente, la empresa experimentó una violación masiva de la seguridad de los datos. Como miembro júnior del equipo de seguridad, ayudaré a ese equipo a través del ciclo de vida de este incidente de seguridad. Comenzaré identificando las vulnerabilidades relacionadas con la violación, aislaré y contendré esta amenaza para evitar un mayor acceso no autorizado. Por último, recuperaré los sistemas comprometidos.
En el menú de "Security" de Google Cloud hago click en "Security Command Center" y a continuación en "Findings", en "Findings query results" ordeno los resultados por la columna "Severity" para priorizar las vulnerabilidades de mayor gravedad y así, poder abordarlas con eficacia.
Los recursos comprometidos son los siguientes:
Un Bucket de Almacenamiento de Google Compute Storage.
Reglas de Firewall.
Una Instancia de VM (Máquina Virtual) de Google Compute Engine.
Ya que conozco los recursos afectados por el incidente, a continuación procedo a corregir los puntos débiles de estos recursos.
Navego al menú de Google Cloud "Compute Engine", a continuación voy a "VM instances", donde corregiré la instancia comprometida llamada "cc-app-01". La detengo con "Stop" para poder aislar esta instancia para que no aumente el daño.
Una vez detenida la instancia afectada crearé una instancia nueva a partir de una Instantánea. Ésta se realizó anteriormente como parte del plan de copias de seguridad a largo plazo de la empresa. La instancia nueva se llamará "cc-app-02", la configuro al crearla con la etiqueta de red "cc" y que no tenga dirección IPv4 externa. Para activar el arranque seguro tengo que detener la instancia creada para poder abordar el hallazgo "Arranque seguro de Compute inhabilitado". Por último, pincho en " Start/Resume" para reiniciar la instancia.
Con esta configuración consigo que la instancia nueva sea totalmente segura, por lo que ahora puedo borrar la instancia comprometida "cc-app-01".
Las vulnerabilidades encontradas en el Bucket de almacenamiento fueron:
Acceso público al Bucket.
Solo política del Bucket inhabilitada.
Registro del Bucket inhabilitado.
Para corregir estos hallazgos voy al menú "Cloud Storage" de Google Cloud, me dirijo a "Buckets". Primero corregiré el acceso público al bucket, por lo que hago click en "PERMISSIONS" y pincho en "PREVENT PUBLIC ACCESS".
A continuación solucionaré los otros dos hallazgos: "Solo política del Bucket inhabilitada" y "Registro del Bucket inhabilitado". Para ello en "Permissions" marco la casilla de verificación de "allUsers" y pincho en "REMOVE ACCESS". Luego navego a "Access Control" y hago click en "SWITCH TO UNIFORM", en el cuadro de diálogo que se muestra me aseguro de marcar la casilla " Add project role ACLs to the bucket IAM policy", lo hago con el objetivo de asegurar que los usuarios que dependan de los roles básicos del proyecto no pierdan el acceso al bucket.
Aquí remediaré las vulnerabilidades encontradas en el Firewall:
Puerto SSH abierto.
Puerto RDP abierto.
Registro de regla de Firewall inhabilitado.
Para ello crearé una regla de firewall nueva llamada "restricted-ssh", esta regla restringe el acceso solo a las direcciones IP autorizadas de la red de origen "35.235.240.0/20" a las instancias de procesamiento con la etiqueta "cc". Para crearla navego a "Network Security", "CREATE FIREWALL RULE" y la configuro con los parámetros anteriormente citados.
El siguiente paso será borrar las tres reglas de firewall de VPC específicas que son responsables de permitir el acceso no restringido a ciertos protocolos de red, como ICMP, RDP y SSH, de cualquier fuente dentro de la red de VPC. Así en la lista de reglas de firewall marco las casillas de "default-allow-icmp", "default-allow-rdp" y "default-allow-ssh" y pincho en "DELETE".
Por último, habilitaré los registros para las reglas de firewall restantes "default-allow-internal" y "restricted-ssh". Para ello hago click en "restricted-ssh" de la lista de reglas de firewall y luego marco la casilla "On" de la sección "Logs" para habilitar el registro.
Igualmente hago con "default-allow-internal".
Ya que hemos solucionado todas las vulnerabilidades encontradas pasamos a verificar la eficacia de las medidas de corrección anteriores. En este caso, la empresa debe cumplir con la normativa PCI DSS 3.2.1 porque hay almacenados registros de datos de tarjeta de crédito y personales de los clientes.
Por ello, me voy al menú "Security", "Security Command Center" y pincho en "Compliance". Hago click en "PCI DSS 3.2.1". Aquí compruebo, ordenando por la columna "Findings", que todas las vulnerabilidades importantes ya se solucionaron.
Finalmente se solucionaron todos los problemas del incidente.
Ayudé al equipo de seguridad de Cymbal Bank a mitigar el impacto de la violación de la seguridad de los datos y abordar las vulnerabilidades identificadas. Además, mejoré significativamente la postura de seguridad del entorno de Google Cloud de la empresa.
Para conocer más detalles sobre este incidente también ayudé a elaborar el Informe Final de Incidente de Seguridad.
De esta situación hemos aprendido valiosas lecciones para mejorar la postura de seguridad de la organización y así poder prevenir ataques similares en el futuro.
Las Recomendaciones que podrían darse son:
Implementar pruebas de penetración y análisis de vulnerabilidad: con el fin de detectar y remediar debilidades en la seguridad antes de que agentes malos las descubran.
Establecer el Principio del Privilegio Mínimo: así los usuarios tendrán únicamente los permisos necesarios para desempeñar sus tareas en el trabajo. Comprobar periódicamente los privilegios de los usuarios y desechar los permisos de acceso no necesarios.
Hacer evaluaciones de riesgos de seguridad periódicamente para los recursos de sistemas, redes, aplicaciones y activos de datos.
Poner la Autenticación Multifactorial (MFA): se realizará en todos los sistemas y cuentas críticos para sumar una capa adicional de seguridad. Esto refuerza la protección contra el acceso no autorizado, aún cuando las contraseñas sean vulneradas.