Búsqueda de sitios web

5 herramientas gratuitas de seguridad de Exchange que probablemente no conoces


La seguridad del correo electrónico de Exchange es un frente enorme que defender. Ahora hay tantas superficies de ataque que puede resultar difícil decidir cómo empezar. Aquí hay algunas cosas que quizás desee considerar al pensar en la configuración de seguridad de su infraestructura de Exchange.

Esta no es de ninguna manera una lista completa.

1. Acceso completo y permisos de envío como

Una característica brillante de Exchange es la capacidad de otorgar a los usuarios acceso a los buzones de correo de otros. Puede hacer esto de dos maneras, ya sea usando el permiso "Acceso total", que efectivamente les otorga los mismos derechos que el propietario del buzón, o otorgando "Enviar como", que solo les otorga permisos para cambiar el " desde” campo a un usuario específico.

Para otorgar acceso completo, puede usar un comando de PowerShell como el siguiente:

Get-Mailbox “MailboxToView” | Add-ADPermission -User “PersonWhoNeedsPermission” -ExtendedRights “Full Access”

Tenga en cuenta que en Exchange 2013 y versiones posteriores, ningún miembro de los "Administradores de dominio" no puede ver los buzones de correo de otros usuarios.

Para saber quién tiene acceso al buzón, puede ejecutar el siguiente comando de PowerShell:

Get-Mailbox | Get-MailboxPermission | Where { $_.AccessRights -eq “FullAccess” -and $_.User.ToString() -ne “NT AUTHORITYSYSTEM” -and $_.User.ToString() -ne “NT AUTHORITYSELF”} | Select Identity, User | fl

Esto le dará una lista de buzones de correo con usuarios y grupos que pueden acceder a ellos.

Nota: ¡esto puede tardar un poco en ejecutarse en muchos buzones de correo!

2. Normas de transporte

Uno de los puntos de seguridad de Exchange que más comúnmente se pasa por alto es la regla del transporte humilde. Si tiene un administrador malicioso, potencialmente puede ver el correo electrónico de todos simplemente configurando una regla de transporte.

Conozco una organización en la que alguien había modificado la regla de transporte de firmas predeterminada para ocultarse en cada correo electrónico que salía de la empresa. Sólo por casualidad se dieron cuenta de esto cuando se le pidió a otro administrador de sistemas que modificara la firma.

Este tipo de comportamiento es bastante difícil de detectar, pero un simple comando de PowerShell habría revelado esto:

Get-TransportRule | Where {$_.BlindCopyTo -ne $null} | fl Name, BlindCopyTo

Otras acciones que potencialmente podrían usarse con fines maliciosos son las siguientes:

Get-TransportRule | Where {$_.ModerateMessageByUser -ne $null} | fl Name, ModerateMessageByUser

Este comando enumerará las reglas donde se necesita aprobación antes de entregar el mensaje.

Get-TransportRule | Where {$_.DeleteMessage -eq $true} | fl Name

Este comando enumerará cualquier regla que simplemente elimine el mensaje.

3. Intercambiar roles

Microsoft ha utilizado el modelo de control de acceso basado en roles (RBAC) desde Exchange 2010 y se volvió más prominente en Exchange 2013 y posteriores. En esencia, usted asigna permisos a usuarios y grupos para realizar acciones y tareas utilizando el método "quién, qué, dónde".

Como ejemplo, tomemos el gerente de una sucursal de la oficina de Londres de EjemploCo (quién). La gerencia quiere que el gerente de la sucursal pueda cambiar las respuestas de fuera de la oficina (qué) para su sucursal (dónde).

La seguridad de roles de Exchange nos permite hacer esto creando un grupo de roles personalizado:

New-RoleGroup -Name ExampleCo_London -Roles (See Later) -Members BranchMgr1

Esto creará un grupo de roles sin alcance aplicado, sin "dónde", es decir, BranchMgr1 podrá usar sus permisos en todos los objetos de Exchange que lo admitan.

Podemos limitar el alcance a una sola unidad organizativa omitiendo -Members y proporcionando -RecipientOrganizationalUnitScope en su lugar:

New-RoleGroup -Name ExampleCo_London -Roles (See Later) -RecipientOrganizationalUnitScope “LondonOU”

Para lograr nuestro objetivo de permitir que BranchMgr1 cambie las respuestas de fuera de la oficina, podemos asignarles la función integrada de "Mesa de ayuda":

New-RoleGroup -Name ExampleCo_London -Roles “Help Desk”

También puedes crear tus propios roles con un conjunto personalizado de permisos.

Recientemente tuvimos una situación en la que necesitábamos averiguar quién había cambiado una regla de transporte en uno de nuestros servidores Exchange; Afortunadamente, existe un comando sencillo de PowerShell para ver quién tiene permisos para cambiar un buzón o servidor:

Get-ManagementRoleAssignment -Role “Transport Rules” -WritableServer Exchange -GetEffectiveUsers

Al ejecutar esto en nuestro entorno, se obtuvo una lista de grupos que podrían realizar esta tarea:

4. Servidores perimetrales de Exchange

No puedo enfatizar lo suficiente lo importante que es tener un servidor Exchange Edge. Estos son servidores muy reducidos que sólo exponen el puerto 25 (SMTP) al mundo exterior. Esto reduce drásticamente su superficie de ataque y descarga el procesamiento antivirus y de spam a otro servidor (virtual).

Los servidores perimetrales no son miembros de su dominio de directorio activo, por lo que, siempre que no comparta contraseñas entre cuentas de administrador (no lo hará, ¿verdad?), entonces un atacante logrará tomar el control. de su servidor perimetral realmente no tiene mucho punto de apoyo.

La información requerida de Active Directory que se utiliza para el rechazo temprano de destinatarios, por ejemplo, se envía a través de un proceso de sincronización perimetral unidireccional.

5. Configuraciones híbridas

Terminaré llamando su atención sobre Office 365 y las configuraciones híbridas. Es posible aplicar la mayoría de las configuraciones locales a la parte híbrida o en la nube de su configuración de Exchange.

Puede utilizar el siguiente comando para establecer una conexión con los servidores de Exchange Online:

$creds = Get-Credential
 $eonlinesession = New-PSSession – ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $creds -Authentication Basic -AllowRedirection
 Import-PsSession $eonlinesession

Verifique que se haya conectado correctamente emitiendo algo como get-mailbox y vea si devuelve buzones que sabe que están fuera del sitio.

Una vez que hayas terminado, no olvides desconectarte; de lo contrario, puede tener problemas más adelante en los que utilice todas las sesiones de PowerShell disponibles para su usuario (luego tendrá que esperar a que expire el tiempo de espera, lo cual no es divertido).

Remove-PsSession $eonlinesession

Artículos relacionados