Búsqueda de sitios web

Por qué es complejo eliminar permanentemente un buzón de Exchange Online


Eliminar un buzón parece fácil, pero conservarlo puede causar dificultades

Un lector preguntó cuál es la mejor manera de eliminar permanentemente un buzón de Exchange Online. A primera vista, la respuesta es fácil: elimine el buzón para ponerlo en un estado de eliminación temporal y luego elimine el buzón de forma permanente. Al menos, esa es la teoría. Resulta que las políticas de cumplimiento de Microsoft 365 Purview pueden complicar el proceso, como exploraremos aquí.

Antes de comenzar, permítanme señalar que eliminar un buzón mientras las políticas de cumplimiento están vigentes no es algo que se pueda hacer sin autorización. Hay una razón por la cual las organizaciones utilizan políticas de cumplimiento, y si continúa y elimina permanentemente un buzón, elimina el contenido de ese buzón de los índices de búsqueda y hace que los elementos sean invisibles para eDiscovery. Asegúrese de que la documentación esté disponible antes de eliminar cualquier cosa que la organización conserve con fines de cumplimiento.

Eliminar la cuenta de Azure AD

El punto de partida habitual para eliminar un buzón de Exchange Online es eliminar la cuenta de Azure AD del propietario. Esta acción coloca la cuenta en la papelera de reciclaje de Azure AD y coloca el buzón en un estado de eliminación temporal. La cuenta permanece en la papelera de reciclaje durante 30 días, después de lo cual Azure AD la elimina permanentemente. No es posible eliminar un buzón de correo eliminado temporalmente mientras su cuenta de Azure AD todavía existe, por lo que el primer paso en el proceso de eliminación es la eliminación permanente de la cuenta de Azure AD. Puedes esperar a que transcurran los 30 días o forzar la eliminación.

Durante este período, el buzón se encuentra en un estado de eliminación temporal. Para permitir la recuperación de la cuenta y su buzón, el buzón permanece conectado a la cuenta de Azure AD eliminada (el identificador de la cuenta está presente en la propiedad ExternalDirectoryObjectId del buzón).

Este fragmento de código utiliza una solicitud Graph para encontrar el conjunto de cuentas de usuario eliminadas temporalmente y devolver el nombre para mostrar y el identificador de cada cuenta.

$Uri = "https://graph.microsoft.com/V1.0/directory/deletedItems/microsoft.graph.user"
[array]$DeletedUsers = Invoke-MgGraphRequest -Uri $Uri -Method Get

$DeletedUsers.Value.Foreach({Write-Host $_.DisplayName, $_.id})
Business Queries 423069fa-1b1c-4d99-994e-c46f4877c510
Ståle Hansen (Office 365 for IT Pros) 8aa1261a-b63e-4d5e-8acb-174879fc007a

Este artículo cubre un método más sofisticado para enumerar cuentas eliminadas temporalmente. Lo importante es conocer el identificador de la cuenta que desea forzar la eliminación. En este caso, eliminaremos la cuenta de Ståle Hansen (identificador 8aa1261a-b63e-4d5e-8acb-174879fc007a). Este comando de PowerShell funciona:

Remove-MgDirectoryDeletedItem -DirectoryObjectId 8aa1261a-b63e-4d5e-8acb-174879fc007a

Advertencia: cuando elimina permanentemente una cuenta de Azure AD, elimina cualquier posibilidad de recuperar la cuenta. Ha ido al gran depósito de bytes en las nubes.

Quitar el buzón

Dependiendo de si existe alguna forma de retención en el buzón eliminado temporalmente, eliminar la cuenta de Azure AD propietaria de un buzón:

  • Si no existe ninguna retención en el buzón, permite que Exchange Online elimine el buzón de forma permanente. Es posible que esto no suceda de inmediato, ya que el momento exacto en que se realiza la eliminación depende de cuándo los trabajos en segundo plano procesan el buzón.
  • Si existe alguna política de retención o retención en el buzón, Exchange Online coloca el buzón en un estado inactivo. El buzón permanece en este estado hasta que se elimine la última política (o etiqueta) de retención o retención que rige cualquier contenido del buzón. Cuando esto sucede, el buzón deja el estado inactivo y se convierte en un buzón de correo eliminado temporalmente, y comienza una cuenta regresiva hacia la eliminación final. Nota: en la notificación MC411428 del centro de mensajes (8 de agosto de 2022), Microsoft anunció que trasladará el período de recuperación para buzones de correo inactivos de 183 días a 30 días después de la eliminación de la última retención. El cambio entrará en vigor a finales de septiembre de 2022.

Existen buzones de correo inactivos para garantizar que Exchange Online nunca elimine la información necesaria para fines de retención. No es necesario otorgar licencias a los buzones de correo inactivos y pueden permanecer en su lugar durante el tiempo que sea necesario (obviamente, los buzones de correo tenían licencias cuando estaban activos). Algunos de los buzones de correo inactivos de mi inquilino se remontan a 2015.

Puede forzar a Exchange Online a eliminar un buzón eliminado temporalmente mediante el cmdlet Remove-Mailbox. Si no hay retenciones para el buzón, Remove-Mailbox finaliza la cuenta regresiva para la eliminación permanente y elimina el buzón. Sin embargo, si existe algún tipo de retención en el buzón, Remove-Mailbox no funcionará, como vemos aquí:

$Mbx = Get-Mailbox -Identity Stale.Hansen -SoftDeletedMailbox
Remove-Mailbox -PermanentlyDelete -Identity $Mbx.DistinguishedName

Confirm
Are you sure you want to perform this action?
Removing the mailbox Identity:"Soft Deleted Objects\Stale.Hansen" will mark the mailbox and the archive, if present, for deletion. The associated Windows Live ID "Stale.Hansen@office365itpros.com" will also be deleted and will not be available for any other Windows Live service.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): y
Error on proxy command 'Remove-Mailbox -PermanentlyDelete:$True -Identity:'Soft Deleted Objects\Stale,Hansen
-Confirm:$False' to server AM9PR04MB8938.eurprd04.prod.outlook.com: Server version 15.20.5395.0000, Proxy method PSWS:
Cmdlet error with following error message:
Microsoft.Exchange.Management.Tasks.RecipientTaskException: The user mailbox couldn't be permanently deleted. The user mailbox has at least one type of hold or hold policy applied to it. Please remove the holds before trying to
delete. LitigationHoldEnabled: false, ComplianceTagHoldApplied: true, DelayHoldApplied: true,
DelayReleaseHoldApplied: true, OrganizationPolicies Applied: mbxf6a1654abdba4712a43c354e28a4d56c:2, UserPolicies Applied: 7c5feb6c-5719-4d12-96df-e70bb54b14c3, restrictivePolicies Applied: , CpsInfo: . For more information, please see the PowerShell cmdlets, Get-OrganizationConfig <>|fl inplace*, and Get-Mailbox <>|fl compl*,delay*,inplace*,litig*OrganizationPolicies Applied: 

Debido a la necesidad de verificar las políticas de cumplimiento, pueden pasar varios minutos antes de que Remove-Mailbox muestre un error. Esto no es inusual. Es simplemente Exchange Online asegurándose de que todo esté en su lugar para permitirle eliminar el buzón.

Tratar con políticas de cumplimiento

En este caso, Exchange Online informa que no puede continuar porque el buzón está dentro del alcance de una política de retención de la organización (mbxf6a1654abdba4712a43c354e28a4d56c:2) y una política de usuario (7c5feb6c-5719-4d12-96df-e70bb54b14c3).

Para verificar las retenciones de la organización, ejecute el cmdlet Get-OrganizationConfig y examine los identificadores de retenciones. En este resultado, el identificador de retención aparece al final de la lista.

Get-OrganizationConfig | Select-Object -ExpandProperty InPlaceHolds
mbx85eb38087b2642619b79161788f5b81b:1
grp85eb38087b2642619b79161788f5b81b:1
grp5d763f9615e8424a8190b49687c65f46:1
grpfcab5f8ef3e74a778c33a744d686b010:1
mbx19200b9af08442529be070dae2fd54d3:1
grpf6a1654abdba4712a43c354e28a4d56c:1
mbxc1e2d6f1785d4bf8a7746a26e58e5f66:1
mbxf6a1654abdba4712a43c354e28a4d56c:2

Para encontrar la política de retención, elimine el prefijo “mbx” y el sufijo “:2” del identificador de retención para terminar con f6a1654abdba4712a43c354e28a4d56c. Conéctese al punto final de cumplimiento y use este valor para encontrar la política de retención:

Connect-IPPSSession
Get-RetentionCompliancePolicy -Identity f6a1654abdba4712a43c354e28a4d56c

Name                        Enabled Mode
----                        ------- ----
Company Retention Labels       True Enforce

Algunas políticas de retención publican etiquetas de retención en buzones y otras ubicaciones (como es el caso aquí), por lo que esta política no retiene nada. Pero para asegurarse de que las políticas de retención no impidan la eliminación del buzón, puede excluir el buzón de todas las retenciones de toda la organización ejecutando Set-Mailbox. Al mismo tiempo, debe eliminar la retención retrasada aplicada a los buzones para evitar que el Asistente para carpetas administradas elimine inmediatamente la información retenida de los buzones después de liberar las retenciones.

Estos comandos excluyen el buzón eliminado temporalmente de todas las retenciones de la organización y liberan la retención retrasada en el contenido normal del buzón (RemoveDelayHoldApplied) y los registros de cumplimiento (RemoveDelayReleaseHoldApplied):

Set-Mailbox -Identity $Mbx.DistinguishedName -InactiveMailbox -ExcludeFromAllOrgHolds 
Set-Mailbox -Identity $Mbx.DistinguishedName -RemoveDelayHoldApplied -InactiveMailbox
Set-Mailbox -Identity $Mbx.DistinguishedName -RemoveDelayReleaseHoldApplied -InactiveMailbox

Es posible que existan otras políticas de retención para mantener la información almacenada en el buzón. Para obtener más información, lea los consejos de Microsoft sobre cómo identificar y eliminar estas retenciones.

Si Remove-Mailbox informa que el buzón está bajo una retención por litigio de Exchange Online, puede liberarlo con:

Set-Mailbox -Identity $Mbx.DistinguishedName -LitigationHoldEnabled $False -InactiveMailbox

Políticas de retención de aplicaciones

El error que se muestra al ejecutar Remove-Mailbox identificó una retención para una política de usuario 7c5feb6c-5719-4d12-96df-e70bb54b14c3. Al ejecutar Get-RetentionCompliancePolicy se encuentra la política:

Get-RetentionCompliancePolicy -Identity 7c5feb6c-5719-4d12-96df-e70bb54b14c3 -DistributionDetail | Format-Table Name, Enabled, Mode, ExchangeLocation, Applications

Name                   Enabled Mode    ExchangeLocation Applications
----                   ------- ----    ---------------- ------------
Teams Private Channels    True Enforce {All}            {User:MicrosoftTeamsChannelMessages}

Esta información nos indica que la política se aplica a todos los buzones de correo de Exchange Online. Como tal, es de esperar que las retenciones locales almacenadas en la configuración de la organización incluyan la política, pero no está allí. Esto se debe a que se trata de una política de retención de aplicaciones para procesar los registros de cumplimiento creados por el sustrato de Microsoft 365 para las conversaciones del canal privado de Teams.

El consejo de Microsoft para las políticas de retención que cubren todos los buzones de correo de Exchange Online es agregar el buzón eliminado temporalmente como una exclusión de la política. Por lo general, agrega una exclusión de buzón ejecutando el cmdlet Set-AppRetentionCompliancePolicy de esta manera:

Set-AppRetentionCompliancePolicy -Identity "Teams Private Channels" -AddExchangeLocationException $Mbx.PrimarySmtpAddress

Desafortunadamente, no puede agregar buzones de correo eliminados temporalmente como exclusiones para las políticas de retención de aplicaciones. Microsoft ha reconocido esta deficiencia en las políticas de retención de aplicaciones y está trabajando para solucionar el problema. Si tiene Office 365 E5 o superior, puede usar ámbitos adaptables para controlar las políticas de retención aplicadas a buzones de correo inactivos. Sin embargo, todavía existe la necesidad de excluir buzones de correo inactivos específicos para permitir su eliminación.

De lo contrario, la única solución es deshabilitar la política de retención de aplicaciones por un tiempo para permitir que continúe la eliminación del buzón. Puede pasar hasta un día después de deshabilitar la política antes de que Exchange Online permita que se realice la eliminación del buzón. Después de eliminar el buzón, puede volver a habilitar la política de retención de aplicaciones. Ésta no es una buena situación desde la perspectiva del cumplimiento.

Comprobar retenciones para encontrar un bloque grande

Después de encargarnos de todas las retenciones, podemos avanzar para verificar el estado de retención del buzón con Get-Mailbox:

Get-Mailbox -SoftDeletedMailbox -Identity $Mbx.Distinguishedname | Format-List compl*, delay*, InplaceHolds, litigationholdEnabled

ComplianceTagHoldApplied : True
DelayHoldApplied         : False
DelayReleaseHoldApplied  : False
InPlaceHolds             : {-mbxf6a1654abdba4712a43c354e28a4d56c, -mbxc1e2d6f1785d4bf8a7746a26e58e5f66, mbx19200b9af08442529be070dae2fd54d3, -mbx85eb38087b2642619b79161788f5b81b}
LitigationHoldEnabled    : False

Para poder eliminar el buzón, necesitamos un estado Falso para todos los tipos de retención. Todo está bien excepto ComplianceTagHoldApplied. Esto significa que algunos elementos del buzón tienen etiquetas de retención. Para buscar y eliminar las etiquetas de retención, deberá recuperar el buzón inactivo y verificar todas las carpetas y elementos individuales, posiblemente mediante una búsqueda de contenido para encontrar elementos etiquetados. Obviamente, esto podría ser un trabajo enorme. Eliminar los elementos y las carpetas no funcionará porque los elementos permanecerán en la estructura de Elementos recuperables hasta el final de su período de retención.

A menos que sepa con precisión quirúrgica qué elementos y carpetas tienen etiquetas, probablemente sea mejor dejar estos buzones en paz y dejar que los elementos etiquetados caduquen. Finalmente, una vez que caduque el último elemento, el Asistente de carpeta administrada eliminará el buzón.

Si termina con False para todos los tipos de retención, debería poder ejecutar Remove-Mailbox correctamente.

Eliminar buzones de correo eliminados temporalmente es complejo

Siguiendo los altibajos que implica rastrear y eliminar retenciones, podemos concluir que la eliminación de buzones de correo eliminados temporalmente es una tarea compleja. Si sabía que tenía que eliminar completamente un buzón de antemano, podría usar la función de búsqueda de políticas de retención en el portal de cumplimiento para verificar de antemano qué políticas están involucradas. Aun así, esto solo mostraría las políticas de retención de Microsoft 365 y, como descubrimos, otros factores pueden detener la eliminación de un buzón, incluida la presencia de un solo elemento etiquetado. A veces es fácil identificar una retención de bloqueo y otras no. E incluso cuando pueda, es posible que solo pueda solucionar la retención eliminándola temporalmente.

Con todo eso en mente, tal vez sea mejor dejar en paz los buzones de correo inactivos y eliminados temporalmente y dejar que Exchange Online administre la compleja interacción de las políticas de retención y decida cuándo los buzones finalmente pasan a un estado de eliminación permanente. Después de todo, no paga por buzones de correo inactivos, no estorban, así que ¿por qué preocuparse por ellos?

La cadena de eliminación de Microsoft 365 y la gestión de rutas de ataque

Una estrategia de ciberseguridad eficaz requiere una comprensión clara y completa de cómo se desarrollan los ataques. Lea este documento técnico para obtener la información experta que necesita para defender su organización.

Artículos relacionados