lunes, 30 de diciembre de 2019

CÓMO APRENDER MICROSOFT AZURE EN 2020

El año 2019 casi ha terminado y, por lo general, nos tomamos el tiempo para mirar hacia atrás y también para encontrar algunas resoluciones de Año Nuevo para el nuevo año. ¿Por qué no tomar toda esa energía y prepararse para la era de la computación en la nube y avanzar en su carrera aprendiendo Microsoft Azure? En esta publicación, trato de darle un vistazo rápido a cómo puede comenzar a aprender Microsoft Azure en 2020.
Experiencia práctica en Azure

No hay nada mejor que la experiencia práctica, así que comience con una cuenta gratuita de Azure . Su cuenta gratuita de Azure incluye una cantidad limitada de servicios gratuitos durante 12 meses. Dentro de estos límites, tiene la flexibilidad de utilizar los servicios gratuitos en varias configuraciones para satisfacer sus necesidades.



Para obtener más información, consulte las preguntas frecuentes sobre la cuenta gratuita de Azure

Microsoft Learn 



Microsoft Learn  se presentó en Ignite 2018 como una plataforma de aprendizaje gratuita para muchas tecnologías diferentes de Microsoft, no solo Azure. Microsoft Learn le  proporciona varias rutas de aprendizaje en función de su puesto de trabajo o las habilidades que está buscando. La mayoría de las rutas de aprendizaje le brindan una oportunidad de aprendizaje práctico para que pueda desarrollar habilidades prácticas a través de la capacitación interactiva. ¡Y es gratis! Obtiene acceso instantáneo en el navegador a las herramientas y módulos de Microsoft, no requiere tarjeta de crédito.


Obtenga la certificación de Microsoft Azure

Otra gran opción para aprender y verificar sus habilidades es tomar los exámenes de certificación de Microsoft Azure.


Si recién está comenzando con Azure, eche un vistazo al examen AZ-900 de Microsoft Azure Fundamentals. También recomiendo las diferentes certificaciones de exámenes de Azure:



  • Microsoft Certified Azure Administrator Associate  (AZ-10X)
  • Microsoft Certified Azure Developer Associate  (AZ-203)
  • Microsoft Certified Azure Solutions Architect Expert  (AZ-30X)
  • Microsoft Certified Azure DevOps Engineer Expert  (AZ-400)
  • Microsoft Certified Azure Security Engineer Associate  (AZ-500)


Más recursos para aprender Azure en 2020

Hay un par de recursos más que quiero señalarle, para comenzar y aprender Microsoft Azure en 2020.




  • Centro de arquitectura de Azure: el Centro de arquitectura de Azure contiene orientación para crear soluciones integrales en Microsoft Azure. Aquí encontrará arquitecturas de referencia, mejores prácticas, patrones de diseño, guías de escenarios e implementaciones de referencia.
  • Marco de adopción de la nube: el Marco de adopción de la nube es el enfoque de Microsoft para la adopción de la nube en Azure, consolidando y compartiendo las mejores prácticas de los empleados, socios y clientes de Microsoft. El marco brinda a los clientes un conjunto de herramientas, orientación y narrativas que ayudan a dar forma a la tecnología, los negocios y las estrategias de las personas para impulsar los resultados comerciales deseados durante su esfuerzo de adopción. Esta guía se alinea con las siguientes fases del ciclo de vida de adopción de la nube, como Estrategia, Planificar, Preparar, Migrar, Innovar, Gobernar y Administrar.
  • Centro de migración de Azure : obtenga todas las herramientas y recursos que necesita para migrar sus aplicaciones, datos e infraestructura a su propio ritmo, con confianza.
  • Azure Architecture Framework : una solución de nube exitosa requiere centrarse en estos cinco pilares de la excelencia de la arquitectura: Costo, DevOps, Resiliencia, Escalabilidad y Seguridad. Azure Architecture Framework lo ayuda a construir sobre estos pilares.
  • Guía de arquitectura de aplicaciones: la Guía de arquitectura de aplicaciones de Azure presenta un enfoque estructurado para diseñar aplicaciones en Azure que sean escalables, resistentes y de alta disponibilidad. Se basa en prácticas comprobadas que hemos aprendido de los compromisos con los clientes.
  • Patrones de diseño de Azure Cloud: los patrones de diseño de Azure Cloud son útiles para crear aplicaciones confiables, escalables y seguras en la nube. Cada patrón describe el problema que aborda el patrón, las consideraciones para aplicar el patrón y un ejemplo basado en Microsoft Azure. La mayoría de los patrones incluyen muestras de código o fragmentos que muestran cómo implementar el patrón en Azure.
  • Arquitecturas de referencia de Azure: las arquitecturas de referencia son un conjunto de arquitecturas recomendadas para Azure. Cada arquitectura incluye mejores prácticas, pasos prescriptivos y una solución implementable.
  • Guías de decisiones arquitectónicas: las guías de decisiones arquitectónicas en el Marco de adopción de la nube describen patrones y modelos que ayudan a crear una guía de diseño de gobernanza de la nube.
  • Modelo operativo en la nube: establezca un modelo operativo para la nube
  • Guía de inicio para desarrolladores de Azure : la guía de inicio ayuda a los desarrolladores a comenzar con Azure y sus herramientas.
  • Plantillas de inicio rápido de Azure : implemente recursos de Azure a través del Administrador de recursos de Azure con plantillas aportadas por la comunidad para hacer más cosas. Implemente, aprenda, bifurque y contribuya de nuevo.
  • Ejemplos de código : comience con las herramientas y tecnologías para desarrolladores de Microsoft. Explore nuestras muestras y descubra las cosas que puede construir.
  • Azure Hybrid : aprenda sobre Azure Hybrid Cloud con características y servicios como Azure Stack, Azure Arc y muchos más.
  • Azure para profesionales de AWS : este artículo ayuda a los expertos de Amazon Web Services (AWS) a comprender los conceptos básicos de las cuentas, la plataforma y los servicios de Microsoft Azure. También cubre similitudes y diferencias clave entre las plataformas AWS y Azure.
  • Seguridad de Azure : aprenda sobre Azure y la seguridad
  • Cumplimiento de Azure : obtenga una descripción general del cumplimiento en Microsoft Azure, con más de 90 ofertas de cumplimiento
  • Privacidad de Azure : obtenga más información sobre la protección y privacidad de datos de Azure.
  • Acuerdos de nivel de servicio (SLA) : lea los SLA para conocer nuestras garantías de tiempo de actividad y las políticas de crédito de tiempo de inactividad.
  • Precios de Azure : conozca cómo funcionan los precios de Azure y cómo puede ahorrar costos y obtener el mejor valor en cada etapa de su viaje a la nube.
  • Calculadora de TCO : calcule los ahorros de costos que puede obtener al migrar sus cargas de trabajo a Azure.
  • Planes de soporte de Azure : explore la gama de opciones de soporte de Azure y elija el plan que mejor se adapte, ya sea que sea un desarrollador que recién comienza su viaje en la nube o una gran organización que implementa aplicaciones estratégicas y críticas para el negocio.
Espero que estos recursos le brinden un excelente resumen de cómo puede comenzar a aprender Azure en 2020. 

martes, 10 de septiembre de 2019

Cómo implementar el Aseguramiento Continuo con Secure DevOps Kit for Azure

Esta 5ª entrega de la serie de post relacionados con el marco del Kit de Desarrollo Seguro para el Azure (AzSK) se centrará en cómo aprovechar el AzSK para la vigilancia continua de sus entornos Azure.

Este artículo tratará principalmente el 4º paquete de AzSK ilustrado en la siguiente figura de Microsoft:




Para los que acaban de saltar en esta serie de postales de AzSK, las 4 anteriores son las siguientes:


En todos estos 4 posts anteriores, traté de cómo se pueden aprovechar los controles incorporados de seguridad de AzSK para comprobar el estado de seguridad de una suscripción, los recursos que contienen dentro de un grupo de recursos, un tipo de recurso dedicado o un recurso específico. Aprendimos cómo esos controles de salud de seguridad se pueden hacer en cada etapa de desarrollo, cómo se pueden utilizar para la codificación segura y cómo se pueden integrar en las liberaciones de tuberías CICD (Continuous Integration / Continuous Delivery).

En esta 5ª entrega de la serie de publicaciones AzSK, asumimos que una aplicación consistente en una suscripción que contiene uno o varios grupos de recursos, y cada grupo de recursos que contiene varios recursos (por ejemplo, Máquina Virtual, Aplicaciones Lógicas, Base de Datos SQL, Bóveda de Claves, etc.), se ha desplegado en producción y aprenderá cómo se puede usar AzSK para escanear periódicamente su aplicación para observar la deriva de la seguridad. Esto se conoce como Aseguramiento Continuo (CA).

Este post detalla los siguientes aspectos:

  • Justificación del Aseguramiento Continuo
  • Los bloques de construcción de la Garantía Continua AzSK
  • Configuración de la garantía continua de AzSK

1) Justificación de la garantía continua

La razón principal de la garantía continua es adaptarse a un entorno en constante cambio, como la nube, y al hecho de que la seguridad debe tratarse como un estado y no como un logro. Como tal, su aplicación azul puede ser segura en un momento dado y volverse insegura después.

El aseguramiento continuo de AzSK ayuda entonces a identificar las derivas relacionadas:

  • Configuración de la línea de base
  • Configuraciones previamente aprobadas
  • Nuevas características de seguridad

2) Bloques de construcción de la Garantía Continua AzSK

Además de PowerShell utilizado para el lanzamiento de los cmdlets AzSK como para los controles de seguridad ad-hoc, AzSK se basa en algunos componentes de las herramientas de Azure Management (anteriormente conocido como Operations Management Suite - OMS).

2.1) Automatización de Azure

Azure Automation es un servicio de automatización y configuración basado en la nube que proporciona una gestión coherente en todos sus entornos, sean o no de Azure.

Proporciona un control completo durante el despliegue, las operaciones y la retirada de cargas de trabajo y recursos. Las capacidades de Azure Automation incluyen:

Automatización de procesos: le brinda la posibilidad de automatizar tareas de administración de nubes frecuentes, que consumen mucho tiempo y son propensas a errores, mediante la orquestación de procesos utilizando gráficos, libros de ejecución de PowerShell y Python.

Gestión de la configuración: ayuda a recopilar el inventario, rastrear el cambio y configurar el estado deseado.
Gestión de actualizaciones: puede evaluar el cumplimiento y programar las instalaciones de actualización en Azure, en las instalaciones y en otras nubes.

Capacidades compartidas: La automatización de Azure consiste en un conjunto de recursos compartidos que facilitan la automatización y configuración de sus entornos:
  • RABC: Controla el acceso a la cuenta con un rol de operador de Automatización que permite ejecutar las tareas sin dar capacidades de autoría
  • Variables: Proporcionar una forma de mantener el contenido que puede ser utilizado a través de libros de ejecución y configuraciones
  • Credenciales: Almacenar de forma segura información sensible que pueda ser utilizada por los libros de ejecución y las configuraciones en tiempo de ejecución
  • Certificados: Almacénelos y póngalos a disposición en tiempo de ejecución para que puedan ser utilizados para la autenticación
  • Conexiones: Almacenar un nombre/valor pares de información que contiene información común al conectarse a los sistemas en los recursos de conexión
  • Horarios: Se utiliza en el servicio para activar la automatización en tiempos predefinidos
  • Módulos de PowerShell: Los módulos se usan para manejar Azure y otros sistemas

Para más detalles sobre las capacidades de la automatización del Azure, te recomiendo que eches un vistazo a esta documentación.

2.2) Registro y monitoreo del Azure (Análisis de Logística)

El Azure permite recopilar registros de varias fuentes y utilizarlos de varias maneras (incluso en la parte de Log Analytics del servicio global Azure Monitor) como se muestra en la siguiente figura:

Los registros se pueden utilizar para las siguientes tareas:

  • Utilice la página de Log Analytics en el portal Azure para escribir consultas que analicen los datos de los registros. Colocar los resultados en forma de tablas o gráficos en un tablero de control Azure.
  • Configurar una regla de alerta de registro que envíe una notificación o tome una acción automatizada cuando los resultados de la consulta coincidan con un resultado determinado.
  • Construir un flujo de trabajo basado en los datos de Log Analytics usando Logic Apps.
  • Exportar los resultados de una consulta a Power BI para utilizar diferentes visualizaciones y compartir con usuarios fuera de Azure.
  • Acceder a los valores métricos desde una línea de comandos o una aplicación personalizada usando PowerShell cmdlets o REST API.

Azure Log Analytics gestiona los registros en un entorno dedicado llamado espacio de trabajo con su propio repositorio de datos, fuentes de datos y soluciones. Para crear un espacio de trabajo de Log Analytics, necesitará una suscripción, un grupo de recursos y una ubicación (región Azure).

Log Analytics todavía no está disponible en todas las regiones de Azure (consulte esta documentación para conocer las disponibilidades de Log Analytics).




3) Configuración del seguro continuo AzSK

Los principales requisitos para establecer el Aseguramiento Continuo son los siguientes:

  • Debe tener el permiso del propietario en la suscripción, ya que AzSK necesitará añadir una cuenta principal de servicio con permiso de "Lector" a la suscripción que se va a escanear.
  • Usted debe tener el objetivo OMS WorkspaceID y SharedKey. El espacio de trabajo OMS puede estar en otra suscripción
  • Debería ser capaz de crear una aplicación Azure AD en el inquilino. Esa aplicación Azure AD se utiliza como cuenta de tiempo de ejecución para el escaneo a través del libro de ejecución de CA.
  • Deberías tener permisos de "Propietario" para la aplicación Azure AD si especificas uno...
  • Tienes que elegir el modo de configuración: modo autónomo o central.


3.1) Configuración del modo autónomo del AzSK CA

Para la configuración de CA independiente, hay una instancia de CA que debe ser instalada por suscripción. Este modo puede ajustarse a las situaciones en las que se quiera probar AzSK CA en una suscripción o en el caso de que cada suscripción sea escaneada por un equipo diferente.

Para instalar CA en modo autónomo, necesita ejecutar el siguiente cmdlet de PowerShell:

Install-AzSKContinuoAssurance -SubscriptionId <SubscriptionId> `

[-AutomationAccountLocation <AutomationAccountLocation>] `

[-AutomationAccountRGName <AutomationAccountRGName>] `

[-AutomationAccountName <AutomationAccountName>] `

-ResourceGroupNames <ResourceGroupNames> `

-OMSWorkspaceId <OMSWorkspaceId> ` `

-OMSSharedKey <OMSSharedKey> `

[-AltOMSWorkspaceId <AltOMSWorkspaceId>] `

[-AltOMSSharedKey <AltOMSSharedKey>] `

[-ScanIntervalInHours <ScanIntervalInHours>] `

[-AzureADAppName <AzureADAppName>]

Dónde:

  • SubscriptionId es el ID de la suscripción Azure en la que se creará una Cuenta de Automatización para el Aseguramiento Continuo
  • AutomationAccountLocation es la ubicación en la que este cmdlet crea la Cuenta de Automatización. Esta debe ser una de las regiones azules válidas (el valor por defecto es EastUS2).
  • AutomationAccountRGName es el nombre del ResourceGroup en el que se instalará AutomationAccount (el valor predeterminado es AzSKRG)
  • AutomationAccountName es el nombre de AutomationAccount (el valor predeterminado es AzSKContinuousAssurance)
  • ResourceGroupNames es la lista, separada por comas, de grupos de recursos dentro de los cuales se encuentran los recursos de la aplicación
  • OMSWorkspaceId es el ID del espacio de trabajo de OMS que se utiliza para controlar los resultados de los escaneos de seguridad.
  • OMSSharedKey es la llave compartida de OMS que se usa para monitorear los resultados de los escaneos de seguridad. Se utiliza para obtener acceso al espacio de trabajo de OMS y debe ser protegida cuidadosamente.
  • ScanIntervalInHours es el intervalo de exploración (el valor predeterminado es 24 horas)
  • AzureADAppName es el nombre de la aplicación de directorio activo Azure (AD) que se creará en la suscripción para ejecutar los libros de texto

Puede tomar hasta 2 horas completar esta instalación porque necesita descargar e instalar los módulos PowerShell de AzureRM y AzSK.

Cuando todo se haya completado correctamente, deberá ver todos los recursos creados a través del panel de Cuentas de Automatización del portal Azure como en la siguiente figura donde la Cuenta de Automatización tiene el nombre predeterminado "AzSKContinuoAssurance":



Cuando se tienen varias suscripciones para ser escaneadas, es necesario cambiar a una configuración de modo de escaneo central.

3.2) Configuración del modo central del AzSK CA

Hay dos tipos de modos centrales: cuentas de automatización simples o múltiples.

3.2.1) Modo central con una sola cuenta de automatización

En este modo, una cuenta de automatización se utiliza para escanear todas las suscripciones. Este modo se recomienda para un máximo de 40 o 50 suscripciones. Es el caso común en el que un equipo central (por ejemplo, el personal de seguridad informática) debe supervisar todas las suscripciones.

Para configurar el Aseguramiento Continuo en modo central con una sola cuenta de automatización, debe ejecutar el siguiente cmdlet de PowerShell:

Install-AzSKContinuousAssurance -SubscriptionId <SubscriptionId>

-TargetSubscriptionIds <TargetSubscriptionIds>

-ResourceGroupNames ‘*’

-OMSWorkspaceId <OMSWorkspaceId>

-OMSSharedKey <OMSSharedKey>

-CentralScanMode

[-LoggingOption '<CentralSub|IndividualSubs>']

[-SkipTargetSubscriptionConfig]

Dónde:

  • SubscriptionId es la suscripción central que se encarga de escanear todas las demás suscripciones. También alberga la cuenta de Automatización responsable de escanear todas las demás suscripciones
  • TargetSubscriptionIds es una lista separada por comas de los suscriptores que debe ser escaneada por la suscripción central
  • LoggingOption que es "CentralSub" o "IndividualSubs" y le proporciona la capacidad de almacenar los registros de escaneo de CA en la suscripción central o en las suscripciones individuales
  • SkipTargetSubscriptionConfig es el conmutador que se utiliza si no se tiene el permiso del propietario de las suscripciones de destino. En este caso, las suscripciones de destino ya deberían haber sido preparadas para el escaneo en modo central.

3.2.2) Modo central con múltiples cuentas de automatización

Cuando se tienen más de 40 ó 50 suscripciones, se recomienda configurar un modo de escaneo centralizado con múltiples cuentas de automatización, de lo contrario se enfrentarán problemas de escalamiento o de rendimiento.

Debe dividir el conjunto general de suscripciones de destino en varios grupos y luego decidir los nombres que se utilizarán para la cuenta de automatización y los grupos de recursos que albergarán la CA para cada grupo.

Puede utilizar cualquier estrategia de división que desee, pero debe asegurarse de cubrir todas las suscripciones y evitar duplicar una suscripción en varios grupos.

Para configurar la CA en este modo, necesita ejecutar el siguiente cmdlet de PowerShell para cada cuenta de automatización:

Install-AzSKContinuousAssurance -SubscriptionId <SubscriptionId>

-TargetSubscriptionIds <TargetSubscriptionIds>

-ResourceGroupNames ‘*’

-OMSWorkspaceId <OMSWorkspaceId>

-OMSSharedKey <OMSSharedKey>

-AutomationAccountRGName <AutomationAccountRGName>

-AutomationAccountName <AutomationAccountName>

[-AutomationAccountLocation <AutomationAccountLocation>]

-CentralScanMode

[-LoggingOption '<CentralSub|IndividualSubs>']

[-SkipTargetSubscriptionConfig]

En caso de que quieras diagnosticar, actualizar o eliminar tu configuración de CA, AzSK proporciona un par de cmdlets de PowerShell para ello:

  • Get-AzSKContinuoAssurance
  • Update-AzSKContinuousAssurance
  • Remove-AzSKContinuousAssurance

Conclusión

En este artículo (el quinto relacionado con el Kit de Desarrollo Seguro para Azure - AzSK), discutí cómo este marco de trabajo AzSK puede ser aprovechado para mantener seguras sus aplicaciones basadas en la nube de Azure a lo largo del tiempo. Esto se conoce como Aseguramiento Continuo (CA) y AzSK soporta 3 modos de configuración de CA:

Modo independiente donde una instancia de Aseguramiento Continuo se configura por suscripción
Modo central con una sola cuenta de automatización en la que se utiliza una sola cuenta de automatización para escanear todas las suscripciones (hasta 40-50 suscripciones).
Modo central con múltiples cuentas de automatización donde una cuenta de automatización se utiliza para escanear un subconjunto de suscripciones. Se adapta a los contextos con más de 40-50 suscripciones.

Referencias clave y recursos adicionales

martes, 13 de agosto de 2019

Cómo controlar la seguridad de su aplicación Azure con el kit de Secure DevOps

Este 4º post relacionado con el marco del Kit de Desarrollo Seguro para el Azure (AzSK) se centrará en cómo aprovechar sus controles incorporados para desarrollar, desplegar y mantener seguras sus aplicaciones basadas en el Azure a lo largo de las etapas de desarrollo.

Este artículo tratará principalmente los paquetes 2 y 3 de azsk ilustrados en la siguiente figura de Microsoft:



Para complementar su comprensión de este 4º post de la serie de marcos AzSK, les recomiendo que también echen un vistazo a mis posts anteriores





En este post, hablaré de cómo se puede aprovechar AzSK para desarrollar y desplegar aplicaciones seguras basadas en la nube de Azure.

Para este propósito, el marco de trabajo de AzSK proporciona 3 componentes principales para el desarrollo de aplicaciones seguras:

Pruebas de verificación de seguridad (SVT) de los recursos Azure involucrados
Codificación segura con Security IntelliSense
Seguridad en la extensión del CICD para Visual Studio
1) Pruebas de verificación de seguridad (SVT)

Como aprendimos para la seguridad de la Suscripción en el post anterior, AzSK incluye scripts que pueden ser usados para comprobar la seguridad de los recursos de Azure involucrados en su aplicación.

Puedes usar AzSK SVT de varias maneras:

1.1) Comprobando la seguridad de todos los recursos de una suscripción

El cmdlet de AzSK PowerShell que se utilizará para escanear la salud de la seguridad de todos los recursos de Azure en una suscripción específica es el siguiente:

Get-AzSKAzureServicesSecurityStatus -SubscriptionId <SubscriptionId>

Al contrario que el comando (Get-AzSKSubscriptionSecurityStatus -SubscriptionId <SubscriptionId>) usado para la salud de seguridad de la suscripción que vimos en el post anterior; este comando no ejecutará los 19 controles incorporados para la seguridad de la suscripción, sino que ejecutará los controles incorporados de AzSK para todos los recursos Azure incluidos en su suscripción (por ejemplo, Máquina Virtual, Base de Datos SQL, Aplicaciones Lógicas, Bóveda de Claves, Red Virtual, etc.). El número de controles incorporados de AzSK que se ejecutarán dependerá del tipo y el número de recursos presentes en su suscripción.


Como recordatorio, la actual versión 3.7.0 de AzSK soporta 336 controles incorporados, de los cuales 19 son para la suscripción. El número de controles incorporados soportados puede ser obtenido usando el cmdlet Get-AzSKInfo como se muestra en la siguiente captura de pantalla:





Los resultados de los SVT están en el mismo formato que para la suscripción (informe de seguridad en CSV, archivos de registro que explican el resultado, etc.). Sólo los controles AzSK cambian porque dependen de los recursos Azure involucrados. En cuanto a la comprobación de la seguridad de la suscripción, se comprobarán los controles de seguridad del AzSK para cada recurso implicado y el estado del resultado será Aprobado, Fallido, Manual, Verificar o Error.


La lista de los 35 tipos de recursos en azul que actualmente soporta AzSK se resume en la siguiente tabla:






Nombre del tipo de recurso Descripción del tipo de recurso o propósito
AnalysisServices Motor de análisis de nivel empresarial como servicio
APIConnection API administrada para aplicaciones de lógica
AppService Creación rápida de potentes aplicaciones en la nube para la web y el móvil
Automation Simplificar la gestión de la nube con la automatización de los procesos
AzSKCfg Configuración del AzSK
Batch Programación de trabajos a escala de la nube y gestión de la computación
BotService Un servicio de bot inteligente, sin servidores, que escala según la demanda
CDN Garantizar la entrega de contenido seguro y fiable con un amplio alcance mundial
CloudService Crear aplicaciones y API de nube altamente disponibles e infinitamente escalables
ContainerInstances Es fácil hacer funcionar los contenedores en Azure sin tener que administrar los servidores.
ContainerRegistry Almacenar y gestionar imágenes de contenedores en todos los tipos de despliegues de Azure
CosmosDB Base de datos multimodal distribuida globalmente para cualquier escala
Databricks Una plataforma de análisis basada en Apache Spark, rápida, fácil y colaborativa
DataFactory La integración de datos híbridos a escala empresarial, facilitada
DataFactoryv2 Servicio híbrido de integración de datos con patrones de ejecución muy flexibles
DataLakeAnalytics Servicio de análisis distribuido que facilita el Big Data
DataLakeStore Almacenamiento de datos a escala masiva en el lago
ERvNet (Express Route-connected Virtual Networks) Conexiones de fibra de red privada dedicada a Azure
EventHub Recibir la telemetría de millones de dispositivos
HDInsight Provision cloud Hadoop, Spark, R Server, HBase, and Storm clusters
KeyVault Salvaguardar y mantener el control de las llaves y otros secretos
LoadBalancer Ofrecer alta disponibilidad y rendimiento de la red a sus aplicaciones
LogicAppS Automatizar el acceso y uso de los datos a través de las nubes sin escribir código
NotificationHub Envía notificaciones push a cualquier plataforma desde cualquier back end
ODG (On-premises Data Gateways) Puente que proporciona transferencia de datos segura entre orígenes de datos locales y sus servidores de Azure Analysis Services en la nube
RedisCache Potencia las aplicaciones con acceso a datos de alto rendimiento y baja latencia
SearchBúsqueda como servicio totalmente gestionada
ServiceBus Conéctese en entornos de nube pública y privada
ServiceFabricDesarrollar microservicios y orquestar contenedores en de Windows o Linux
SQLDatabase Base de datos SQL relacional gestionada como servicio
StorageAccount Almacenamiento en la nube duradero, altamente disponible y masivamente escalable
StreamAnalytics Procesamiento de flujo de datos en tiempo real desde millones de dispositivos IoT
TrafficManager Dirige el tráfico entrante para obtener un alto rendimiento y disponibilidad
VirtualMachine Aprovisione máquinas virtuales Windows y Linux en segundos
VirtualNetwork Aprovisione redes privadas, opcionalmente conéctese a centros de datos locales

La lista de tipos de recursos soportados continúa creciendo, y puede usar el siguiente comando AzSK (Get-AzSKS SupportedResourceTypes) para confirmar los tipos de recursos Azure soportados por su AzSK instalado.

En general, una suscripción incluye varias aplicaciones y cada aplicación puede organizarse en uno o varios grupos de recursos.

AzSK admite la comprobación de seguridad para grupos de recursos específicos.

1.2) Comprobación de seguridad de grupos de recursos específicos

El escaneo de seguridad de grupos de recursos específicos se puede realizar usando el siguiente comando AzSK:

Get-AzSKAzureServicesSecurityStatus -SubscriptionId <SubscriptionId> -ResourceGroupNames <ResourceGroupNames> donde ResourceGroupNames es una lista separada por comas de grupos de recursos que contienen recursos relacionados para una suscripción Azure (por ejemplo, "RG1, RG2, RG3").

AzSK comprobará entonces el estado de los controles de seguridad incorporados aplicables a todos los recursos incluidos en los grupos de recursos seleccionados. Como un grupo de recursos puede contener varios recursos, AzSK permite reducir sus controles de seguridad a un tipo de recurso específico, dependiendo de sus necesidades.

1.3) Escanear la seguridad de un tipo de recurso específico

Además del escaneo de seguridad de grupos de recursos específicos, AzSK también proporciona la capacidad de escanear la seguridad de un tipo de recurso específico.

Esto se hace aprovechando dos parámetros adicionales: ResourceType o ResourceTypeName. Los comandos relacionados de AzSK son los siguientes:

Get-AzSKAzureServicesSecurityStatus -SubscriptionId <SubscriptionId> [-ResourceGroupNames <ResourceGroupNames>] -ResourceType <ResourceType> o

Get-AzSKAzureServicesSecurityStatus -SubscriptionId <SubscriptionId> [-ResourceGroupNames <ResourceGroupNames>] -ResourceTypeName <ResourceTypeName>.

Por ejemplo, si quiere comprobar el estado de seguridad de todas las Máquinas Virtuales usadas en su aplicación (SubscriptionID = Subs-100, ResourceGroupNames=RG-App1-Dev & RG-App1-QA & RG-App1-Prod), el comando AzSK relacionado tendrá el aspecto siguiente:

Get-AzSKAzureServicesSecurityStatus -SubscriptionId "Subs-100" -ResourceGroupNames "G-App1-Dev, RG-App1-QA, RG-App1-Prod" -ResourceType "Microsoft.Compute/virtualMachines" o

Get-AzSKAzureServicesSecurityStatus -SubscriptionId 'Subs-100' -ResourceGroupNames 'RG-App1-Dev, RG-App1-QA, RG-App1-Prod' -ResourceTypeName 'VirtualMachine'.

Los valores soportados que se pueden utilizar para los parámetros ResourceType y ResourceTypeName se pueden obtener utilizando el siguiente comando AzSK Get-AzSKSupportedResourceTypes como en la siguiente captura de pantalla:




Como puede ver, AzSK proporciona una amplia lista de formas de realizar las pruebas de verificación de seguridad (SVT) de los recursos de Azure utilizados en sus aplicaciones. Estas pruebas de verificación de seguridad se basan en las mejores prácticas de seguridad y en las recomendaciones de Microsoft. Para cualquier detalle adicional, el cmdlet PS Get-Help Get-AzSKAzureServicesSecurityStatus será su "amigo".

Además de los 19 controles de seguridad incorporados para la seguridad de la suscripción, AzSK proporciona actualmente más de 317 controles de seguridad incorporados para ayudarle a construir aplicaciones seguras basadas en Azure.

En la siguiente tabla se enumeran los controles de seguridad admitidos por AzSK para el tipo de recurso Máquina virtual Azure:


CONTROL RAZÓN FUNDAMENTAL GRAVEDAD
1 La máquina virtual debe tener instalada la última versión del sistema operativo Estar en la última versión del sistema operativo reduce significativamente los riesgos de los problemas de diseño de seguridad y los errores de seguridad que pueden estar presentes en las versiones más antiguas Media
2 Las actualizaciones automáticas del sistema operativo deben estar habilitadas en la máquina virtual de Windows Las máquinas virtuales en las que las actualizaciones automáticas están desactivadas pueden perder importantes parches de seguridad debido a un error humano. Alta
3 El antimalware debe estar habilitado con protección en tiempo real en la máquina virtual de Windows Habilitar la protección antimalware minimiza los riesgos de los ataques existentes y nuevos de varios tipos de malware Alta
4 El NSG debe estar configurado para la Máquina Virtual Restringir el tráfico entrante y saliente a través de los NSG limita la exposición de la red de una VM reduciendo la superficie de ataque Media
5 La IPs públicas en una máquina virtual debe ser revisada cuidadosamente Las IPs públicas proveen acceso directo a través de Internet exponiendo a la VM a ataques a través de la red pública Alta
6 La encriptación del disco debe estar habilitada tanto en el sistema operativo como en los discos de datos para la Máquina Virtual de Windows Esto minimiza el riesgo de pérdida de datos por robo físico y también ayuda a cumplir los requisitos de cumplimiento normativo Alta
7 La máquina virtual debe estar en un estado saludable en el Centro de Seguridad Azure El Centro de Seguridad Azure emite alertas (que son típicamente indicativas de recursos que no cumplen con alguna protección de seguridad de base) Alta
8 La máquina virtual debe tener instalados todos los parches necesarios del sistema operativo Las máquinas virtuales sin parches son blancos fáciles para comprometerse con varios ataques de malware y troyanos. Alta
9 La Máquina Virtual debe implementar todas las recomendaciones del ASC marcadas El Centro de Seguridad Azure ofrece varias recomendaciones de seguridad para los recursos que no cumplen con alguna protección de seguridad de base Alta
10 Los diagnósticos (extensión IaaSDiagnostics en Windows; extensión LinuxDiagnostic en Linux) deben estar habilitados en la máquina virtual Los registros de diagnóstico son necesarios para crear un rastro de actividad mientras se investiga un incidente o un compromiso Media
11 No deje los puertos de gestión abiertos en las máquinas virtuales Los puertos de gestión remota abiertos exponen a un nodo de VM/computadora a un alto nivel de riesgo de ataques basados en Internet Critica


Los controles de seguridad incorporados completos cubiertos por el recurso AzSK por Azure se pueden encontrar aquí.

AzSK también le permite controlar la seguridad de sus aplicaciones con otras herramientas que no sean PowerShell.

2) Codificación segura con Security IntelliSense

Security IntelliSense es una extensión que aumenta la característica estándar de Visual Studio IntelliSense con el conocimiento de la codificación segura. Te ayuda a obtener asistencia "en línea" para arreglar posibles problemas de seguridad mientras escribes el código.

Las características soportadas incluyen:


Aproximadamente 80 reglas (disponibles aquí) que cubren escenarios como:


  • Varias reglas de codificación segura relacionadas con el Azure PaaS API
  • Mejores prácticas de autenticación basadas en ADAL
  • Errores de criptografía comunes
  • Problemas de seguridad de la aplicación clásica y de la aplicación web

Reglas auto-actualizadas: El plug-in comprueba periódicamente si se han publicado nuevas reglas en un almacén central de reglas y actualiza su conjunto de reglas locales

Indicaciones de error y advertencia para un código incorrecto y posiblemente vulnerable: (Por ejemplo, el uso de la caché de fichas personalizadas en el escenario ADAL)

Sugerencias para correcciones/prácticas de codificación conformes: (Por ejemplo, en lugar de aleatorio, la clase RNGCryptoServiceProvider debería utilizarse en un contexto de criptografía).

3) Seguridad en CICD (extensión para Visual Studio)

Todas las pruebas de verificación de seguridad del AzSK (SVT) de las que hemos hablado hasta ahora pueden ser ejecutadas en cualquier momento en modo ad hoc (usando comandos Powershell) dependiendo de sus necesidades.

AzSK proporciona una extensión CICD que le ayuda a automatizar e integrar dichas pruebas de verificación de seguridad como parte de los flujos de trabajo de desarrollo y de liberación de tuberías.

La función de extensiones CICD de AzSK hace posible la aplicación automatizada de la configuración de seguridad al hacer que los SVT estén disponibles como una extensión de Visual Studio.

La guía para habilitar las pruebas de verificación de seguridad (SVT) en los canales de lanzamiento de Visual Studio Team Services (VSTS) se puede encontrar aquí. VSTS se conoce actualmente como Azure DevOps Services.

Conclusión

En este artículo (el cuarto relacionado con el Kit de Desarrollo Seguro para Azure - AzSK), traté de cómo este marco de trabajo AzSK puede ser aprovechado para desarrollar e implementar aplicaciones seguras basadas en la nube de Azure. Esto se hace gracias a las siguientes características:


  • Pruebas de verificación de seguridad (SVT) para los recursos de Azure utilizados en sus aplicaciones (35 tipos de recursos actualmente soportados con 317 controles de seguridad incorporados)
  • Prácticas de codificación de seguridad usando el Security IntelliSence
  • Integración de seguridad en la Integración Continua/ Entrega Continua (CICD) a través de una extensión de Visual Studio AzSK



Referencias clave y recursos adicionales


viernes, 26 de julio de 2019

On-Premises vs. Azure Security Stack

Antes vimos un diagrama que presenta un mapeo de controles de seguridad locales frente a los servicios ofrecidos por los principales proveedores de servicios en la nube

El siguiente diagrama sigue un patrón similar, centrado solo en las tecnologías de seguridad de Azure e incluye información adicional como servicios de Azure gratuitos versus facturables, disponibilidad de herramientas de terceros en Azure Marketplace e integración entre estas tecnologías y otros servicios de Azure, incluidas herramientas de monitoreo. 

La intención del diagrama es proporcionar a los profesionales de seguridad una vista consolidada de toda la pila de seguridad de Azure.