En algunas ocasiones tendremos el escenario en el que debamos eliminar cierto contenido de todas las cuentas de correo y/o onedrives, sharepoints,etc.. de nuestra organización, hoy vamos a ver como trabajando conjuntamente en el centro de seguridad y cumplimiento de Office 365 y Powershell podemos realizar esta tarea rápidamente.

controlycumplimiento0

Los filtros propios de Microsoft aplicados a Exchange Online, además de los nuestros propios que especifiquemos nos aseguran que la mayor parte de correos spam y maliciosos van a ser detectados y eliminados antes de que lleguen a nuestros correos pero las situaciones en las que deberemos actuar sobre las cuentas de nuestra organización pueden ser múltiples, empezando por un correo enviado por equivocación con información sensible, pasando por un spameador o atacante interno, más difícil de detectar con las reglas más comunes que se centran en correos entrantes a la organización.

Vamos a ver como combinando el centro de seguridad y cumplimiento y Powershell o directamente en Powershell podemos llevar a cabo esta tarea rápida y eficientemente.

En centro de seguridad y cumplimiento es un gran añadido a la suite de Office 365, centraliza en un solo espacio de administración diferentes herramientas vitales para la seguridad de nuestro Office 365. En este espacio tenemos las herramientas de búsqueda e investigación de contenido, la gestión de amenazas incluyendo el filtrado de emails, políticas anti-malware, la gestión de datos, incluyendo las políticas de archivo, retención, etc.. En el caso que nos ocupa hoy lo que nos interesa principalmente es la capacidad de investigación en todo nuestro dominio(s) a través de la opción de búsqueda e investigación.

Paso 1 – Crear la búsqueda de contenido

Opción 1 – A través del Centro de seguridad y cumplimiento de Office 365

A través de la búsqueda de contenido podemos investigar en todas (o en determinadas cuentas) y buscar contenido por palabras clave, tanto en elementos de correo como en elementos de sharepoint/onedrive. Pudiendo después previsualizar los resultados, exportarlos en formato .pst o generar un reporte sobre los mismos. De esta manera podríamos tener ya una idea de la distribución que ha tenido el contenido que queremos eliminar.

controlycumplimiento1

Opción 2 – Powershell

La misma búsqueda la podemos llevar a cabo directamente en Powershell con el siguiente cmdlet.

Cmdlet New-ComplianceSearch

Este cmdlet sirve para el mismo propósito, crear búsquedas en nuestras cuentas pudiendo aplicar diferentes filtros como indicar en que cuentas realizar la búsqueda, palabras claves de la misma, en que elementos buscar, etc..
El siguiente ejemplo reproduce la búsqueda realizada anteriormente, buscaremos la cadena “ransomware ejemplo” indicándola en el parámetro ContentMatchQuery en todos los buzones de nuestra organización indicándolo en el parámetro ExchangeLocation. El nombre de la búsqueda lo modificamos ligeramente ya que no podemos tener múltiples búsquedas utilizando el mismo nombre.

New-ComplianceSearch -Name "ejemplo posible ransomwaree" -ExchangeLocation All -ContentMatchQuery "'ransomware ejemplo'”

En Powershell seguidamente tendremos que ejecutar la búsqueda ya que por defecto se crea pero no se lleva a cabo.

Cmdlet Start-ComplianceSearch

Como decíamos en Powershell, una cosa es crear la búsqueda y otra ejecutarla. Una vez creada la búsqueda queda en la lista de ComplianceSearch, para ver este listado ejecutamos el cmdlet Get-ComplianceSearch lo que nos devuelve un listado de todas las búsquedas y su estado. Como podemos ver la que acabamos de crear aparece como no ejecutada, mientras que la anterior que ejecutamos por web ya aparece como completada.

controlycumplimiento powershell2

Entonces ahora si sabiendo el nombre de nuestra búsqueda podemos ejecutarla con el cmdlet Start-ComplianceSearch. De la siguiente manera

Start-ComplianceSearch -Identity "ejemplo posible ransomwaree"

Si volvemos a ejecutar el Get-ComplianceSearch, veremos nuestra búsqueda primero pasar al estado “Starting” y luego al estado “InProgress”

Paso 2 – Ejecutar acción sobre el contenido encontrado

Cmdlet ComplianceSearchAction

Una vez tenemos nuestra búsqueda completada, podemos actuar de diferentes maneras sobre los resultados. Podemos por ejemplo previsualizar los resultados, exportarlos a un fichero .pst o enviarlos a un email, generar un reporte, eliminar las coincidencias con nuestra búsqueda...

Con el cmdlet Get-ComplianceSearchAction obtenemos un listado con todas las acciones realizadas sobre nuestras búsquedas, con su correspondiente fecha ,usuario y estado. Si por ejemplo sobre una única búsqueda hubiéramos primero previsualizado resultado, luego generado un reporte y luego eliminado las coincidencias aparecerían 3 líneas, una para cada acción.

En el ejemplo que nos ocupa imaginemos que nuestra búsqueda ha devuelto 20 e-mails con la cadena “ransomware ejemplo” en diversos buzones de correo y queremos eliminarlos de inmediato. Para ello utilizaremos el cmdlet New-ComplianceSearchAction como vemos a continuación.

New-ComplianceSearchAction -SearchName "ejemplo posible ransomware" –Purge

Con esto ejecutamos una acción de borrado sobre los resultados de la búsqueda sin permitir a los usuarios recuperar esos ítems. Podríamos añadir al final del comando la opción “-PurgeType SoftDelete” que movería los elementos a eliminados pero permitiría recuperarlos dentro del periodo indicado en nuestra organización. Además del borrado con Purge, podríamos usar los parámetros –Preview, -Export, etc...

Como hemos visto, gracias al potencial de Powershell, tareas de investigación y/o de eliminación de ciertos correos no deseados se pueden realizar sencillamente y en muy poco tiempo a nivel global en nuestra organización.

Como siempre todos estos cmdlets están perfectamente explicados en las webs de Microsoft con todas sus diferentes opciones para que personalicéis vuestros scripts y saquéis el máximo provecho a Powershell y su gestión de Exchange Online.