Como proveedor de PKI y de identidad, estamos sujetos a un estándar más alto en lo que respecta a la seguridad de la identidad. En este blog, le explicaremos cómo seguimos las mejores prácticas de seguridad de Azure para proteger nuestra infraestructura exclusiva de nube.
Si bien la imagen de arriba puede parecer impresionante y es algo que todas las organizaciones deberían intentar lograr, no es suficiente para proteger una organización en el mundo actual de confianza cero. Para ello debemos centrarnos en disminuir la superficie y tener una buena visibilidad de su organización. Estas son las áreas clave en las que nos hemos centrado para proteger nuestra infraestructura.
Si bien Azure proporciona muchas características de seguridad de identidad, como acceso condicional e inicios de sesión riesgosos, ninguna cuenta es verdaderamente segura hasta que no hay absolutamente ninguna contraseña que robar. Para protegernos contra el robo de identidad, hemos eliminado completamente las contraseñas de nuestras cuentas de usuario y de las identidades de nuestras máquinas. Si bien esto puede parecer una estrella del norte muy difícil de lograr, si se implementan las herramientas adecuadas, no solo hará que su organización sea más segura, sino que también mejorará la productividad general.
Primero hablemos de la autenticación de usuario sin contraseña; para lograr esto, puede usar la autenticación SmartCard o FIDO2, nosotros usamos ambas. La razón detrás de esto es que, si bien FIDO2 ha sido el estándar de la industria durante muchos años, todavía hay muchos casos (incluso en Azure AD) en los que no se acepta como método de autenticación. Descubrimos que FIDO2 + Azure CBA cubre todos los escenarios que uso en Keytos. Podemos utilizar sin problemas estos dos métodos de autenticación haciendo que nuestros usuarios se incorporen automáticamente a su identidad sin contraseña mediante EZCMS.
Por lo general, cuando piensas en contraseñas, piensas en identidades de usuario; sin embargo, las contraseñas están en todas partes y uno de los lugares más peligrosos son las contraseñas de máquinas, que les dan acceso a: máquinas, Azure AD, bases de datos y más. Para eliminar todas estas contraseñas, aprovechamos principalmente Azure Managed Service Identities (MSI) estas identidades son identidades totalmente sin contraseña administradas por Microsoft, lo que hace que sea muy fácil autenticarse con otros servicios de Microsoft.
Para escenarios en los que no se admiten MSI, como la autenticación entre inquilinos, o cuando nuestras aplicaciones están alojadas fuera de Azure, como en los servidores locales del cliente, utilizamos Principales de servicio de Azure con autenticación basada en certificados. A diferencia de las MSI o la autenticación basada en certificados normal, la autenticación basada en certificados para entidades de servicio requiere registrar cada certificado nuevo en Azure antes de poder usarlo. Prevenimos las interrupciones relacionadas con el vencimiento de los certificados aprovechando la rotación automática de certificados de EZCA para aplicaciones de Azure AD.
En Keytos ejecutamos servicios críticos para muchas organizaciones grandes, esto requiere que intensifiquemos nuestro juego al más alto nivel de seguridad, mientras que nuestra estrategia sin contraseña líder en la industria reduce drásticamente nuestra superficie, vamos más allá al seguir la mejores prácticas de identidad de Microsoft y creamos nuestro inquilino de producción aislado que no tiene conexión ni confianza con nuestro inquilino corporativo . Eso significa que si una cuenta corporativa se ve comprometida, el atacante no tendría acceso a nuestros recursos de producción. Este aislamiento también nos permite tener requisitos más estrictos, como por ejemplo: tener políticas de acceso condicional inteligente que otorguen acceso en función de factores de riesgo como: puntuaciones de inicio de sesión inteligentes y estado del dispositivo.
Si bien el aislamiento de identidad es un gran paso para proteger sus recursos, esto solo lo protege contra el robo de identidad. Pero estamos viendo que los piratas informáticos se vuelven más inteligentes y atacan a las organizaciones con ataques de malware que roban sus credenciales o acceden a recursos usando su computadora. Para mitigar este riesgo, hemos implementado una versión moderna del modelo PAW de Microsoft. En lugar de aprovechar la tecnología local heredada, como los controladores de dominio, utilizamos Azure Intune para administrar los dispositivos y el acceso condicional de Azure para certificar el estado del dispositivo antes de cada inicio de sesión.
Uno de los principales objetivos de nuestra postura de seguridad es proteger nuestro entorno sin afectar nuestro recurso más preciado: la eficiencia de la ingeniería. Hacemos esto brindándoles a nuestros ingenieros una poderosa estación de trabajo donde pueden realizar su trabajo de ingeniería y tareas corporativas como correo electrónico, presentaciones, etc. Además de una computadora portátil pequeña y liviana que solo se puede usar para acceder a producción o RDP a su estación de trabajo.
Aunque tenemos mucha confianza en nuestra identidad segura y en la historia de nuestros dispositivos, también creemos que los humanos no deberían acceder a la producción a menos que sea necesario. Esto no solo mejora la seguridad, sino que al dificultar el acceso a la producción, también promueve buenas prácticas de ingeniería para la automatización de la implementación y funciones de autorreparación que mejoran nuestra confiabilidad y productividad. Para hacer cumplir esto, hemos implementado un acceso permanente a la producción; si un ingeniero necesita acceder a algún recurso de producción, debe solicitar acceso a los recursos a través de Microsoft PIM o a través de EZSSH para nuestros puntos finales de Linux.
Con la reducción del acceso a la producción y el fortalecimiento de la identidad, hemos visto a los piratas informáticos moverse hacia la izquierda en los ataques a la cadena de suministro de software y apuntar a GitHub. Para prevenir estos ataques y proteger nuestra infraestructura, extendemos nuestra identidad AAD ya segura a GitHub para SSO. Si bien este es un excelente primer paso para proteger nuestro código, solo protege contra acciones creadas en el sitio GitHub, pero como todos sabemos, la mayoría de las actividades privilegiadas de git ocurren a través de SSH. Para proteger nuestro acceso SSH a GitHub, utilizamos EZGit, la primera autoridad de certificación SSH de GitHub, lo que brinda a nuestros ingenieros acceso justo a tiempo al código, asegurando que cada vez que insertan o extraen código, lo hacen desde una computadora que cumple con nuestras políticas de acceso condicional en Azure AD.
Sin embargo, la seguridad de DevOps no se detiene cuando se confirma el código, los ataques a la cadena de suministro van en aumento, incluido el compromiso de paquetes de compilación de código abierto utilizados por las acciones de GitHub. Para proteger nuestros artefactos de este tipo de ataques, utilizamos harden-runner de Step Security para monitorear y bloquear estos ataques.
Siguiendo la mentalidad de Microsoft de asumir ataques, no podemos confiar únicamente en nuestras medidas de seguridad para proteger nuestra infraestructura, sino que también debemos monitorearla y detectar cualquier anomalía. Además de utilizar las herramientas proporcionadas por Azure, como Sentinel y Azure Defender para la nube, queríamos llevar nuestra seguridad al siguiente nivel y monitorear más eventos, es por eso que creamos CloudWatcher, una solución de monitoreo gratuita de código abierto que monitoreará cualquier cambio leve en nuestro entorno Azure y alertará al ingeniero de guardia si se detecta algún cambio. Como empresa de seguridad, también seguimos la recomendación de Google de monitorear los registros de transparencia de certificados con EZMonitor, no sólo protegiéndonos de alguien que crea certificados SSL para ataques de tipo man-in-the-middle, sino también otros ataques como el ataque de adquisición de dominio de Azure que descubrimos el año pasado.
Estos estrictos controles nos han permitido cumplir y superar los requisitos de cumplimiento de los estándares respetados en toda la industria, como SOC 2 tipo 2 y PCI nivel 4. Si tiene alguna pregunta sobre cómo protegemos nuestra infraestructura o cómo podemos ayudarlo a proteger suyo, programe una llamada con nuestros expertos en seguridad y comience su viaje de confianza cero con Keytos.