Monday, September 29, 2014

Arbitration Mailbox Exchange 2010 and 2013

Exchange Server system mailbox is also called "Arbitration" mailbox. Exchange Server uses these mailboxes for various tasks. These mailboxes are being created when you setup first exchange server preparing Active Directory /PrepareAD in the root domain of the AD Forest.

if you would like to locate these mailboxes you would use get-mailbox –Arbitration cmdlet and if you are in the root and child domain environment, you have to adjust the PS search to look at the root of the forest  to locate these accounts.

 

Set-ADServerSettings -ViewEntireForest $true

Get-mailbox -Arbitration | fl name,Database,DisplayName,ServerName

 

  • Name : SystemMailbox{1f05a927-eac1-46e7-9a47-611e1a81bb50}
  • Name : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
  • Name : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
  • Name : Migration.8f3e7716-2011-43e4-96b1-aba62d229136

If you go to root of your active directory forest you will be able to locate the user accounts associating with these system mailboxes.

image 

By default they are located at the users container in the root of the AD Forest.

image

Arbitration system mailboxes keeps & stores organization wide data in them such as

  • eDiscovery Searches Metadata  ( if you are using  search-mailbox cmdlet with –targetmailbox switch and offloading searched enterprise data, before deleting the Arbitration system mailboxes could get potential big with the metadata collection as repository)
  • Administrator audit logs  ( Ability to run Search-AdminAuditLog cmdlet )
  • Unified Messaging data, such as menus, dial plans, and custom greetings

In most of the cases these account you wont pay huge attention , as they are not exposed to EMC and there is less chance them getting deleted. To be better prepared you can turn on “Protect object from accidental deletion”  on these accounts.

 

image

You can do same work from PS , the most common way is to ask for help if you do not remember the cmdlet

import-module ActiveDirectory

Get the help you need

Get-Help Get-ADUser -examples

Look for System Mailboxes

Get-ADUser -Filter 'Name -like "SystemMailbox*"' | FT Name

image

Enable all at once.

Get-ADUser -Filter 'Name -like "SystemMailbox*"' | Set-ADObject -ProtectedFromAccidentalDeletion:$true

 

image

Scenario –1

You have decided to move these mailboxes onto another database

Specify the target database with new-move Request

Get-Mailbox -Arbitration -Identity "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}" | New-MoveRequest -TargetDatabase DB200

Scenario – 2

You decided to delete the System mailbox while preserving AD Account so you can create new Arbitration System mailbox

List the Arbitration mailboxes

Get-mailbox -Arbitration | fl name

  • Name : SystemMailbox{1f05a927-eac1-46e7-9a47-611e1a81bb50}
  • Name : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
  • Name : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
  • Name : Migration.8f3e7716-2011-43e4-96b1-aba62d229136
Get-mailbox -Arbitration -Identity "SystemMailbox{1f05a927*" | Disable-Mailbox –Arbitration –Confirm:$False

AD account is still exist, we will create brand new arbitration mailbox for the same account.

Enable-mailbox -Arbitration -Identity "SystemMailbox{1f05a927*"

image

Scenario – 3

Arbitration mailboxes AD account has been deleted , simply re-run setup

If you have Exchange 2013 in the environment you need to run the setup from E2013 media.

Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareAD

image

Simple enough after setup is complete, they are back.

image

Respectfully,
Oz Casey, Dedeal ( MVP north America)
MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)

Tuesday, September 16, 2014

Configuring Internal Application Relay with Receive Connector Part#2

 

Open your newly created internal Receive connector my making right click on it and selecting properties

clip_image001

In order to allow Anonymous Authentication follow the steps in this order. On the Authentication Tab TLS is selected by default.

  • Click Permissions and select “Exchange Servers” and click apply

clip_image002

  • Now go back to Authentication and select “Externally Secured” this is where the magic starts

clip_image003

  • I will explain in details why we selected this option and what happened in the background.
  • Go back to Permissions Tab and select this time “Anonymous”

clip_image004

  • If you don’t follow the order you will receive error, some controls aren’t valid.

You must set the value for the PermissionGroups to ExchangeServers when you set the AutMechanism parameter to a value of ExternalAuthoritative.

clip_image005

  • You got this because you did not follow the order listed above.
  • If you enable “Eternally Secured” you will be forced to use limited offer TLS with this connector,
  • You can go back and mess with Permissions groups if you do have any requirements.

clip_image006

Step-1 ---------------> Permission Groups, Select Exchange Servers

Step-2 ---------------> Authentication Settings, Select Externally Secured

Step-3 ---------------> Permission Groups, Select Anonymous

Externally Secured meaning is, This Receive connector will lift off most of the restrictions, you are pretty much trusting the internal Servers, the relaying servers are “Trusted: therefore you will be adding the IP address of the relaying servers into here.

clip_image007

Here is list of permissions gets assigned to this connector

Accept-Authoritative-Domain

MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Authoritative-Domain}

Bypass-Anti-Spam

MS Exchange\Externally Secured Servers {ms-Exch-Bypass-Anti-Spam}

Bypass-Message-Size-Limit

MS Exchange\Externally Secured Servers {ms-Exch-Bypass-Message-Size-Limit}

SMTP-Accept

MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Exch50}

Accept-Headers-Routing

MS Exchange\Externally Secured Servers {ms-Exch-Accept-Headers-Routing}

SMTP-Submit

MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Submit}

Accept-Any-Recipient

MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Any-Recipient}

Accept-Authentication-Flag

MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Authentication-Flag}

Accept-Any-Sender}

MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Any-Sender}

See the  Receive connectors

Get-ReceiveConnectors

clip_image009

Add AD Permissions to this Receive Connector

$ReceiveConnector = "E1\Internal_Relay-1"

Get-ReceiveConnector "$ReceiveConnector" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

clip_image011

Now let’s see the properties of this connector

Get-ReceiveConnector -Identity "E1\Internal_Relay-1" | fl

clip_image012

Now if you have applications will relay off this connector and they are defined with short names, you will need to add your SMTP domain name in this filed, otherwise the short name completion may fail with 501 5.1.3 Invalid address Short Name Rcpt SMTP address etc.

Basically the application server is passing valid from SMTP Address format on the relay submission and on the CC or BB it is passing short names such as casey.Dedeal

From: ApplicationRelay@smtp25.org

To: Casey.Dedeal

Bcc: Jon.Doe

clip_image013

To overcome with this issue allow applications to continue to use short names on the CC or BCC field use

$ReceiveConnector = "E1\Internal_Relay-1"

Set-Receiveconnector "$ReceiveConnector" -defaultdomain ZtekZone.com

clip_image014

Now this connector will append default specified SMTP domain to short names when application is performing relay submission.

clip_image015

One less to worry , especially for applications who are written poorly. ( none full SMTP compliant)

If you like to see the AD Permissions on this connector

$ReceiveConnector = "E1\Internal_Relay-1"

Get-ReceiveConnector "$ReceiveConnector” | Get-ADPermission | where {$_.extendedrights –like “*Any-Recipient”}

image

Lastly , use network sniffer and SMTP loggings options  to further troubleshoot any SMTP submission failures on this connector.

Respectfully,
Oz Casey, Dedeal ( MVP north America)
MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)

SMTP Application Relay Receive Connector Exchange 2010 and 2013

 

Internal Application Relay Connector Part-1

If you get this far and reading this article, most likely you do need to build internal Application Relay Connector with Exchange 2010 or Exchange 2013. Part-1 I will list the requirement and sample deployment plan, which will assist you to pull swift, head ache worry implementation. Trust me on this planning correctly at the very beginning is the way of doing it right. Each time I roil into small, big projects this becomes reality.

Step#1 Identity the applications will use this connector and use sample table below

image

image

Planning

  1. Test new Receive Connector for application relay
  2. Verify application relay works after cut over
  3. If you do not have test environment the table below will help you to test in production
  4. Make certain you have fail back steps included into your cut over implementation plans
  • Let’s create the connector,
  1. Creating Internal Application Relay Receive Connector Part#1
  2. Log onto your management Server, or Exchange HTS (Hub Transport Server) with correct administrator privileges via RDP ( Remote Desktop Protocol)
  3. After successful logon, Click on All Programs, Microsoft Exchange Server 2010, Exchange Management Console, run EMC with administrator privileges by making right click on it, accept any UAC prompts by clicking yes.

clip_image001

  • Expand Microsoft Exchange on Premises
  • Go down to Server Configuration, Expand it click on Hub Transport Server

Now each Server will have Client and Default connectors, if you do not know what they do , you may want to do use your Bing-Fu skills to get to know them, in most cases you would leave these connectors alone and create receive connector with desired authentication methods and permissions which we are about to do.

clip_image002

  • Now in the middle pane make right click and select “New Receive Connector”

clip_image003

  • Give it a name and click next

clip_image004

  • If you have any special requirements you can change listening port , use server FQDN on the connector and click next, if not leave with defaults and click Next

clip_image005

  • Now click on red X and delete the subnet defined there

clip_image006

  • Add the IP address of the application server, (this could be HLB proxy IP address etc.), the IP address id being used to talk to this connector

clip_image007

  • Click new

clip_image008

  • Click Finish

clip_image009

  • You could practically skip all GUI and use the PS listed below to get the same work done, Change required filed if you wish to create same connector from PS.

New-ReceiveConnector -Name 'Internal_Relay-2' -Usage 'Custom' -Bindings '0.0.0.0:25' -Fqdn 'e1.ZtekZone.com' -RemoteIPRanges '10.10.10.172' -Server 'E1'

clip_image011

  • If you refresh GUI you will notice both connectors are there

clip_image012

We are done with part one, On part 2 we will configure the internal Application Relay Connector with correct settings, to allow internal applications to relay successfully stay tuned.

Respectfully,
Oz Casey, Dedeal ( MVP north America)
MCITP (EMA), MCITP (SA)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server +
http://smtp25.blogspot.com/ (Blog)
http://telnet25.wordpress.com/ (Blog)