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)

Wednesday, August 27, 2014

Managing RBAC Roles with RBAC_Manager, with Five easy steps.

We will look into using RBAC Manager R2 rom (CodePlex) to manage our environment. There are several cmdlet’s also available.

Download RBAC manager From this link , unzip the files and execute RBAC_Manager.exe.

Note: RBAC_Manager.exe runs into memory space , it means you do not have to install it. If your environment is “secured” this could be pretty neat news. I still recommend making sure , you are clear with your work place existing policies etc..

image

Now provide required parameters and click ok to connect.

image

You will be seeing Management Roles , listed on the left pane

image

*PS equivalent for what you are seeing would be

#Get all management Role Entries

Get-ManagementRoleEntry "*\*"

After making making up your mind what Management Role you like to use as parent and create new one, simply “right click” and select “New Role From Here”

image

*PS equivalent

If you like to see what cmdlet;s assigned to specific Role entry

Get-ManagementRoleEntry "Active Directory permissions\*"

image

Create new Role from Parent

New-ManagementRole "ZTEK Active Directory Permissions" -Parent "Active Directory Permissions"

image

Note: As far as name convention goes for the Management Roles, make some plans and follow them. Having simple name convention for Management roles and Role Groups will provide more simpler management to your organization.

image

image

Select the Role and get rid of any cmdlet you do not want to associate with this Role, Click Save on the top menu to save the changes.

image

PS Version ( Remove All cmdlet,  but Like ( matches ) the filter )

Get-ManagementRoleEntry “ZTEK Active Directory permissions\*” | Where {$_.name -Like “Get-User”} |  Remove-ManagementRoleEntry -Confirm:$False

Now Click on “Show Role Groups”

image

image

Get-RoleGroup

image

Create Role Group

New-RoleGroup -Name "ZtekZone HelpDesk 1.0"

image

image

here you can select any of the existing roles , custom scope options, it is pretty simple and useful , once you are read click on ok.

image

In this example I will pick up the role we have created earlier

image

Adding member to Role Group

image

 

image

image

Get-RoleGroup | Select-Object name

image

Get-RoleGroup -Identity "ZtekZone Security Tier 2"

image

Get-RoleGroup -Identity "ZtekZone Security Tier 2" | Add-RoleGroupMember -Member c-Aki.Armstrong

to see the list of members

Get-RoleGroup -Identity "ZtekZone Security Tier 2" | Select-Object name,members | ft -AutoSize

image

you can un-check the box to take Ron out of RBAC Role Group. As you already know RBAC groups are kept in the AD root Forest, in the “ Microsoft Exchange Security Groups” Organization container.

image

image

image

As you can see it is fairly simple to manage the RBAC roles and it is related task with RBAC Manager

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)