martes, 2 de junio de 2020

Intro a Powershell y administración de O365 Security Center and Compliance

Estimados amigos de Inseguros !!!

En el post de hoy me atrevo a contaros algunos pequeños trucos, consejos o breve guía para que os inicieis en el lenguaje Powershell, orientándolo un poco a la ciber, por no hacer el "hola mundo", y que de paso te sirva en tu día día.

Como sabes Powershell no es un lenguaje de programación como tal, es una interfaz de administración por consola, como viene siendo CMD o Bash, pero con funciones más avanzadas. Una respuesta de Microsoft a las exigencias de la comunidad de tener un lenguaje potente de administración para tareas complejas, pudiendo realizar operaciones para grandes cargas de trabajo, entornos complejos y sobre todo automatización.

Para intentar aportar algo de valor, vamos a hablar del Microsoft 365 ( Office 365) SCC Security Center & Compliance, como su nombre indica, el centro en donde administramos la configuración de seguridad de nuestro entorno o tenant ( inquilino).



Los motivos son muchos, pero cada uno tiene que valorar si necesita realmente utilizar la consola o los clicks. En mi caso, y dada la vertiente de administración de varias empresas, me es útil realizar los cambios mediante scripting, para poder repetirlos en mis distintas empresas o clientes.  Usar este código minimiza el impacto de un administrador que puede cometer un fallo y hacer un click donde o como no deba, por ejemplo borracho como una cuba :-)

Seguimos con lo básico. Los comandos Powershell, los CMDlet, se componen de 4 partes:

VERBO: Por ejemplo Get, List, Set, Add, etc
NOMBRE: Date, content, label, etc.
PARAMETROS: -Credential, - Path, -Force, etc
MODIFICADORES: –_Recurse,-Force. _

Otra de las cuestiones básicas de PowerShell es la canalización o Piping, lo que viene siendo "enviar" el resultado de un comando como dato de entrada del siguiente. Ejemplo: 
Get-Content -Path C:\listado_ordenadores.txt | Test-Connection 

Ahora que hemos visto lo más básico, vamos con la parte del Microsoft 365 SCC. Para poder conectarnos al entorno Powershell necesitamos el módulo de Azure Active Directory y el módulo de administración de Exchange Online.

En mi caso una vez instalado, en mi entorno con MFA:

Connect-IPPSSession -UserPrincipalName larala@comasd.com


Una vez "sesionados" podemos comprobar que todo ha ido bien con alguno de los comandos relativos a la sesión.



Vamos a listar las directivas de alertas de nuestro tenant con Get-ProtectionAlert.


Al final hay cientos de CMDlets y lo mejor es tirar de la referencia oficial para mostrar los que puedes necesitar, aunque hay algunos trucos para buscar en la consola...

PS C:\Users\Administrador > gcm -Name *alert*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           Get-ASRAlertSetting                                2.9.0      Az.RecoveryServices
Alias           Get-ASRAlertSetting                                0.2.4      AzureRM.RecoveryServices.SiteRecovery
Alias           Set-ASRAlertSetting                                2.9.0      Az.RecoveryServices

Gracias por leerme !!!