Blog

Microsoft Exchange 2016/2019 Sunucusu Güvenliği Teknik Uygulama Kılavuzu

Bu Güvenlik Teknik Uygulama Kılavuzu, Savunma Bakanlığı (DOD) bilgi sistemlerinin güvenliğini artırmaya yönelik bir araç olarak yayınlanmıştır. Gereksinimler Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) 800-53 ve ilgili belgelerden alınmıştır.

      Başlık     Açıklama       İşlem      Kontrol
Exchange Send connectors delivery retries must be controlled.This setting controls the rate at which delivery attempts from the home domain are retried and user notifications are issued and notes the expiration time when the message will be discarded.

If delivery retry attempts are too frequent, servers will generate network congestion. If they are too far apart, messages may remain queued longer than necessary, potentially raising disk resource requirements.

The default values of these fields should be adequate for most environments. Administrators may wish to modify the values, but changes should be documented in the System Security Plan.

Note: Transport configuration settings apply to the organization/global level of the Exchange SMTP path. By checking and setting them at the Hub server, the setting will apply to both Hub and Edge roles.
Update the EDSP to reflect the value for Transient Failure Retry Count.

Open the Exchange Management Shell and enter the following command:

Set-TransportService -Identity <‘IdentityName’> -TransientFailureRetryCount 10

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP).

Determine the value for Transient Failure Retry Count.

Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, TransientFailureRetryCount

If the value of “TransientFailureRetryCount” is not set to “10” or less, this is a finding.

or

If the value of “TransientFailureRetryCount” is set to more than “10” or has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange Outbound Connection Limit per Domain Count must be controlled.Email system availability depends in part on best practice strategies for setting tuning configurations. This configuration controls the maximum number of simultaneous outbound connections from a domain and works in conjunction with the Maximum Outbound Connections Count setting as a delivery tuning mechanism. If the limit is too low, connections may be dropped. If the limit is too high, some domains may use a disproportionate resource share, denying access to other domains. Appropriate tuning reduces the risk of data delay or loss.

By default, a limit of 20 simultaneous outbound connections from a domain should be sufficient. The value may be adjusted if justified by local site conditions.
Update the EDSP to reflect the value for Maximum Domain Connections.

Open the Exchange Management Shell and enter the following command:

Set-TransportService -Identity <‘IdentityName’> -MaxPerDomainOutboundConnections 20

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP).

Determine the value for Maximum Domain Connections.

Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, MaxPerDomainOutboundConnections

If the value of “MaxPerDomainOutboundConnections” is not set to “20”, this is a finding.

or

If the value of “MaxPerDomainOutboundConnections” is set to a value other than “20” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange Outbound Connection Timeout must be 10 minutes or less.Email system availability depends in part on best practice strategies for setting tuning configurations. This configuration controls the number of idle minutes before the connection is dropped. It works in conjunction with the Maximum Outbound Connections Count setting.

Connections, once established, may incur delays in message transfer. The default of 10 minutes is a reasonable window in which to resume activities without maintaining idle connections for excessive intervals. If the timeout period is too long, idle connections may be maintained for unnecessarily long time periods, preventing new connections from being established. Sluggish connectivity increases the risk of lost data. A value of 10 or less is optimal.
Update the EDSP to reflect the Connection Timeout value.

Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -ConnectionInactivityTimeOut 00:10:00

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each send connector.
Review the Email Domain Security Plan (EDSP).

Determine the Connection Timeout value.

Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, ConnectionInactivityTimeOut

For each send connector, if the value of “ConnectionInactivityTimeOut” is not set to “00:10:00”, this is a finding.

or

If “ConnectionInactivityTimeOut” is set to other than “00:10:00” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange Queue monitoring must be configured with threshold and action.Monitors are automated “process watchers” that respond to performance changes and can be useful in detecting outages and alerting administrators where attention is needed. Exchange has built-in monitors that enable the administrator to generate alerts if thresholds are reached, better enabling them to react in a timely fashion.

This field offers choices of alerts when a “warning” or “critical” threshold is reached on the SMTP queue. A good rule of thumb (default) is to issue warnings when SMTP queue growth exceeds 10 minutes and critical messages when it exceeds 20 minutes, which should only exist occasionally. Frequent alerts against this counter may indicate a network or other issue (such as inbound SPAMMER traffic) that directly impacts email delivery.

Notification choices include email alert to an email-enabled account (e.g., an email Administrator) or invoke a script to take other action (e.g., to add an Event to the Microsoft Application Event Log, where external monitors might detect it).
Open the Exchange Management Shell and enter the following command:

perfmon

In the left pane, navigate to Performance >> Data Collector Sets >> User Defined.

In left pane, right-click on User Defined >> New >> Data Collector Set and configure the system to use the data collection set for monitoring the queues.
Note: If a third-party application is performing monitoring functions, the reviewer should verify the application is monitoring correctly and mark the vulnerability NA.

Open the Exchange Management Shell and enter the following command:

perfmon

In the left pane, navigate to Performance >> Data Collector Sets >> User Defined.

If no sets are defined or queues are not being monitored, this is a finding.
Exchange Receive connectors must control the number of recipients chunked on a single message.Email system availability depends in part on best practice strategies for setting tuning configurations. For message size restrictions, multiple places exist to set or override inbound or outbound message size. Failure to control the configuration strategy can result in loss of data or system availability.

This setting enables the administrator to enable “chunking” on received messages as they arrive at the domain. This is done so large message bodies can be relayed by the remote sender to the Receive connector in multiple, smaller chunks.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -ChunkingEnabled $true

Note: The <IdentityName> value must be in single quotes.

Repeat the procedure for each receive connector.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, ChunkingEnabled

For each receive connector, if the value of “ChunkingEnabled” is not set to “True”, this is a finding.
Exchange must provide redundancy.Denial of Service (DoS) is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity.

This requirement addresses the configuration of applications to mitigate the impact of DoS attacks that have occurred or are ongoing on application availability. For each application, known and potential DoS attacks must be identified and solutions for each type implemented. A variety of technologies exist to limit or, in some cases, eliminate the effects of DoS attacks (e.g., limiting processes or restricting the number of sessions the application opens at one time). Employing increased capacity and bandwidth, combined with service redundancy, may reduce the susceptibility to some DoS attacks.
Update the EDSP to reflect the Exchange servers used for redundancy.

Configure two or more Edge servers for load balancing.
Review the Email Domain Security Plan (EDSP).

Determine if the Exchange servers are using redundancy by entering the following command:

Get-TransportService | select FL

If the value returned is not at least two Edge servers, this is a finding.
The Exchange SMTP automated banner response must not reveal server details.Automated connection responses occur as a result of FTP or Telnet connections when connecting to those services. They report a successful connection by greeting the connecting client and stating the name, release level, and (often) additional information about the responding product. While useful to the connecting client, connection responses can also be used by a third party to determine operating system or product release levels on the target server. The result can include disclosure of configuration information to third parties, paving the way for possible future attacks. For example, when querying the SMTP service on port 25, the default response looks similar to this one:

220 exchange.mydomain.org Microsoft ESMTP MAIL Service, Version: 6.0.3790.211 ready at Wed, 2 Feb 2005 23:40:00 -0500

Changing the response to hide local configuration details reduces the attack profile of the target.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -Banner ‘220 SMTP Server Ready’

Note: The <IdentityName> and 220 SMTP Server Ready values must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, Banner

If the value of “Banner” is not set to “220 SMTP Server Ready”, this is a finding.
Exchange Receive connectors must control the number of recipients per message.Email system availability depends in part on best practice strategies for setting tuning configurations.

This configuration controls the maximum number of recipients who will receive a copy of a message at one time. This tunable value is related to throughput capacity and can enable the ability to optimize message delivery.

Note: There are two types of default Receive connecters:

“Client Servername” accepts SMTP connections from all non-MAPI clients, such as POP and IMAP. As POP and IMAP are not authorized for use in DoD, these should not be present. Their default value for MaxRecipientsPerMessage is 200. IMAP Secure is not restricted and may be configured.


“Default Servername” accepts connections from other mailbox servers and any Edge Transport servers. Their default value for MaxRecipientsPerMessage is 5000.
Update the EDSP to reflect the Maximum Recipients per Message value.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -MaxRecipientsPerMessage 5000

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each receive connector.
Review the Email Domain Security Plan (EDSP).

Determine the Maximum Recipients per Message value.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, MaxRecipientsPerMessage

For each receive connector, if the value of “MaxRecipientsPerMessage” is not set to “5000”, this is a finding.

or

If the value of “MaxRecipientsPerMessage” is set to a value other than “5000” and has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange software baseline copy must exist.Exchange software, as with other application software installed on a host system, must be included in a system baseline record and periodically reviewed; otherwise, unauthorized changes to the software may not be discovered. This effort is a vital step to securing the host and the applications, as it is the only method that may provide the ability to detect and recover from otherwise undetected changes, such as those that result from worm or bot intrusions.

The Exchange software and configuration baseline is created and maintained for comparison during scanning efforts. Operational procedures must include baseline updates as part of configuration management tasks that change the software and configuration.
Implement an email software baseline process and update the EDSP.Review the Email Domain Security Plan (EDSP).

Determine the baseline documentation.

Review the application software baseline procedures and implementation artifacts.

Note the list of files and directories included in the baseline procedure for completeness.

If an email software copy exists to serve as a baseline and is available for comparison during scanning efforts, this is not a finding.
The Exchange application directory must be protected from unauthorized access.Default product installations may provide more generous access permissions than are necessary to run the application. By examining and tailoring access permissions to more closely provide the least amount of privilege possible, attack vectors that align with user permissions are less likely to access more highly secured areas.Update the EDSP to reflect the authorized groups and users that have access to the Exchange application directories.

Navigate to the Exchange application directory and remove or modify the group or user access permissions.

Note: The default installation directory is \Program Files\Microsoft\Exchange Server\V15.
Review the Email Domain Security Plan (EDSP).

Determine the authorized groups and users that have access to the Exchange application directories.

Determine if the access permissions on the directory match the access permissions listed in the EDSP.

If any group or user has different access permissions than listed in the EDSP, this is a finding.

Note: The default installation directory is \Program Files\Microsoft\Exchange Server\V15.
Exchange software must be installed on a separate partition from the OS.In the same way that added security layers can provide a cumulative positive effect on security posture, multiple applications can provide a cumulative negative effect. A vulnerability and subsequent exploit to one application can lead to an exploit of other applications sharing the same security context. For example, an exploit to a web server process that leads to unauthorized administrative access to the host system can most likely lead to a compromise of all applications hosted by the same system.

Email services should be installed on a partition that does not host other applications. Email services should never be installed on a Domain Controller/Directory Services server.
Update the EDSP to reflect the directory where Exchange is installed.

Install Exchange on a dedicated application directory or partition separate than that of the OS.
Review the Email Domain Security Plan (EDSP).

Determine the directory where Exchange is installed.

Open Windows Explorer.

Navigate to the location where Exchange is installed.

If Exchange resides on a directory or partition other than that of the OS and does not have other applications installed (without associated approval from the ISSO), this is not a finding.
Exchange services must be documented and unnecessary services must be removed or disabled.Unneeded but running services offer attackers an enhanced attack profile, and attackers are constantly watching to discover open ports with running services. By analyzing and disabling unneeded services, the associated open ports become unresponsive to outside queries, and servers become more secure as a result.

Exchange Server has role-based server deployment to enable protocol path control and logical separation of network traffic types.

For example, a server implemented in the Client Access role (i.e., Outlook Web App [OWA]) is configured and tuned as a web server using web protocols. A client access server exposes only web protocols (HTTP/HTTPS), enabling system administrators to optimize the protocol path and disable all services unnecessary for Exchange web services.

Similarly, servers created to host mailboxes are dedicated to that task and must operate only the services needed for mailbox hosting. (Exchange servers must also operate some web services, but only to the degree that Exchange requires the IIS engine in order to function).

Because POP3 and IMAP4 clients are not included in the standard desktop offering, they must be disabled.
Update the EDSP with the services required for the system to function.

Navigate to Administrator Tools >> Services and disable or remove any services that are not required.
Review the Email Domain Security Plan (EDSP).

Note: Required services will vary between organizations and will vary depending on the role of the individual system. Organizations will develop their own list of services, which will be documented and justified with the ISSO. The site’s list will be provided for any security review. Services that are common to multiple systems can be addressed in one document. Exceptions for individual systems should be identified separately by system.

Open a Windows PowerShell and enter the following command:

Get-Service | Where-Object {$_.status -eq ‘running’}

Note: The command returns a list of installed services and the status of that service.

If the services required are not documented in the EDSP or undocumented or unnecessary services are running, this is a finding.
Exchange must have antispam filtering configured.Originators of spam messages are constantly changing their techniques in order to defeat spam countermeasures; therefore, spam software must be constantly updated to address the changing threat. A manual update procedure is labor intensive and does not scale well in an enterprise environment. This risk may be mitigated by using an automatic update capability. Spam protection mechanisms include, for example, signature definitions, rule sets, and algorithms.

Exchange 2016 provides both antispam and antimalware protection out of the box. The Exchange 2016 antispam and antimalware product capabilities are limited but still provide some protection.
Following vendor best practice guidance, install and configure a DoD approved scanner.Site should utilize an approved DoD scanner as Exchange Malware software has a limited scanning capability.

If an approved DoD scanner is not being used, this is a finding.
Exchange must have antispam filtering enabled.Originators of spam messages are constantly changing their techniques in order to defeat spam countermeasures; therefore, spam software must be constantly updated to address the changing threat. Spam protection mechanisms include, for example, signature definitions, rule sets, and algorithms.

Exchange 2016 provides both antispam and antimalware protection out of the box. The Exchange 2016 antispam and antimalware product capabilities are limited but still provide some protection.
Open the Exchange Management Shell and enter the following command for any values that were not set to True:

Set-ContentFilterConfig -Enabled $true

Set-SenderFilterConfig -Enabled $true

Set-SenderIDConfig -Enabled $true

Set-SenderReputationConfig -Enabled $true
Review the Email Domain Security Plan (EDSP) for an installed antispam product.

Note: If using another DoD-approved antispam product for email or a DoD-approved Email Gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable.

Open the Exchange Management Shell and enter the following command:

Get-ContentFilterConfig | Format-Table Name, Enabled; Get-SenderFilterConfig | Format-Table Name, Enabled; Get-SenderIDConfig | Format-Table Name, Enabled; Get-SenderReputationConfig | Format-Table Name, Enabled

If any of the following values returned are not set to “True”, this is a finding:

Set-ContentFilterConfig
Set-SenderFilterConfig
Set-SenderIDConfig
Set-SenderReputationConfig
Exchange must render hyperlinks from email sources from non-.mil domains as unclickable.Active hyperlinks within an email are susceptible to attacks of malicious software or malware. The hyperlink could lead to a malware infection or redirect the website to another fraudulent website without the user’s consent or knowledge.

Exchange does not have a built-in message filtering capability. DoD Enterprise Email (DEE) has created a custom resolution to filter messages from non-.mil users that have hyperlinks in the message body. The hyperlink within the messages will be modified, preventing end users from automatically clicking links.
Update the EDSP to reflect the name of the Transport Agent.

Contact the DISA Enterprise Email Service Desk at disa.tinker.eis.mbx.dod-enterprise-services-service-desk@mail.mil and request the Agent and installation procedures.

or

Contact DEE Engineering PMO and request the Agent and installation procedures.
Note: If using a DoD-approved protection mechanism such as Cloud Based Internet Isolation (CBII), Bromium, Email Gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), or other approved email sanitization solution that protects against untrusted URLs embedded in email, this is not applicable.

Note: If system is on SIPRNet, this is not applicable.

Review the Email Domain Security Plan (EDSP).

Determine the name of the Transport Agent.

Open the Windows PowerShell console and enter the following command:

Get-TransportAgent -Name ‘customAgent’ | FL

If the value does not return “customAgent”, this is a finding.

Note: “customAgent” is the name of the custom agent developed to render hyperlink email sources from non .mil domains as unclickable.
Exchange Sender Identification Framework must be enabled.Email is only as secure as the recipient. When the recipient is an email server accepting inbound messages, authenticating the sender enables the receiver to better assess message quality and to validate the sending domain as authentic. One or more authentication techniques used in combination can be effective in reducing spam, phishing, and forger attacks.

The Sender ID Framework (SIDF) receiver accesses specially formatted DNS records (SPF format) that contain the IP address of authorized sending servers for the sending domain that can be compared to data in the email message header. Receivers are able to validate the authenticity of the sending domain, helping to avoid receiving inbound messages from phishing or other spam domains.
Open the Exchange Management Shell and enter the following command:

Set-SenderIdConfig -Enable $true
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Open the Exchange Management Shell and enter the following command:

Get-SenderIdConfig | Select Name, Identity, Enabled

If the value of “Enabled” is not set to “True”, this is a finding.
Exchange Audit data must be protected against unauthorized access (read access).Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection. Audit data available for modification by a malicious user can be altered to conceal malicious activity. Audit data might also provide a means for the malicious user to plan unauthorized activities that exploit weaknesses.

The contents of audit logs are protected against unauthorized access, modification, or deletion. Only authorized auditors and the audit functions should be granted read and write access to audit log data.
Update the EDSP to reflect the authorized groups or users that should have read access to the audit data.

Restrict any unauthorized groups’ or users’ read access to the audit logs.
Review the Email Domain Security Plan (EDSP).

Determine the authorized groups or users that should have read access to the audit data.

If any group or user has read access to the audit data that is not documented in the EDSP, this is a finding.
Exchange must not send Customer Experience reports to Microsoft.It is detrimental for applications to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.

Applications are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions).

Examples of non-essential capabilities include, but are not limited to, advertising software or browser plug-ins not related to requirements or providing a wide array of functionality not required for every mission, but cannot be disabled.

All system errors in Exchange will result in outbound traffic that may be identified by an eavesdropper. For this reason, the “Report Fatal Errors to Microsoft” feature must be disabled.
Open the Exchange Management Shell and enter the following command:

Set-OrganizationConfig -CustomerFeedbackEnabled $false
Open the Exchange Management Shell and enter the following command:

Get-OrganizationConfig | Select Name, Identity, CustomerFeedbackEnabled

If the value for “CustomerFeedbackEnabled” is not set to “False”, this is a finding.
Exchange audit data must be protected against unauthorized access for modification.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection. Audit data available for modification by a malicious user can be altered to conceal malicious activity. Audit data might also provide a means for the malicious user to plan unauthorized activities that exploit weaknesses.

The contents of audit logs are protected against unauthorized access, modification, or deletion. Only authorized auditors and the audit functions should be granted read and write access to audit log data.
Update the EDSP to reflect the authorized groups or users that should have modify permissions to the audit data.

Restrict any unauthorized groups’ or users’ modify permissions for the audit logs.
Review the Email Domain Security Plan (EDSP).

Determine the authorized groups or users that should have modify permissions to the audit data.

If any group or user has modify permissions for the audit data that is not documented in the EDSP, this is a finding.
The Exchange Sender Reputation filter must identify the spam block level.By performing filtering at the perimeter, up to 90 percent of spam, malware, and other undesirable messages are eliminated from the message stream rather than admitting them into the mail server environment. Sender Reputation is antispam functionality that blocks messages according to many characteristics of the sender. Sender Reputation relies on persisted data about the sender to determine what action, if any, to take on an inbound message. This setting enables the threshold at which an email will be considered spam.Update the EDSP to reflect the SrlBlockThreshold size.

Open the Exchange Management Shell and enter the following command:

Set-SenderReputationConfig -SrlBlockThreshold 6

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Review the Email Domain Security Plan (EDSP).

Determine the SrlBlockThreshold value.

Open the Exchange Management Shell and enter the following command:

Get-SenderReputationConfig | Select Name, SrlBlockThreshold

If the value of SrlBlockThreshold is not set to “6”, this is a finding.

or

If the value of “SrlBlockThreshold” is set to a value other than “6” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange audit data must be on separate partitions.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection.

Successful exploit of an application server vulnerability may well be logged by monitoring or audit processes when it occurs. Writing log and audit data to a separate partition where separate security contexts protect them may offer the ability to protect this information from being modified or removed by the exploit mechanism.
Update the EDSP.

Configure the audit log location to be on a partition drive separate from the application.
Review the Email Domain Security Plan (EDSP).

Determine the audit logs’ assigned partition.

Note: By default, the logs are located on the application partition in \Program Files\Microsoft\Exchange Server\V15\Logging\.

If the log files are not on a separate partition from the application, this is a finding.
Exchange audit data must be protected against unauthorized access for deletion.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection. Audit data available for modification by a malicious user can be altered to conceal malicious activity. Audit data might also provide a means for the malicious user to plan unauthorized activities that exploit weaknesses.

The contents of audit logs are protected against unauthorized access, modification, or deletion. Only authorized auditors and the audit functions should be granted read and write access to audit log data.
Update the EDSP to reflect the authorized groups or users that should have delete permissions for the audit data.

Restrict any unauthorized groups’ or users’ delete permissions for the audit logs.
Review the Email Domain Security Plan (EDSP).

Determine the authorized groups or users that should have delete permissions for the audit data.

If any group or user has delete permissions for the audit data that is not documented in the EDSP, this is a finding.
Exchange Internet-facing Send connectors must specify a Smart Host.When identifying a “Smart Host” for the email environment, a logical Send connector is the preferred method.

A Smart Host acts as an Internet-facing concentrator for other email servers. Appropriate hardening can be applied to the Smart Host, rather than at multiple locations throughout the enterprise.

Failure to identify a Smart Host could default to each email server performing its own lookups (potentially through protective firewalls). Exchange servers should not be Internet facing and should therefore not perform any Smart Host functions. When the Exchange servers are Internet facing, they must be configured to identify the Internet-facing server that is performing the Smart Host function.
Open the Exchange Management Shell and enter the following command:

Set-SendConnector <‘IdentityName’> -SmartHosts <‘IP Address of Smart Host’> -DNSRoutingEnabled $false

Note: The <IdentityName> value must be in single quotes.

Repeat the procedures for each send connector.
Review the Email Domain Security Plan (EDSP).

Determine the Internet-facing connectors.

Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, SmartHosts, DNSRoutingEnabled

For each send connector, if the value of “SmartHosts” does not return the Smart Host IP Address and the value for “DNSRoutingEnabled” is not set to “False”, this is a finding.
The Exchange local machine policy must require signed scripts.Scripts, especially those downloaded from untrusted locations, often provide a way for attackers to infiltrate a system. By setting machine policy to prevent unauthorized script executions, unanticipated system impacts can be avoided.Open the Exchange Management Shell and enter the following command:

Set-ExecutionPolicy RemoteSigned
Open the Exchange Management Shell and enter the following command:

Get-ExecutionPolicy

If the value returned is not “RemoteSigned”, this is a finding.
Exchange messages with a blank sender field must be filtered.By performing filtering at the perimeter, up to 90 percent of spam, malware, and other undesirable messages are eliminated from the message stream rather than admitting them into the mail server environment. Anonymous email (messages with blank sender fields) cannot be replied to. Messages formatted in this way may be attempting to hide their true origin to avoid responses or to spam any receiver with impunity while hiding their source of origination.

Rather than spend resources and risk infection while evaluating them, it is recommended that these messages be filtered immediately upon receipt and not forwarded to end users.
Open the Exchange Management Shell and enter the following command:

Set-SenderFilterConfig -BlankSenderBlockingEnabled $true
This requirement is N/A for SIPR enclaves.

This requirement is N/A if the organization subscribes to EEMSG or other similar DoD enterprise protections for email services.

Open the Exchange Management Shell and enter the following command:

Get-SenderFilterConfig | Select Name, BlankSenderBlockingEnabled

If the value of “BlankSenderBlockingEnabled” is not set to “True”, this is a finding.
Exchange Send Fatal Errors to Microsoft must be disabled.It is detrimental for applications to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.

Applications are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions).

Examples of non-essential capabilities include, but are not limited to, advertising software or browser plug-ins not related to requirements or providing a wide array of functionality not required for every mission, but cannot be disabled.

Customer Experience reports in Exchange will result in outbound traffic that may be identified by an eavesdropper. For this reason, the Customer Experience reports to Microsoft must not be sent.
Open the Exchange Management Shell and enter the following command:

Set-ExchangeServer -Identity <‘IdentityName’> -ErrorReportingEnabled $false

Note: The <IdentityName> value must be in single quotes.

Repeat the procedure for each Identity.
Open the Exchange Management Shell and enter the following command:

Get-ExchangeServer –status | Select Name, Identity, ErrorReportingEnabled

For each exchange server, if the value of “ErrorReportingEnabled” is not set to “False”, this is a finding.
Exchange Message size restrictions must be controlled on Receive connectors.Email system availability depends in part on best practices strategies for setting tuning configurations. For message size restrictions, multiple places exist to set or override inbound or outbound message size. Failure to control the configuration strategy can result in loss of data or system availability.

This setting enables the administrator to control the maximum message size on Receive connectors. Using connectors to control size limits may necessitate applying message size limitations in multiple places, with the potential of introducing conflicts and impediments in the mail flow. Changing this setting at the connector overrides the global one. Therefore, if operational needs require it, the connector value may be set lower than the global value with the rationale documented in the EDSP.
Update the EDSP to reflect the global maximum message receive size.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -MaxMessageSize <‘MaxReceiveSize’>

Note: The <IdentityName> and <MaxReceiveSize> values must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP).

Determine the global maximum message receive size.

Open the Exchange Management Shell and enter the following command:

Identify Internet-facing connectors.

Get-ReceiveConnector | Select Name, Identity, MaxMessageSize

If the value of “MaxMessageSize” is not the same as the global value, this is a finding.

or

If “MaxMessageSize” is set to a numeric value different from the global value and has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange Internet Receive connector connections count must be set to default.Email system availability depends in part on best practice strategies for setting tuning configurations. This configuration controls the maximum number of simultaneous inbound connections allowed to the SMTP server.

By default, the number of simultaneous inbound connections is 5000. If a limit is set too low, the connections pool may be filled. If attackers perceive the limit is too low, they could deny service to the Simple Mail Transfer Protocol (SMTP) server by using a connection count that exceeds the limit set. By setting the default configuration to 5000, attackers would need many more connections to cause denial of service.
Update the EDSP to reflect the Maximum Inbound connections value.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -MaxInboundConnection 5000

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each receive connector.
Review the Email Domain Security Plan (EDSP).

Determine the Maximum Inbound connections value.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, MaxInboundConnection

Identify Internet-facing connectors.

For each receive connector, if the value of “MaxInboundConnection” is not set to “5000”, this is a finding.

or

If “MaxInboundConnection” is set to a value other than “5000” or is set to unlimited and has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange Sender Reputation filter must be enabled.By performing filtering at the perimeter, up to 90 percent of spam, malware, and other undesirable messages are eliminated from the message stream rather than admitting them into the mail server environment. Sender Reputation is antispam functionality that blocks messages according to many characteristics of the sender. Sender Reputation relies on persisted data about the sender to determine what action, if any, to take on an inbound message. This setting enables the Sender Reputation function.Open the Exchange Management Shell and enter the following command:

Set-SenderReputationConfig -Enabled $true
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Open the Exchange Management Shell and enter the following command:

Get-SenderReputationConfig | Select Name, Enabled

If the value of “Enabled” is not set to “True”, this is a finding.
Exchange nonexistent recipients must not be blocked.Spam originators, in an effort to refine mailing lists, sometimes use a technique where they first create fictitious names and then monitor rejected emails for non-existent recipients. Those not rejected are deemed to exist and are used in future spam mailings.

To prevent this disclosure of existing email accounts to spammers, email to nonexistent recipients must not be blocked. Instead, it is recommended that all messages be received, then evaluated and disposed of without enabling the sender to determine existent vs. nonexistent recipients.
Open the Exchange Management Shell and enter the following command:

Set-RecipientFilterConfig -RecipientValidationEnabled $false
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Open the Exchange Management Shell and enter the following command:

Get-RecipientFilterConfig | Select Name, RecipientValidationEnabled

If the value of “RecipientValidationEnabled” is not set to “False”, this is a finding.
The Exchange Sender filter must block unaccepted domains.Spam origination sites and other sources of suspected email-borne malware have the ability to corrupt, compromise, or otherwise limit availability of email servers. Limiting exposure to unfiltered inbound messages can reduce the risk of spam and malware impacts.

The Global Deny list blocks messages originating from specific sources. Most blacklist filtering is done using a commercial Block List service, because eliminating threats from known spammers prevents the messages being evaluated inside the enclave where there is more risk they can do harm.

Additional sources should also be blocked to supplement the contents of the commercial Block List service. For example, during a zero-day threat action, entries can be added and then removed when the threat is mitigated. An additional best practice is to enter the enterprise’s home domains in the Deny List, because inbound email with a “from” address of the home domain is very likely to be spoofed spam.
Update the EDSP to reflect the unaccepted domains that are to be blocked.

Open the Exchange Management Shell and enter the following command:

For BlockedDomains:

Set-SenderFilterConfig -BlockedDomains <BlockedDomain>

Repeat the procedure for each domain that is to be blocked.

or

For BlockedDomainsAndSubdomains:

Set-SenderFilterConfig -BlockedDomainsAndSubdomains <BlockedDomainAndSubdomain>

Repeat the procedure for each domain and all of its subdomains that are to be blocked.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Review the Email Domain Security Plan (EDSP).

Determine the unaccepted domains that are to be blocked.

Open the Exchange Management Shell and enter the following command:

Get-SenderFilterConfig | Select Name, BlockedDomains, BlockedDomainsAndSubdomains

If the value for “BlockedDomains” or “BlockedDomainsAndSubdomains” does not reflect the list of unaccepted domains, this is a finding.
Exchange filtered messages must be archived.By performing filtering at the perimeter, up to 90 percent of spam, malware, and other undesirable messages are eliminated from the message stream rather than admitting them into the mail server environment. This significantly reduces the attack vector for inbound email-borne spam and malware.

As messages are filtered, it is prudent to temporarily host them in an archive for evaluation by administrators or users. The archive can be used to recover messages that might have been inappropriately filtered, preventing data loss, and to provide a base of analysis that can provide future filter refinements.
Open the Exchange Management Shell and enter the following command:

Set-ContentFilterConfig -QuarantineMailbox <‘QuarantineMailbox SmtpAddress’>

Note: The <QuarantineMailbox SmtpAddress> value must be in single quotes.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Open the Exchange Management Shell and enter the following command:

Get-ContentFilterConfig | Select Name, QuarantineMailbox

If no SMTP address is assigned to “QuarantineMailbox”, this is a finding.
Exchange Connectivity logging must be enabled.A connectivity log is a record of the SMTP connection activity of the outbound message delivery queues to the destination mailbox server, smart host, or domain. Connectivity logging is available on Hub Transport servers and Edge Transport servers. By default, connectivity logging is disabled. If events are not recorded, it may be difficult or impossible to determine the root cause of system problems or the unauthorized activities of malicious users.

Note: Transport configuration settings apply to the organization/global level of the Exchange SMTP path. By checking and setting them at the Hub server, the setting will apply to both Hub and Edge roles.
Open the Exchange Management Shell and enter the following command:

Set-TransportService -Identity <‘IdentityName’> -ConnectivityLogEnabled $true

Note: The <IdentityName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, ConnectivityLogEnabled

If the value of “ConnectivityLogEnabled” is not set to “True”, this is a finding.
Exchange messages with a blank sender field must be rejected.By performing filtering at the perimeter, up to 90 percent of spam, malware, and other undesirable messages are eliminated from the message stream rather than admitting them into the mail server environment. Anonymous email (messages with blank sender fields) cannot be replied to. Messages formatted in this way may be attempting to hide their true origin to avoid responses or to spam any receiver with impunity while hiding their source of origination.

Rather than spend resources and risk infection while evaluating them, it is recommended that these messages be filtered immediately upon receipt and not forwarded to end users.
Open the Exchange Management Shell and enter the following command:

Set-SenderFilterConfig -Action Reject
This requirement is N/A for SIPR enclaves.

This requirement is N/A if the organization subscribes to EEMSG or other similar DoD enterprise protections for email services.

Open the Exchange Management Shell and enter the following command:

Get-SenderFilterConfig | Select Name, Action

If the value of “Action” is not set to “Reject”, this is a finding.
Exchange must have the most current, approved service pack installed.The organization (including any contractor to the organization) must promptly install security-relevant software updates (e.g., patches, service packs, hot fixes). Flaws discovered during security assessments, continuous monitoring, incident response activities, or information system error handling must also be addressed.Install the most current, approved service pack.Open the Exchange Management Shell and enter the following command:

Get-ExchangeServer | fl name, AdminDisplayVersion

If the value of “AdminDisplayVersion” does not return the most current, approved service pack, this is a finding.
Exchange Send connectors must be clearly named.For Send connectors, unclear naming as to direction and purpose increases risk that messages may not flow as intended, troubleshooting efforts may be impaired, or incorrect assumptions may be made about the completeness of the configuration.

Collectively, connectors should account for all connections required for the overall email topology design. Simple Mail Transfer Protocol (SMTP) connectors, when listed, must name purpose and direction clearly, and their counterparts on servers to which they connect should be recognizable as their partners.
Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Name <‘NewName’> -Identity <‘IdentityName’>

Note: Both the <NewName> and <IdentityName> values must be in single quotes.

Repeat the procedure for each send connector.
Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity

Review the naming for connectors.

For each send connector, if the connectors are not clearly named for purpose and direction, this is a finding.
Exchange must limit the Receive connector timeout.Email system availability depends in part on best practices strategies for setting tuning. This configuration controls the number of idle minutes before the connection is dropped. It works in conjunction with the Maximum Inbound Connections Count setting.

Connections, once established, may incur delays in message transfer. If the timeout period is too long, there is risk that connections may be maintained for unnecessarily long time periods, preventing new connections from being established.
Update the EDSP, or the applicable documentation.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -ConnectionTimeout 00:05:00

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedures for each Receive connector.
Review the Email Domain Security Plan (EDSP), or Organizations applicable documentation.

Determine the connection Timeout value.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, ConnectionTimeout

For each Receive connector, if the value of “ConnectionTimeout” is not set to “00:05:00”, this is a finding.

or

If “ConnectionTimeout” is set to another value other than “00:05:00” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange message size restrictions must be controlled on Send connectors.Email system availability depends in part on best practice strategies for setting tuning configurations. For message size restrictions, multiple places exist to set or override inbound or outbound message size. Failure to control the configuration strategy can result in loss of data or system availability.

This setting enables the administrator to control the maximum message size on a Send connector. Using connectors to control size limits may necessitate applying message size limitations in multiple places, with the potential of introducing conflicts and impediments in the mail flow. Changing this setting at the connector overrides the global one. Therefore, if operational needs require it, the connector value may be set lower than the global value with the rationale documented in the EDSP.
Update the EDSP to reflect the maximum message send size.

Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -MaxMessageSize <MaxSendSize>

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each send connector.
Review the Email Domain Security Plan (EDSP).

Determine the maximum message send size.

Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, MaxMessageSize

For each send connector, if the value of “MaxMessageSize” is not the same as the global value, this is a finding.

or

If “MaxMessageSize” is set to a numeric value different from the maximum message send size value documented in the EDSP, this is a finding.
Exchange Internet-facing Receive connectors must offer Transport Layer Security (TLS) before using basic authentication.Sending unencrypted email over the Internet increases the risk that messages can be intercepted or altered. TLS is designed to protect confidentiality and data integrity by encrypting email messages between servers and thereby reducing the risk of eavesdropping, interception, and alteration. This setting forces Exchange to offer TLS before using basic authentication.Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -AuthMechanism ‘Tls, BasicAuth, BasicAuthRequireTLS’

Note: The <IdentityName> value must be in single quotes.

Example only for the Identity: <ServerName>\Frontend <ServerName>

Repeat the procedure for each receive connector.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, AuthMechanism

For each receive connector, if the value of “AuthMechanism” is not set to “Tls, BasicAuth, BasicAuthRequireTLS”, this is a finding.
Exchange servers must use approved DoD certificates.To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., networks, web servers, and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement.

Access control policies include identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.

This requirement is applicable to access control enforcement applications (e.g., authentication servers) and other applications that perform information and system access control functions.
Remove the non-DoD certificate and import the correct DoD certificates.Open the Exchange Management Shell and enter the following command:

Get-ExchangeCertificate | Select CertificateDomains, issuer

If the value of “CertificateDomains” does not indicate it is issued by the DoD, this is a finding.
The applications built-in Malware Agent must be disabled.Malicious code protection mechanisms include, but are not limited, to, anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated.

Malicious code includes viruses, worms, trojan horses, and spyware. It is not enough to simply have the software installed; this software must periodically scan the system to search for malware on an organization-defined frequency.

Exchange’s built-in Malware Agent is not designed to address all malicious code protection workloads. This workload is best handled by third-party anti-virus and intrusion prevention software.

Site must utilize an approved DoD scanner. Exchange Malware software has a limited scanning capability and does not scan files that are downloaded, opened, or executed.
Open the Exchange Management Shell and enter the following command:

& env:ExchangeInstallPath\Scripts\Disable-Antimalwarescanning.ps1
Open the Exchange Management Shell and enter the following command:

Get-TransportAgent “Malware Agent”

If the value of “Enabled” is set to “True”, this is a finding.
Exchange internal Send connectors must use domain security (mutual authentication Transport Layer Security).The Simple Mail Transfer Protocol (SMTP) connector is used by Exchange to send and receive messages from server to server. Several controls work together to provide security between internal servers. This setting controls the authentication method used for communications between servers. With this feature enabled, only servers capable of supporting domain authentication will be able to send and receive mail within the domain.

The use of secure communication prevents eavesdroppers from reading or modifying communications between mail clients and servers. While sensitive message bodies should be encrypted by the sender at the client, requiring a secure connection from server to server adds protection by encrypting the sender and recipient information that cannot be encrypted by the sender.

Individually, channel security and encryption can be compromised by attackers. Used together, email becomes a more difficult target, and security is heightened. Failure to enable this feature gives eavesdroppers an opportunity to read or modify messages between servers.
Open the Exchange Management Shell and enter the following command:

Set-SendConnector <‘IdentityName’> -DomainSecureEnabled $true

Note: The <IdentityName> value must be in single quotes.

Repeat the procedures for each send connector.

The following commands can be executed if smarthosts are used:

Set-SendConnector <‘IdentityName’> -RequireTLS $true -DNSRoutingEnabled $False -TlsAuthLevel $DomainValidation
Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, DomainSecureEnabled, DNSRoutingEnabled, RequireTLS, TlsAuthLevel

For each send connector:

If the send connector does not use a smarthost and the value of “DomainSecureEnabled” is not set to “True”, this is a finding.

If the send connector does use a smarthost, “DomainSecureEnabled” will be set to “False”.

If the send connector does use a smarthost “DNSRoutingEnabled”, “RequireTLS”, and “TlsAuthLevel” must be set.

If the send connector using a smart host has a value for “DNSRoutingEnabled” that is not set to “False”, this is a finding.

If the send connector using a smarthost has a value for “RequireTLS” that is not set to “True”, this is a finding.

If the send connector using a smarthost has a value for “TlsAuthLevel” that is not set to “DomainValidation”, this is a finding.
Exchange Send connector connections count must be limited.This setting controls the maximum number of simultaneous outbound connections allowed for a given SMTP Connector and can be used to throttle the SMTP service if resource constraints warrant it. If the limit is too low, connections may be dropped. If the limit is too high, some domains may use a disproportionate resource share, denying access to other domains. Appropriate tuning reduces the risk of data delay or loss.Update the EDSP to reflect the value for SMTP Server Maximum Outbound Connections.

Open the Exchange Management Shell and enter the following command:

Set-TransportService -Identity <‘IdentityName’> -MaxOutboundConnections 1000

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP).

Determine the value for SMTP Server Maximum Outbound Connections.

Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, MaxOutboundConnections

If the value of “MaxOutboundConnections” is not set to “1000”, this is a finding.

or

If the value of “MaxOutboundConnections” is set to a value other than “1000” and has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange Simple Mail Transfer Protocol (SMTP) Sender filter must be enabled.Email system availability depends in part on best practices strategies for setting tuning configurations. Careful tuning reduces the risk that system or network congestion will contribute to availability impacts.

Filters that govern inbound email evaluation can significantly reduce spam, phishing, and spoofed emails. Filters for messages from blank senders, known spammers, or zero-day attack modifications must be enabled to be effective.

Failure to enable the filter will result in no action taken. This setting should always be enabled.
Open the Exchange Management Shell and enter the following command:

Set-SenderFilterConfig -Enabled $true
This requirement is N/A for SIPR enclaves.

This requirement is N/A if the organization subscribes to EEMSG or other similar DoD enterprise protections for email services.

Open the Exchange Management Shell and enter the following command:

Get-SenderFilterConfig | Select Name, Enabled

If the value of “Enabled” is not set to “True”, this is a finding.
Exchange must have antispam filtering installed.Originators of spam messages are constantly changing their techniques in order to defeat spam countermeasures; therefore, spam software must be constantly updated to address the changing threat. Spam protection mechanisms include, for example, signature definitions, rule sets, and algorithms.

Exchange 2016 provides both antispam and antimalware protection out of the box. The Exchange 2016 antispam and antimalware product capabilities are limited but still provide some protection.
Install the AntiSpam module.

Open the Exchange Management Shell and enter the following command:

& $env:ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1
Review the Email Domain Security Plan (EDSP) for an installed antispam product.

Note: If using another DoD-approved antispam product for email or a DoD-approved Email Gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable.

Open the Exchange Management Shell and enter the following command:

Get-ContentFilterConfig | Format-Table Name, Enabled

If no value is returned, this is a finding.
Exchange messages with a malformed From address must be rejected.Sender Identification (SID) is an email antispam sanitization process. Sender ID uses DNS MX record lookups to verify the Simple Mail Transfer Protocol (SMTP) sending server is authorized to send email for the originating domain.

Failure to implement Sender ID risks that spam could be admitted into the email domain that originates from rogue servers. Most spam content originates from domains where the IP address has been spoofed prior to sending, thereby avoiding detection. For example, messages with malformed or incorrect “purported responsible sender” data in the message header could be (best case) created by using RFI noncompliant software but is more likely to be spam.
Open the Exchange Management Shell and enter the following command:

Set-SenderIdConfig -SpoofedDomainAction Reject
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Open the Exchange Management Shell and enter the following command:

Get-SenderIdConfig | Select Name, Identity, SpoofedDomainAction

If the value of “SpoofedDomainAction” is not set to “Reject”, this is a finding.
The Exchange Recipient filter must be enabled.Email system availability depends in part on best practice strategies for setting tuning configurations. Careful tuning reduces the risk that system or network congestion will contribute to availability impacts.

Filters that govern inbound email evaluation can significantly reduce spam, phishing, and spoofed emails. Messages from blank senders, known spammers, or zero-day attack modifications must be enabled to be effective.
Open the Exchange Management Shell and enter the following command:

Set-RecipientFilterConfig -Enabled $true
Open the Exchange Management Shell and enter the following command:

Get-RecipientFilterConfig | Select Name, Enabled

If the value of “Enabled” is not set to “True”, this is a finding.
The Exchange Spam Evaluation filter must be enabled.By performing filtering at the perimeter, up to 90 percent of spam, malware, and other undesirable messages may be eliminated from the transport message stream, preventing their entry into the Exchange environment. This significantly reduces the attack vector for inbound email-borne spam and malware.

Spam Evaluation filters scan inbound email messages for evidence of spam and other attacks that primarily use “social engineering” techniques. Upon evaluation completion, a rating is assigned to each message estimating the likelihood of its being spam. Upon arrival at the destination mailbox, the junk mail filter threshold (also configurable) determines whether the message will be withheld from delivery, delivered to the junk mail folder, or delivered to the user’s inbox.
Open the Exchange Management Shell and enter the following command:

Set-ContentFilterConfig -Enabled $true
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Open the Exchange Management Shell and enter the following command:

Get-ContentFilterConfig | Select Name, Identity, Enabled

If the value of “Enabled” is not set to “True”, this is a finding.
The Exchange Block List service provider must be identified.Block List filtering is a sanitization process performed on email messages prior to their arrival at the destination mailbox. By performing this process at the email perimeter, threats can be eliminated outside the enclave, where there is less risk for them to do harm.

Block List services (sometimes called Reputation Data services) are fee-based data providers that collect the IP addresses of known spammers and other malware purveyors. Block List service subscribers benefit from more effective spam elimination. (Spam is estimated to compose up to 90 percent of inbound mail volume.) Failure to specify a Block List provider risks that manual email administration effort would be needed to maintain and update larger Block Lists than a single email site administrator could conveniently or accurately maintain.

The Block List service vendor provides a value for this field, usually the Domain Name System (DNS) suffix for its domain.
Update the EDSP to reflect the name and information for the Block List provider.

Open the Exchange Management Shell and enter the following command:

Set-IPBlockListProvider -Name <Provider Name> [Additional optional parameters as required by the service provider]
If not using a service provider, this requirement is not applicable.

Review the Email Domain Security Plan (EDSP).

Determine the name and information for the Block List provider.

Open the Exchange Management Shell and enter the following command:

Get-IPBlockListProvider | Select Name, Identity, LookupDomain

If the values for “Name”, GUID, and “LookupDomain” are not configured, this is a finding.
Exchange Simple Mail Transfer Protocol (SMTP) IP Allow List entries must be empty.Email system availability depends in part on best practice strategies for setting tuning configurations. Careful tuning reduces the risk that system or network congestion will contribute to availability impacts.

Filters that govern inbound email evaluation can significantly reduce spam, phishing, and spoofed emails. Filters for messages from blank senders, known spammers, or zero-day attack modifications must be enabled to be effective.

Having items identified in the Allow List causes other spam evaluation steps to be bypassed and therefore should be used only with an abundance of caution. If spammers were to learn of entries in the Allow List, it could enable them to plan a denial of service attack (or other attack) by spoofing that source.
Update the EDSP to reflect the SMTP allow list settings.

Open the Exchange Management Shell and enter the following command:

Note: Remove any value(s) that are not identified by the EDSP or have not obtained a signoff with risk acceptance.

Remove-IPAllowListEntry -Identity <IP Allow List entry ID>
Review the Email Domain Security Plan (EDSP).

Identify the SMTP allow list settings.

Open the Exchange Management Shell and enter the following command:

Get-IPAllowListEntry | fl

If the result returns any values, this is a finding.

or

If the result returns any values but has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange Simple Mail Transfer Protocol (SMTP) IP Allow List Connection filter must be enabled.Email system availability depends in part on best practice strategies for setting tuning configurations. Careful tuning reduces the risk that system or network congestion will contribute to availability impacts.

Filters that govern inbound email evaluation can significantly reduce spam, phishing, and spoofed emails. Filters for messages from blank senders, known spammers, or zero-day attack modifications must be enabled to be effective.

Having items identified in the Allow List causes other spam evaluation steps to be bypassed and therefore should be used only with an abundance of caution. If spammers were to learn of entries in the Allow List, it could enable them to plan a denial of service attack (or other attack) by spoofing that source.
Open the Exchange Management Shell and enter the following command:

Set-IPAllowListConfig -Enabled $true
Open the Exchange Management Shell and enter the following command:

Get-IPAllowListConfig | Select Name, Enabled

If the value for “Enabled” is not set to “True”, this is a finding.
The Exchange tarpitting interval must be set.Tarpitting is the practice of artificially delaying server responses for specific Simple Mail Transfer Protocol (SMTP) communication patterns that indicate high volumes of spam or other unwelcome messages. The intent of tarpitting is to slow down the communication process for spam batches to reduce the cost effectiveness of sending spam and thwart directory harvest attacks.

A directory harvest attack is an attempt to collect valid email addresses from a particular organization so the email addresses can be added to a spam database. A program can be written to collect email addresses that return a “Recipient OK” SMTP response and discard all email addresses that return a “User unknown” SMTP response.

Tarpitting makes directory harvest attacks too costly to automate efficiently.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -TarpitInterval ’00:00:05′

Note: The <IdentityName> value and the Interval must be in single quotes.

Repeat the procedures for each Receive connector.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, TarpitInterval

For each Receive connector, if the value of “TarpitInterval” is not set to “00:00:05” or greater, this is a finding.
Exchange internal Receive connectors must not allow anonymous connections.This control is used to limit the servers that may use this server as a relay. If a Simple Mail Transport Protocol (SMTP) sender does not have a direct connection to the Internet (for example, an application that produces reports to be emailed), it will need to use an SMTP Receive connector that does have a path to the Internet (for example, a local email server) as a relay.

SMTP relay functions must be protected so third parties are not able to hijack a relay service for their own purposes. Most commonly, relay hijacking is done by spammers to disguise the source of their messages and may also be used to cover the source of more destructive attacks.

Relays can be restricted in one of three ways: by blocking relays (restrict to a blank list of servers); by restricting use to lists of valid servers; or by restricting use to servers that can authenticate. Because authenticated connections are the most secure for SMTP Receive connectors, it is recommended that relays allow only servers that can authenticate.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -PermissionGroups ‘valid user group(s)’

Note: The <IdentityName> value and user group(s) must be in single quotes.

Example for user groups only: ‘ExchangeServers, ExchangeUsers’

Repeat the procedures for each Receive connector.

This is an Example only: Set-ReceiveConnector -Identity <‘IdentityName’> -PermissionGroups ‘ExchangeUsers’
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, PermissionGroups

For each Receive connector, if the value of “PermissionGroups” is “AnonymousUsers” for any non-Internet connector, this is a finding.
The application must configure malicious code protection mechanisms to perform periodic scans of the information system every seven days.Malicious code protection mechanisms include, but are not limited, to anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated.

Malicious code includes viruses, worms, trojan horses, and spyware. It is not enough to simply have the software installed; this software must periodically scan the system to search for malware on an organization-defined frequency.

This requirement applies to applications providing malicious code protection.
Open the Exchange Management Shell and enter the following command:

& env:ExchangeInstallPath\Scripts\Disable-Antimalwarescanning.ps1
Open the Exchange Management Shell and enter the following command:

Get-TransportAgent “Malware Agent”

If the value of “Enabled” is set to “True”, this is a finding.
The application must configure malicious code protection mechanisms to perform periodic scans of the information system every seven days.Malicious code protection mechanisms include, but are not limited, to anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated.

Malicious code includes viruses, worms, trojan horses, and spyware. It is not enough to simply have the software installed; this software must periodically scan the system to search for malware on an organization-defined frequency.

This requirement applies to applications providing malicious code protection.
Following vendor best practice guidance, install and configure a third-party malicious code protection application.Site must utilize an approved DoD third-party malicious code scanner.

Consult with System Administrator to demonstrate the application being used to provide malicious code protection in the Exchange implementation.

If System Administrator is unable to demonstrate a third-party malicious code protection application, this is a finding.

If System Administrator is unaware of a third-party malicious code protection application, this is a finding.
The application must be configured to block and quarantine malicious code upon detection, then send an immediate alert to appropriate individuals.Malicious code protection mechanisms include, but are not limited, to anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated.

Applications providing this capability must be able to perform actions in response to detected malware. Responses include blocking, quarantining, deleting, and alerting. Other technology- or organization-specific responses may also be employed to satisfy this requirement.

Malicious code includes viruses, worms, trojan horses, and spyware.

This requirement applies to applications providing malicious code protection.
Open the Exchange Management Shell and enter the following command:

& env:ExchangeInstallPath\Scripts\Disable-Antimalwarescanning.ps1
Open the Exchange Management Shell and enter the following command:

Get-TransportAgent “Malware Agent”

If the value of “Enabled” is set to “True”, this is a finding.
The application must be configured to block and quarantine malicious code upon detection, then send an immediate alert to appropriate individuals.Malicious code protection mechanisms include, but are not limited, to anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated.

Applications providing this capability must be able to perform actions in response to detected malware. Responses include blocking, quarantining, deleting, and alerting. Other technology- or organization-specific responses may also be employed to satisfy this requirement.

Malicious code includes viruses, worms, trojan horses, and spyware.

This requirement applies to applications providing malicious code protection.
Following vendor best practice guidance, install and configure a third-party malicious code protection application.Site must utilize an approved DoD third-party malicious code scanner.

Consult with System Administrator to demonstrate the application being used to provide malicious code protection in the Exchange implementation.

If System Administrator is unable to demonstrate a third-party malicious code protection application, this is a finding.

If System Administrator is unaware of a third-party malicious code protection application, this is a finding.
Exchange internal Send connectors must use an authentication level.The Simple Mail Transfer Protocol (SMTP) connector is used by Exchange to send and receive messages from server to server. Several controls work together to provide security between internal servers. This setting controls the encryption method used for communications between servers. With this feature enabled, only servers capable of supporting Transport Layer Security (TLS) will be able to send and receive mail within the domain.

The use of secure communication prevents eavesdroppers from reading or modifying communications between mail clients and servers. While sensitive message bodies should be encrypted by the sender at the client, requiring a secure connection from server to server adds protection by encrypting the sender and recipient information that cannot be encrypted by the sender.

Individually, channel security and encryption can be compromised by attackers. Used together, email becomes a more difficult target, and security is heightened. Failure to enable this feature gives eavesdroppers an opportunity to read or modify messages between servers.
Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -TlsAuthLevel DomainValidation
Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, TlsAuthLevel

If the value of “TlsAuthLevel” is not set to “DomainValidation”, this is a finding.
Exchange internal Receive connectors must require encryption.The Simple Mail Transfer Protocol (SMTP) Receive connector is used by Exchange to send and receive messages from server to server using SMTP protocol. This setting controls the encryption strength used for client connections to the SMTP Receive connector. With this feature enabled, only clients capable of supporting secure communications will be able to send mail using this SMTP server. Where secure channels are required, encryption can also be selected.

The use of secure communication prevents eavesdroppers from reading or modifying communications between mail clients and servers. While sensitive message bodies should be encrypted by the sender at the client, requiring a secure connection from the client to the server adds protection by encrypting the sender and recipient information that cannot be encrypted by the sender.

Individually, channel security and encryption have been compromised by attackers. Used together, email becomes a more difficult target, and security is heightened. Failure to enable this feature gives eavesdroppers an opportunity to read or modify messages between the client and server.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -AuthMechanism ‘Tls’

Note: The <IdentityName> value must be in single quotes.

Repeat the process for each Receive connector.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, AuthMechanism

For each Receive connector, if the value of “AuthMechanism” is not set to “Tls”, this is a finding.
Exchange internal Send connectors must require encryption.The Simple Mail Transfer Protocol (SMTP) connector is used by Exchange to send and receive messages from server to server. Several controls work together to provide security between internal servers. This setting controls the encryption method used for communications between servers. With this feature enabled, only servers capable of supporting Transport Layer Security (TLS) will be able to send and receive mail within the domain.

The use of secure communication prevents eavesdroppers from reading or modifying communications between mail clients and servers. While sensitive message bodies should be encrypted by the sender at the client, requiring a secure connection from server to server adds protection by encrypting the sender and recipient information that cannot be encrypted by the sender.

Individually, channel security and encryption can be compromised by attackers. Used together, email becomes a more difficult target, and security is heightened. Failure to enable this feature gives eavesdroppers an opportunity to read or modify messages between servers.
Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -TlsDomain <‘SMTP Domain’>

Set-SendConnector -Identity <‘ReceiveConnector’> -DomainSecureEnabled ‘True’

Note: The SMTP Domain is the internal SMTP domain within the organization.

The following commands can be executed if smarthosts are used:

Set-SendConnector <‘IdentityName’> -RequireTLS $true -TlsAuthLevel $DomainValidation
Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, TlsDomain

If the value of “TlsDomain” is not set to the value of the internal <‘SMTP Domain’>, this is a finding.

Get-SendConnector | Select Name, Identity, DomainSecureEnabled

If the value of “DomainSecureEnabled” is not set to “True” and the SendConnector is not using a smarthost, this is a finding.

If the value of “DomainSecureEnabled” is set to “False” and the send connector is using a smarthost, the value of “RequireTLS” must be set to “True”, and the value for “TlsAuthLevel” must be set to “DomainValidation”.

If the send connector using a smarthost has a value for “RequireTLS” that is not set to “True”, this is a finding.

If the send connector using a smarthost has a value for “TlsAuthLevel” that is not set to “DomainValidation”, this is a Finding.
Exchange Attachment filtering must remove undesirable attachments by file type.By performing filtering at the perimeter, up to 90 percent of spam, malware, and other undesirable messages are eliminated from the message stream rather than admitting them into the mail server environment.

Attachments are being used more frequently for different forms of attacks. By filtering undesirable attachments, a large percent of malicious code can be prevented from entering the system. Attachments must be controlled at the entry point into the email environment to prevent successful attachment-based attacks. The following is a basic list of known attachments that should be filtered from Internet mail attachments:

*.ade *.crt *.jse *.msi *.scr *.wsh *.dir
*.adp *.csh *.ksh *.msp *.sct *.htm *.dcr
*.app *.exe *.lnk *.mst *.shb *.html *.plg
*.asx *.fxp *.mda *.ops *.shs *.htc *.spl
*.bas *.hlp *.mdb *.pcd *.url *.mht *.swf
*.bat *.hta *.mde *.pif *.vb *.mhtml *.zip
*.chm *.inf *.mdt *.prf *.vbe *.shtm
*.cmd *.ins *.mdw *.prg *.vbs *.shtml
*.com *.isp *.mdz *.reg *.wsc *.stm
*.cpl *.js *.msc *.scf *.wsf *.xml
Update the EDSP to reflect the list of undesirable attachment types that should be stripped.

Open the Exchange Management Shell and enter the following command:

Add-AttachmentFilterEntry -Name <‘*.FileExtension’> -Type FileName

Repeat the procedure for each undesirable attachment type.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement.

Review the Email Domain Security Plan (EDSP).

Determine the list of undesirable attachment types that should be stripped.

Open the Exchange Management Shell and enter the following command:

Get-AttachmentFilterEntry

For each attachment type, if the values returned are different from the EDSP documented attachment types, this is a finding.
Exchange external Receive connectors must be domain secure-enabled.The Simple Mail Transfer Protocol (SMTP) connector is used by Exchange to send and receive messages from server to server. Several controls work together to provide security between internal servers. This setting controls the authentication method used for communications between servers. With this feature enabled, messages can be securely passed from a partner domain securely.

The use of secure communication prevents eavesdroppers from reading or modifying communications between mail clients and servers. While sensitive message bodies should be encrypted by the sender at the client, requiring a secure connection from server to server adds protection by encrypting the sender and recipient information that cannot be encrypted by the sender.

Individually, channel security and encryption can be compromised by attackers. Used together, email becomes a more difficult target, and security is heightened. Failure to enable this feature gives eavesdroppers an opportunity to read or modify messages between servers.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -DomainSecureEnabled $true

Note: The <IdentityName> value must be in single quotes.

Repeat the procedures for each receive connector.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, DomainSecureEnabled

For each receive connector, if the value of “DomainSecureEnabled” is not set to “True”, this is a finding.
The Exchange email Diagnostic log level must be set to the lowest level.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Diagnostic logging, however, characteristically produces large volumes of data and requires care in managing the logs to prevent risk of disk capacity denial of service conditions.

Exchange diagnostic logging is broken up into 29 main “services”, each of which has anywhere from 2 to 26 “categories” of events to be monitored. Moreover, each category may be set to one of four levels of logging: Lowest, Low, CAT II, and High, depending on how much detail one desires. The higher the level of detail, the more disk space required to store the audit material.

Diagnostic logging is intended to help administrators debug problems with their systems, not as a general-purpose auditing tool. Because the diagnostic logs collect a great deal of information, the log files may grow large very quickly. Diagnostic log levels may be raised for limited periods of time when attempting to debug relevant pieces of Exchange functionality. Once debugging has finished, diagnostic log levels should be reduced again.
Open the Exchange Management Shell and enter the following command:

Set-EventLogLevel -Identity <‘IdentityName\EventlogName’> -Level Lowest

Note: The <IdentityName\EventlogName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-EventLogLevel

If any “EventLogLevel” values returned are not set to “Lowest”, this is a finding.
Exchange must have accepted domains configured.Exchange may be configured to accept email for multiple domain names. This setting identifies the domains for which the server will accept mail. This check verifies the email server is not accepting email for unauthorized domains.Update the EDSP.

Open the Exchange Management Shell and enter the following command:

Set-AcceptedDomain -Identity <‘IdentityName’> -MakeDefault $true

Note: The <IdentityName> value must be in single quotes.
Review the Email Domain Security Plan (EDSP).

Determine the Accepted Domain values.

Open the Exchange Management Shell and enter the following command:

Get-AcceptedDomain | Select Name, DomainName, Identity, Default

If the value of “Default” is not set to “True”, this is a finding.

or

If the “Default” value for “AcceptedDomains” is set to another value other than “True” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange must have auto-forwarding of email to remote domains disabled or restricted.Attackers can use automated messages to determine whether a user account is active, in the office, traveling, and so on. An attacker might use this information to conduct future attacks. Ensure Automatic Forwards to remote domains are disabled, except for enterprise email that must be restricted to forward-only to .mil and .gov. domains.

Before enabling this setting, first configure a remote domain.
For Non-Enterprise Mail Fix Text:

Open the Exchange Management Shell and enter the following command:

Set-RemoteDomain -Identity <‘IdentityName’> -AutoForwardEnabled $false

Note: The <IdentityName> value must be in single quotes.

For Enterprise Mail Fix Text, enter the following commands:

New-RemoteDomain -Name <NewDomainName> -DomainName <SMTP address space>

Note: NewDomainName must be either a “.mil” or “.gov” domain.

Set-RemoteDomain -Identity <‘IdentityName’> -AutoForwardEnabled $true
Non-Enterprise Mail Check Content:

Open the Exchange Management Shell and enter the following command:

Get-RemoteDomain | Select Name, DomainName, Identity, AutoForwardEnabled

If the value of “AutoForwardEnabled” is not set to “False”, this is a finding.

Enterprise Mail Check Content:

Open the Exchange Management Shell and enter the following command:

Get-RemoteDomain | Select Name, DomainName, Identity, AutoForwardEnabled

If the value of “AutoForwardEnabled” is “True” and “DomainName” is not set to a “.mil” and/or “.gov” domain(s), this is a finding.
The application must update malicious code protection mechanisms whenever new releases are available in accordance with organizational configuration management policy and procedures.Malicious code includes viruses, worms, trojan horses, and spyware. The code provides the ability for a malicious user to read from and write to files and folders on a computer’s hard drive. Malicious code may also be able to run and attach programs, which may allow the unauthorized distribution of malicious mobile code. Once this code is installed on endpoints within the network, unauthorized users may be able to breach firewalls and gain access to sensitive data.

This requirement applies to applications providing malicious code protection. Malicious code protection mechanisms include, but are not limited, to, anti-virus and malware detection software. Malicious code protection mechanisms (including signature definitions and rule sets) must be updated when new releases are available.
Open the Exchange Management Shell and enter the following command:

& env:ExchangeInstallPath\Scripts\Disable-Antimalwarescanning.ps1
Open the Exchange Management Shell and enter the following command:

Get-TransportAgent “Malware Agent”

If the value of “Enabled” is set to “True”, this is a finding.
The application must update malicious code protection mechanisms whenever new releases are available in accordance with organizational configuration management policy and procedures.Malicious code includes viruses, worms, trojan horses, and spyware. The code provides the ability for a malicious user to read from and write to files and folders on a computer’s hard drive. Malicious code may also be able to run and attach programs, which may allow the unauthorized distribution of malicious mobile code. Once this code is installed on endpoints within the network, unauthorized users may be able to breach firewalls and gain access to sensitive data.

This requirement applies to applications providing malicious code protection. Malicious code protection mechanisms include, but are not limited, to, anti-virus and malware detection software. Malicious code protection mechanisms (including signature definitions and rule sets) must be updated when new releases are available.
Following vendor best practice guidance, install and configure a third-party malicious code protection application.Site must utilize an approved DoD third-party malicious code scanner.

Consult with System Administrator to demonstrate the application being used to provide malicious code protection in the Exchange implementation.

If System Administrator is unable to demonstrate a third-party malicious code protection application, this is a finding.

If System Administrator is unaware of a third-party malicious code protection application, this is a finding.
Exchange Receive connector Maximum Hop Count must be 60.Email system availability depends in part on best practice strategies for setting tuning configurations. This setting controls the maximum number of hops (email servers traversed) a message may take as it travels to its destination. Part of the original Internet protocol implementation, the hop count limit prevents a message from being passed in a routing loop indefinitely. Messages exceeding the maximum hop count are discarded undelivered.

Recent studies indicate that virtually all messages can be delivered in fewer than 60 hops. If the hop count is set too low, messages may expire before they reach their destinations. If set too high, an undeliverable message may cycle between servers, raising the risk of network congestion.
Update the EDSP to reflect the value for Receive connectors.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -MaxHopCount 60

Note: The <IdentityName> value must be in single quotes.

or

The value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each receive connector.
Review the Email Domain Security Plan (EDSP).

Determine the value for Receive connectors.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, MaxHopCount

For each receive connector, if the value of “MaxHopCount” is not set to “60”, this is a finding.

or

If the value of “MaxHopCount” is set to a value other than “60” and has signoff and risk acceptance, this is not a finding.
Exchange Receive connectors must be clearly named.For receive connectors, unclear naming as to direction and purpose increases risk that messages may not flow as intended, troubleshooting efforts may be impaired, or incorrect assumptions may be made about the completeness of the configuration.

Collectively, connectors should account for all connections required for the overall email topology design. Simple Mail Transfer Protocol (SMTP) connectors, when listed, must name purpose and direction clearly, and their counterparts on servers to which they connect should be recognizable as their partners.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Name <‘NewName’> -Identity <‘IdentityName’>

Note: Both the <NewName> and <IdentityName> value must be in single quotes.

Repeat the procedure for each receive connector.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity

For each Receive connector, review the naming for connectors.

If the connectors are not clearly named for purpose and direction, this is a finding.
The Exchange Internet Message Access Protocol 4 (IMAP4) service must be disabled.IMAP4 is not approved for use within the DoD. It uses a clear-text-based user name and password and does not support the DoD standard for PKI for email access. User name and password could easily be captured from the network, allowing a malicious user to access other system features. Uninstalling or disabling the service will prevent the use of the IMAP4 protocol.Open the Windows Power Shell and enter the following command:

services.msc

Navigate to and double-click on “Microsoft Exchange IMAP4 Backend”.

Click on the “General” tab.

In the “Startup Type” dropdown, select “Disabled”.

Click the “OK” button.
Note: This requirement applies to IMAP4. IMAP Secure is not restricted and does not apply to this requirement.

Open the Windows Power Shell and enter the following command:

Get-ItemProperty ‘hklm:\system\currentcontrolset\services\MSExchangeIMAP4’ | Select Start

Note: The hklm:\system\currentcontrolset\services\MSExchangeIMAP4 value must be in single quotes.

If the value of “Start” is not set to “4”, this is a finding.
Exchange Internal Send connectors must use an authentication level.The Simple Mail Transfer Protocol (SMTP) connector is used by Exchange to send and receive messages from server to server. Several controls work together to provide security between internal servers. This setting controls the encryption method used for communications between servers. With this feature enabled, only servers capable of supporting Transport Layer Security (TLS) will be able to send and receive mail within the domain.

The use of secure communication prevents eavesdroppers from reading or modifying communications between mail clients and servers. While sensitive message bodies should be encrypted by the sender at the client, requiring a secure connection from server to server adds protection by encrypting the sender and recipient information that cannot be encrypted by the sender.

Individually, channel security and encryption can be compromised by attackers. Used together, email becomes a more difficult target, and security is heightened. Failure to enable this feature gives eavesdroppers an opportunity to read or modify messages between servers.
Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -TlsAuthLevel DomainValidation

Note: The <IdentityName> value must be in single quotes.

Repeat the procedure for each Send connector.
Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, TlsAuthLevel

For each Send connector, if the value of “TlsAuthLevel” is not set to “DomainValidation”, this is a finding.
The Exchange SMTP automated banner response must not reveal server details.Automated connection responses occur as a result of FTP or Telnet connections when connecting to those services. They report a successful connection by greeting the connecting client and stating the name, release level, and (often) additional information regarding the responding product. While useful to the connecting client, connection responses can also be used by a third party to determine operating system or product release levels on the target server. The result can include disclosure of configuration information to third parties, paving the way for possible future attacks. For example, when querying the SMTP service on port 25, the default response looks similar to this one:

220 exchange.mydomain.org Microsoft ESMTP MAIL Service, Version: 6.0.3790.211 ready at Wed, 2 Feb 2005 23:40:00 -0500

Changing the response to hide local configuration details reduces the attack profile of the target.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -Banner ‘220 SMTP Server Ready’

Note: The <IdentityName> and 220 SMTP Server Ready values must be in single quotes.

Repeat the procedures for each Receive connector.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, Banner

For each Receive connector, if the value of “Banner” is not set to “220 SMTP Server Ready”, this is a finding.
Exchange must protect audit data against unauthorized deletion.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection. Audit data available for modification by a malicious user can be altered to conceal malicious activity. Audit data might also provide a means for the malicious user to plan unauthorized activities that exploit weaknesses.

The contents of audit logs are protected against unauthorized access, modification, or deletion. Only authorized auditors and the audit functions should be granted “Read” and “Write” access to audit log data.
Update the EDSP to specify the authorized groups or users that should have “Delete” permissions for the audit data or verify that this information is documented by the organization.

Restrict any unauthorized groups’ or users’ “Delete” permissions for the audit logs.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the authorized groups or users that should have “Delete” permissions for the audit data.

If any group or user has “Delete” permissions for the audit data that is not documented in the EDSP, this is a finding.
Exchange Audit data must be on separate partitions.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection.

Successful exploit of an application server vulnerability may well be logged by monitoring or audit processes when it occurs. Writing log and audit data to a separate partition where separate security contexts protect them may offer the ability to protect this information from being modified or removed by the exploit mechanism.
Update the EDSP to specify the audit logs’ assigned partition or verify that this information is documented by the organization.

Configure the audit log location to be on a partition drive separate from the application.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the audit logs’ assigned partition.

By default, the logs are located on the application partition in \Program Files\Microsoft\Exchange Server\V15\Logging.

If the log files are not on a separate partition from the application, this is a finding.
Exchange must not send Customer Experience reports to Microsoft.It is detrimental for applications to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.

Applications are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions).

Examples of non-essential capabilities include, but are not limited to, advertising software or browser plug-ins not related to requirements or providing a wide array of functionality not required for every mission but that cannot be disabled.

Customer Experience reports in Exchange will result in outbound traffic that may be identified by an eavesdropper. For this reason, the Customer Experience reports must not be sent to Microsoft.
Open the Exchange Management Shell and enter the following command:

Set-OrganizationConfig -CustomerFeedbackEnabled $false
Open the Exchange Management Shell and enter the following command:

Get-OrganizationConfig | Select CustomerFeedbackEnabled

If the value for “CustomerFeedbackEnabled” is not set to “False”, this is a finding.
Exchange must protect audit data against unauthorized access.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection. Audit data available for modification by a malicious user can be altered to conceal malicious activity. Audit data might also provide a means for the malicious user to plan unauthorized activities that exploit weaknesses.

The contents of audit logs are protected against unauthorized access, modification, or deletion. Only authorized auditors and the audit functions should be granted “Read” and “Write” access to audit log data.
Update the EDSP to specify the authorized groups or users that should have access to the audit data or verify that this information is documented by the organization.

Restrict any unauthorized groups’ or users’ modify permissions for the audit logs.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the authorized groups or users that should have access to the audit data.

If any group or user has modify privileges for the audit data that is not documented in the EDSP, this is a finding.
Exchange Send Fatal Errors to Microsoft must be disabled.It is detrimental for applications to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.

Applications are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions).

Examples of non-essential capabilities include but are not limited to advertising software or browser plug-ins not related to requirements or providing a wide array of functionality not required for every mission but that cannot be disabled.

All system errors in Exchange will result in outbound traffic that may be identified by an eavesdropper. For this reason, the “Report Fatal Errors to Microsoft” feature must be disabled.
Open the Exchange Management Shell and enter the following command:

Set-ExchangeServer -Identity <‘IdentityName’> -ErrorReportingEnabled $false

Note: The <IdentityName> value must be in single quotes.

Repeat the process for each Exchange Server.
Open the Exchange Management Shell and enter the following command:

Get-ExchangeServer –status | Select Name, Identity, ErrorReportingEnabled

For each Exchange Server, if the value of “ErrorReportingEnabled” is not set to “False”, this is a finding.
Exchange must protect audit data against unauthorized read access.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Audit log content must always be considered sensitive and in need of protection. Audit data available for modification by a malicious user can be altered to conceal malicious activity. Audit data might also provide a means for the malicious user to plan unauthorized activities that exploit weaknesses.

The contents of audit logs are protected against unauthorized access, modification, or deletion. Only authorized auditors and the audit functions should be granted “Read” and “Write” access to audit log data.
Update the EDSP to specify the authorized groups or users that should have “Read” access to the audit data or verify that this information is documented by the organization.

Restrict any unauthorized groups’ or users’ “Read” access to the audit logs.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the authorized groups or users that should have “Read” access to the audit data.

If any group or user has “Read” access to the audit data that is not documented in the EDSP, this is a finding.
Exchange Message Tracking Logging must be enabled.A message tracking log provides a detailed log of all message activity as messages are transferred to and from a computer running Exchange.

If events are not recorded, it may be difficult or impossible to determine the root cause of system problems or the unauthorized activities of malicious users.
Open the Exchange Management Shell and enter the following command:

Set-Transportservice <IdentityName> -MessageTrackingLogEnabled $true

Note: The <IdentityName> value must be in quotes.
Open the Exchange Management Shell and enter the following command:

Get-Transportservice | Select Name, MessageTrackingLogEnabled

If the value of MessageTrackingLogEnabled is not set to True, this is a finding.
Exchange Queue monitoring must be configured with threshold and action.Monitors are automated “process watchers” that respond to performance changes and can be useful in detecting outages and alerting administrators where attention is needed. Exchange has built-in monitors that enable the administrator to generate alerts if thresholds are reached, better enabling them to react in a timely fashion.

This field offers choices of alerts when a “warning” or “critical” threshold is reached on the SMTP queue. A good rule of thumb (default) is to issue warnings when SMTP queue growth exceeds 10 minutes and critical messages when it exceeds 20 minutes, which should only happen occasionally. Frequent alerts against this counter may indicate a network or other issue (such as inbound ExchangeMER traffic) that directly impacts email delivery.

Notification choices include email alert to an email-enabled account (for example, an email Administrator) or invoke a script to take other action (for example, to add an Event to the Microsoft Application Event Log, where external monitors might detect it).
Open the Exchange Management Shell and enter the following command:

perfmon

In the left pane, navigate to and select Performance >> Data Collector Sets >> User Defined.

Right-click on, navigate to, and configure User Defined >> New >> Data Collector Sets and configure the system to use the data collection set for monitoring the queues.
Note: If a third-party application is performing monitoring functions, the reviewer should verify the application is monitoring correctly and mark the vulnerability not applicable (NA).

Open the Exchange Management Shell and enter the following command:

perfmon
Get-MonitoringItemHelp -Identity <String> -Server <ServerIdParameter>

If no sets are defined or queues are not being monitored, this is a finding.
Exchange Circular Logging must be disabled.Logging provides a history of events performed and can also provide evidence of tampering or attack. Failure to create and preserve logs adds to the risk that suspicious events may go unnoticed and raises the potential that insufficient history will be available to investigate them.

This setting controls how log files are written. If circular logging is enabled, one log file is stored with a default size of 1024 KB. Once the size limit has been reached, additional log entries overwrite the oldest log entries. If circular logging is disabled, once a log file reaches the size limit, a new log file is created.

Mailbox should not use circular logging. Logs should be written to a partition separate from the operating system, with log protection and backups being incorporated into the overall System Security Plan.
Open the Exchange Management Shell and enter the following command:

Set-MailboxDatabase -Identity <‘IdentityName’> -CircularLoggingEnabled $false

Note: The <IdentityName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-MailboxDatabase | Select Name, Identity, CircularLoggingEnabled

If the value of “CircularLoggingEnabled” is not set to “False”, this is a finding.
Exchange Email Subject Line logging must be disabled.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. When “message tracking” is enabled, only the sender, recipients, time, and other delivery information is included by default. Information such as the subject and message body is not included.

However, the absence of the message subject line can make it difficult to locate a specific message in the log unless one knows roughly what time the message was sent. To simplify searches through these logs, Exchange offers the ability to include the message “subject line” in the log files and in the Message Tracking Center display. This can make it significantly easier to locate a specific message.

However, this feature creates larger log files and will contain information that may raise privacy and legal concerns. Enterprise policy should be consulted before this feature is enabled. Also, because the log files may contain sensitive information in the form of the subject line, the log files will need to be protected, commensurate with the sensitivity level, as the content may be of interest to an attacker.

For these reasons, it is recommended that subject logging not be enabled during regular production operations. Instead, treat this feature as a diagnostic that can be used if needed. The tradeoff is that finding the correct message in the message tracking logs will become more difficult because the administrator will need to search using only the time the message was sent and the message’s sender. This control will have no effect unless Message Tracking is enabled. However, the setting should be disabled in case message tracking is enabled in the future.
Open the Exchange Management Shell and enter the following command:

Set-Transportservice -MessageTrackingLogSubjectLoggingEnabled $False
Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, MessageTrackingLogSubjectLoggingEnabled

If the value of “MessageTrackingLogSubjectLoggingEnabled” is not set to “False”, this is a finding.
The Exchange Email Diagnostic log level must be set to the lowest level.Log files help establish a history of activities and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. Diagnostic logging, however, characteristically produces large volumes of data and requires care in managing the logs to prevent risk of disk capacity denial-of-service conditions.

Exchange diagnostic logging is divided into 29 main “services”, each of which has anywhere from 2 to 26 “categories” of events to be monitored. Each category may be set to one of four levels of logging: Lowest, Low, Medium, and High, depending on how much detail is required. Higher levels of detail require more disk space to store the audit material.

Diagnostic logging is intended to help administrators debug problems with their systems, not as a general-purpose auditing tool. Because the diagnostic logs collect a great deal of information, the log files may grow large very quickly. Diagnostic log levels may be raised for limited periods of time when attempting to debug relevant pieces of Exchange functionality. Once debugging has finished, diagnostic log levels should be reduced again.
Open the Exchange Management Shell and enter the following command:

Set-EventLogLevel -Identity <‘IdentityName\EventlogName’> -Level Lowest

Note: The <IdentityName\EventlogName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-EventLogLevel

If the Diagnostic of any EventLevel is not set to “Lowest”, this is a finding.
Exchange Outlook Anywhere clients must use NTLM authentication to access email.Identification and authentication provide the foundation for access control. Access to email services applications require NTLM authentication. Outlook Anywhere, if authorized for use by the site, must use NTLM authentication when accessing email.

Note: There is a technical restriction in Exchange Outlook Anywhere that requires a direct SSL connection from Outlook to the Certificate Authority (CA) server. There is also a constraint where Microsoft supports that the CA server must participate in the Active Director (AD) domain inside the enclave. For this reason, Outlook Anywhere must be deployed only for enclave-sourced Outlook users.
Open the Exchange Management Shell and enter the following command:

For InternalClientAuthenticationMethod:

Set-OutlookAnywhere -Identity ‘<IdentityName’> -InternalClientAuthenticationMethod NTLM

For ExternalClientAuthenticationMethod:

Set-OutlookAnywhere -Identity ‘<IdentityName’> -ExternalClientAuthenticationMethod NTLM
Open the Exchange Management Shell and enter the following command:

Get-OutlookAnywhere

Get-OutlookAnywhere | Select Name, Identity, InternalClientAuthenticationMethod, ExternalClientAuthenticationMethod

If the value of “InternalClientAuthenticationMethod” and the value of “ExternalClientAuthenticationMethod” are not set to NTLM, this is a finding.
The Exchange Receive connector timeout must be limited.Email system availability depends in part on best practice strategies for setting tuning. This configuration controls the number of idle minutes before the connection is dropped. It works in conjunction with the Maximum Inbound Connections Count setting.

Connections, once established, may incur delays in message transfer. If the timeout period is too long, there is risk that idle connections may be maintained for unnecessarily long time periods, preventing new connections from being established.
Update the EDSP to specify the Connection Timeout value.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -ConnectionTimeout 00:10:00

Note: The <IdentityName> value must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP).

Determine the Connection Timeout value.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, ConnectionTimeout

For each Receive connector, if the value of “ConnectionTimeout” is not set to “00:10:00”, this is a finding.

or

If “ConnectionTimeout” is set to other than “00:10:00” and has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange Global Recipient Count Limit must be set.Email system availability depends in part on best practice strategies for setting tuning configurations. The Global Recipient Count Limit field is used to control the maximum number of recipients that can be specified in a single message sent from this server. Its primary purpose is to minimize the chance of an internal sender spamming other recipients, since spam messages often have a large number of recipients. Spam prevention can originate from both outside and inside organizations. While inbound spam is evaluated as it arrives, controls such as this one help prevent spam that might originate inside the organization.

The Recipient Count Limit is global to the Exchange implementation. Lower-level refinements are possible; however, in this configuration strategy, setting the value once at the global level facilitates a more available system by eliminating potential conflicts among multiple settings. A value of less than or equal to “5000” is probably larger than is needed for most organizations but is small enough to minimize usefulness to spammers and is easily handled by Exchange. An unexpanded distribution is handled as one recipient. Specifying “unlimited” may result in abuse.
Update the EDSP to specify the global maximum message recipient count.

Set-TransportConfig -MaxRecipientEnvelopeLimit 5000

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.

Restart the Microsoft Exchange Information Store service.
Review the Email Domain Security Plan (EDSP).

Determine the global maximum message recipient count.

Open the Exchange Management Shell and enter the following command:

Get-TransportConfig | Select Name, Identity, MaxRecipientEnvelopeLimit

If the value of “MaxRecipientEnvelopeLimit” is not set to “5000”, this is a finding.

or

If “MaxRecipientEnvelopeLimit” is set to an alternate value and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange servers must have an approved DoD email-aware virus protection software installed.With the proliferation of trojans, viruses, and spam attaching themselves to email messages (or attachments), it is necessary to have capable email-aware anti-virus (AV) products to scan messages and identify any resident malware. Because email messages and their attachments are formatted to the MIME standard, a flat-file AV scanning engine is not suitable for scanning email message stores.

Email-aware anti-virus engines must be Exchange 2016 compliant. Competent email scanners will have the ability to scan mail stores, attachments (including zip or other archive files) and mail queues and to issue warnings or alerts if malware is detected. As with other AV products, a necessary feature to include is the ability for automatic updates.
Update the EDSP to specify the organization’s anti-virus strategy.

Install and configure a DoD-approved compatible Exchange 2016 email-aware anti-virus scanner product.
Review the Email Domain Security Plan (EDSP).

Determine the anti-virus strategy.

Verify the email-aware anti-virus scanner product is Exchange 2016 compatible and DoD approved.

If email servers are using an email-aware anti-virus scanner product that is not DoD approved and Exchange 2016 compatible, this is a finding.
Exchange must not send automated replies to remote domains.Attackers can use automated messages to determine whether a user account is active, in the office, traveling, and so on. An attacker might use this information to conduct future attacks. Remote users will not receive automated “Out of Office” delivery reports. This setting can be used to determine if all the servers in the organization can send “Out of Office” messages.Open the Exchange Management Shell and enter the following command:

Set-RemoteDomain -Identity <‘IdentityName’> -AutoReplyEnabled $false

Note: The <IdentityName> value must be in single quotes.
Note: Automated replies to .MIL or .GOV sites are allowed.

Open the Exchange Management Shell and enter the following command:

Get-RemoteDomain | Select Name, Identity, AutoReplyEnabled
If the value of “AutoReplyEnabled” is set to “True” and is configured to only Reply to .MIL or .GOV sites, this is not a finding.

If the value of “AutoReplyEnabled” is not set to “False”, this is a finding.
Exchange must have anti-spam filtering configured.Originators of spam messages are constantly changing their techniques in order to defeat spam countermeasures; therefore, spam software must be constantly updated to address the changing threat. A manual update procedure is labor intensive and does not scale well in an enterprise environment. This risk may be mitigated by using an automatic update capability. Spam protection mechanisms include, for example, signature definitions, rule sets, and algorithms.

Exchange 2016 provides both anti-spam and anti-malware protection out of the box. The Exchange 2016 anti-spam and anti-malware product capabilities are limited but still provide some protection.
Note: Configure the IP addresses of every internal SMTP server. If the Mailbox server is the only SMTP server running the antispam agents, configure the IP address of the Mailbox server.

Update the EDSP with the anti-spam mechanism used.

Open the Exchange Management Shell and enter the following command:

Single SMTP server address:

Set-TransportConfig -InternalSMTPServers @{Add='<ip address1>’}

Multiple SMTP server addresses:

Set-TransportConfig -InternalSMTPServers @{Add='<ip address1>’,'<ip address2>’}
Review the Email Domain Security Plan (EDSP).

Note: If using another DoD-approved antispam product for email or a DoD-approved email gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable (NA).

Determine the internal SMTP servers.

Open the Exchange Management Shell and enter the following command:

Get-TransportConfig | Format-List InternalSMTPServers

If any internal SMTP server IP address returned does not reflect the list of accepted SMTP server IP addresses, this is a finding.
Exchange must have anti-spam filtering enabled.Originators of spam messages are constantly changing their techniques in order to defeat spam countermeasures; therefore, spam software must be constantly updated to address the changing threat. A manual update procedure is labor intensive and does not scale well in an enterprise environment. This risk may be mitigated by using an automatic update capability. Spam protection mechanisms include, for example, signature definitions, rule sets, and algorithms.

Exchange 2016 provides both anti-spam and anti-malware protection out of the box. The Exchange 2016 anti-spam and anti-malware product capabilities are limited but still provide some protection.
Update the EDSP with the anti-spam mechanism used.

Open the Exchange Management Shell and enter the following command for any values that were not set to “True”:

Set-ContentFilterConfig -Enabled $true

Set-SenderFilterConfig -Enabled $true

Set-SenderIDConfig -Enabled $true

Set-SenderReputationConfig -Enabled $true
Review the Email Domain Security Plan (EDSP).

Note: If using another DoD-approved anti-spam product for email or a DoD-approved email gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable (NA).

Open the Exchange Management Shell and enter the following command:

Get-ContentFilterConfig | Format-Table Name,Enabled; Get-SenderFilterConfig | Format-Table Name,Enabled; Get-SenderIDConfig | Format-Table Name,Enabled; Get-SenderReputationConfig | Format-Table Name,Enabled

If any of the following values returned are not set to “True”, this is a finding:

Set-ContentFilterConfig
Set-SenderFilterConfig
Set-SenderIDConfig
Set-SenderReputationConfig
Exchange must have anti-spam filtering installed.Originators of spam messages are constantly changing their techniques in order to defeat spam countermeasures; therefore, spam software must be constantly updated to address the changing threat. A manual update procedure is labor intensive and does not scale well in an enterprise environment. This risk may be mitigated by using an automatic update capability. Spam protection mechanisms include, for example, signature definitions, rule sets, and algorithms.

Exchange 2016 provides both anti-spam and anti-malware protection out of the box. The Exchange 2016 anti-spam and anti-malware product capabilities are limited but still provide some protection.
Update the EDSP with the anti-spam mechanism used.

Install the AntiSpam module.

Open the Exchange Management Shell and enter the following command:

& $env:ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1
Review the Email Domain Security Plan (EDSP).

Note: If using another DoD-approved antispam product for email or a DoD-approved email gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable (NA).

Open the Exchange Management Shell and enter the following command:

Get-ContentFilterConfig | Format-Table Name,Enabled

If no value is returned, this is a finding.
Exchange external/Internet-bound automated response messages must be disabled.Spam originators, in an effort to refine mailing lists, sometimes monitor transmissions for automated bounce-back messages. Automated messages include such items as “Out of Office” responses, nondelivery messages, and automated message forwarding.

Automated bounce-back messages can be used by a third party to determine if users exist on the server. This can result in the disclosure of active user accounts to third parties, paving the way for possible future attacks.
Open the Exchange Management Shell and enter the following command:

Set-RemoteDomain -Identity <‘IdentityName’> -AllowedOOFType ‘InternalLegacy’

Note: The <IdentityName> and InternalLegacy values must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-RemoteDomain | Select Name, DomainName, Identity, AllowedOOFType

If the value of “AllowedOOFType” is not set to “InternalLegacy”, this is a finding.
Exchange Internal Receive connectors must not allow anonymous connections.This control is used to limit the servers that may use this server as a relay. If a Simple Mail Transport Protocol (SMTP) sender does not have a direct connection to the Internet (for example, an application that produces reports to be emailed), it will need to use an SMTP Receive connector that does have a path to the Internet (for example, a local email server) as a relay.

SMTP relay functions must be protected so third parties are not able to hijack a relay service for their own purposes. Most commonly, hijacking of relays is done by spammers to disguise the source of their messages and may also be used to cover the source of more destructive attacks.

Relays can be restricted in one of three ways: by blocking relays (restrict to a blank list of servers), by restricting use to lists of valid servers, or by restricting use to servers that can authenticate. Because authenticated connections are the most secure for SMTP Receive connectors, it is recommended that relays allow only servers that can authenticate.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -PermissionGroups and enter a valid value user group.

Note: The <IdentityName> value must be in single quotes.

Example: Set-ReceiveConnector -Identity <‘IdentityName’> -PermissionGroups ExchangeUsers

Repeat the procedures for each Receive connector.
NOTE: In some instances, AnonymousUsers may be necessary for organization-specific operations. In such cases, allowing AnonymousUsers must be paired with restricting to specific lists of servers allowed to access. In addition, the risk must be documented and accepted by the ISSO, ISSM, or AO.
Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, PermissionGroups

For each Receive connector, if the value of “PermissionGroups” is “AnonymousUsers” for any receive connector, this is a finding.
The Exchange Outbound Connection Timeout must be 10 minutes or less.Email system availability depends in part on best practice strategies for setting tuning configurations. This configuration controls the number of idle minutes before the connection is dropped. It works in conjunction with the Maximum Outbound Connections Count setting.

Connections, once established, may incur delays in message transfer. The default of 10 minutes is a reasonable window in which to resume activities without maintaining idle connections for excessive intervals. If the timeout period is too long, idle connections may be maintained for unnecessarily long time periods, preventing new connections from being established. Sluggish connectivity increases the risk of lost data. A value of “10” or less is optimal.
Update the EDSP to specify the “ConnectionInactivityTimeOut” value.

Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -ConnectionInactivityTimeOut 00:10:00

Note: The <IdentityName> value must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the Connection Timeout value.

Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, ConnectionInactivityTimeOut

For each Send connector, if the value of “ConnectionInactivityTimeOut” is not set to “00:10:00”, this is a finding.

or

If “ConnectionInactivityTimeOut” is set to a value other than “00:10:00” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange services must be documented and unnecessary services must be removed or disabled.Unneeded but running services offer attackers an enhanced attack profile, and attackers are constantly watching to discover open ports with running services. By analyzing and disabling unneeded services, the associated open ports become unresponsive to outside queries, and servers become more secure as a result.

Exchange Server has role-based server deployment to enable protocol path control and logical separation of network traffic types.

For example, a server implemented in the Client Access role (i.e., Outlook Web App [OWA]) is configured and tuned as a web server using web protocols. A client access server exposes only web protocols (HTTP/HTTPS), enabling system administrators to optimize the protocol path and disable all services unnecessary for Exchange web services. Similarly, servers created to host mailboxes are dedicated to that task and must operate only the services needed for mailbox hosting. (Exchange servers must also operate some web services, but only to the degree that Exchange requires the IIS engine in order to function).

Because Post Office Protocol 3 (POP3) and Internet Message Access Protocol 4 (IMAP4) clients are not included in the standard desktop offering, they must be disabled. While IMAP4 is restricted, IMAP Secure is not restricted and does not apply to this requirement.
Update the EDSP to specify the services required for the system to function.

Remove or disable any services that are not required.
Review the Email Domain Security Plan (EDSP).

Note: Required services will vary among organizations and will vary depending on the role of the individual system. Organizations will develop their own list of services, which will be documented and justified with the Information System Security Officer (ISSO). The site’s list will be provided for any security review. Services that are common to multiple systems can be addressed in one document. Exceptions for individual systems should be identified separately by system.

Open a Windows PowerShell and enter the following command:

Get-Service | Where-Object {$_.status -eq ‘running’}

Note: The command returns a list of installed services and the status of that service.

If the services required are not documented in the EDSP, this is a finding.

If any undocumented or unnecessary services are running, this is a finding.
Exchange software must be monitored for unauthorized changes.Monitoring software files for changes against a baseline on a regular basis may help detect the possible introduction of malicious code on a system.Update the EDSP to specify that the organization monitors system files on servers for unauthorized changes against a baseline on a weekly basis or verify that this information is documented by the organization.

Monitor the software files (e.g., *.exe, *.bat, *.com, *.cmd, and *.dll) on Exchange servers for unauthorized changes against a baseline on a weekly basis.

Note: This can be done with the use of various monitoring tools.
Review the Email Domain Security Plan (EDSP).

Determine whether the site monitors system files (e.g., *.exe, *.bat, *.com, *.cmd, and *.dll) on servers for unauthorized changes against a baseline on a weekly basis.

If software files are not monitored for unauthorized changes, this is a finding.
An Exchange software baseline copy must exist.Exchange software, as with other application software installed on a host system, must be included in a system baseline record and periodically reviewed; otherwise, unauthorized changes to the software may not be discovered. This effort is a vital step to securing the host and the applications, as it is the only method that may provide the ability to detect and recover from otherwise undetected changes, such as those that result from worm or bot intrusions.

The Exchange software and configuration baseline is created and maintained for comparison during scanning efforts. Operational procedures must include baseline updates as part of configuration management tasks that change the software and configuration.
Update the EDSP to specify the software baseline, procedures, and implementation artifacts or verify that this information is documented by the organization.Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the software baseline.

Review the application software baseline procedures and implementation artifacts.

Note the list of files and directories included in the baseline procedure for completeness.

If an email software copy exists to serve as a baseline and is available for comparison during scanning efforts, this is not a finding.
Exchange must have authenticated access set to Integrated Windows Authentication only.To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., networks, web servers, and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement.

Access control policies include identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.

This requirement is applicable to access control enforcement applications (e.g., authentication servers) and other applications that perform information and system access control functions.
Open the Exchange Management Shell and enter the following command:

Set-OwaVirtualDirectory -Identity ‘<IdentityName>’ -WindowsAuthentication $true

Note: The <IdentityName> value must be in single quotes.

Example for the Identity Name: <ServerName>\owa (Default website)
Open the Exchange Management Shell and enter the following command:

Get-OwaVirtualDirectory | Select ServerName, Name, Identity,*Authentication

If the value of “WindowsAuthentication” is not set to “True”, this is a finding.
Exchange Local machine policy must require signed scripts.Scripts often provide a way for attackers to infiltrate a system, especially scripts downloaded from untrusted locations. By setting machine policy to prevent unauthorized script executions, unanticipated system impacts can be avoided. Failure to allow only signed remote scripts reduces the attack vector vulnerabilities from unsigned remote scripts.Open the Exchange Management Shell and enter the following command:

Set-ExecutionPolicy RemoteSigned
Open the Exchange Management Shell and enter the following command:

Get-ExecutionPolicy

If the value returned is not “RemoteSigned”, this is a finding.
Exchange Mailbox databases must reside on a dedicated partition.In the same way that added security layers can provide a cumulative positive effect on security posture, multiple applications can provide a cumulative negative effect. A vulnerability and subsequent exploit to one application can lead to an exploit of other applications sharing the same security context. For example, an exploit to a web server process that leads to unauthorized administrative access to the host system can most likely lead to a compromise of all applications hosted by the same system.

Email services should be installed to a discrete set of directories on a partition that does not host other applications. Email services should never be installed on a Domain Controller/Directory Services server.
Update the EDSP to specify the location where the Exchange Mailbox databases reside or verify that this information is documented by the organization.

Configure the mailbox databases on a dedicated partition.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the location where the Exchange Mailbox databases reside.

Open the Exchange Management Shell and enter the following command:

Get-MailboxDatabase | Select Name, Identity, EdbFilePath

Open Windows Explorer, navigate to the mailbox databases, and verify they are on a dedicated partition.

If the mailbox databases are not on a dedicated partition, this is a finding.
The Exchange Post Office Protocol 3 (POP3) service must be disabled.POP3 is not approved for use within the DoD. It uses a clear-text-based user name and password and does not support the DoD standard for PKI for email access. User name and password could easily be captured from the network, allowing a malicious user to access other system features. Uninstalling or disabling the service will prevent the use of POP3.Open the Windows Power Shell and enter the following command:

services.msc

Navigate to and double-click on “Microsoft Exchange POP3 Backend”.

Click on the “General” tab.

In the “Startup Type” dropdown, select “Disabled”.

Click the “OK” button.
Open the Windows Power Shell and enter the following command:

Get-ItemProperty ‘hklm:\system\currentcontrolset\services\MSExchangePOP3’ | Select Start

Note: The hklm:\system\currentcontrolset\services\MSExchangePOP3 value must be in single quotes.

If the value of “Start” is not set to “4”, this is a finding.
Exchange internal Receive connectors must require encryption.The Simple Mail Transfer Protocol (SMTP) Receive connector is used by Exchange to send and receive messages from server to server using SMTP protocol. This setting controls the encryption strength used for client connections to the SMTP Receive connector. With this feature enabled, only clients capable of supporting secure communications will be able to send mail using this SMTP server. Where secure channels are required, encryption can also be selected.

The use of secure communication prevents eavesdroppers from reading or modifying communications between mail clients and servers. While sensitive message bodies should be encrypted by the sender at the client, requiring a secure connection from the client to the server adds protection by encrypting the sender and recipient information that cannot be encrypted by the sender.

Individually, channel security and encryption have been compromised by attackers. Used together, email becomes a more difficult target, and security is heightened. Failure to enable this feature gives eavesdroppers an opportunity to read or modify messages between the client and server.
Multiple values can be separated by commas, but some values have dependencies and exclusions. AuthMechanism may include other mechanisms as long as the “Tls” is identified.
•Only use the value “None” by itself.
•The value “BasicAuthRequireTLS” requires the values “BasicAuth” and “Tls”.
•The only other value that can be used with ExternalAuthoritative is “Tls”.
•The value “Tls” is required when the value of the RequireTLS parameter is “$true”.
•The value “ExternalAuthoritative” requires the value of the PermissionGroups parameter be set to “ExchangeServers”.
Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -AuthMechanism ‘Tls’

Note: The <IdentityName> value must be in single quotes.

Repeat the procedures for each Receive connector.
Note: AuthMechanism may include other mechanisms as long as the “Tls” is identified.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, AuthMechanism

For each Receive connector, if the value of “AuthMechanism” is not set to “Tls”, this is a finding.
Exchange Internet-facing Send connectors must specify a Smart Host.When identifying a “Smart Host” for the email environment, a logical Send connector is the preferred method.

A Smart Host acts as an Internet-facing concentrator for other email servers. Appropriate hardening can be applied to the Smart Host, rather than at multiple locations throughout the enterprise.

Failure to identify a Smart Host could default to each email server performing its own lookups (potentially through protective firewalls). Exchange servers should not be Internet facing and should therefore not perform any Smart Host functions. When the Exchange servers are Internet facing, they must be configured to identify the Internet-facing server that is performing the Smart Host function.
Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -SmartHosts <‘IP Address of Smart Host’> -DNSRoutingEnabled $false

Note: The <IdentityName> and <IP Address of Smart Host> values must be in single quotes.

Repeat the procedure for each Send connector.
Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, SmartHosts

Identify the Internet-facing connectors.

For each Send connector, if the value of “SmartHosts” does not return the Smart Host IP address, this is a finding.
Exchange email forwarding must be restricted.Auto-forwarded email accounts do not meet the requirement for digital signature and encryption of Controlled Unclassified Information (CUI) and Personally Identifiable Information (PII) in accordance with DoDI 8520.2 (reference ee) and DoD Director for Administration and Management memorandum, “Safeguarding Against and Responding to the Breach of Personally Identifiable Information”.

Use of forwarding set by an administrator interferes with nonrepudiation requirements that each end user be responsible for creation and destination of email data.
Update the EDSP.

Open the Exchange Management Shell and enter the following command:

Set-Mailbox -Identity <‘IdentityName’> -ForwardingSMTPAdddress $null

Note: The <IdentityName> value must be in quotes.
Review the Email Domain Security Plan (EDSP).

Determine any accounts that have been authorized to have email auto-forwarded.

Note: If email auto-forwarding is not being used, this check is not applicable. .

Open the Exchange Management Shell and enter the following commands:

Get-Mailbox | Select Name, Identity, Filter

If any user has a forwarding SMTP address and is not documented in the EDSP, this is a finding.

Note: If no remote SMTP domain matching the mail-enabled user or contact that allows forwarding is configured for users identified with a forwarding address, this function will not work properly.
Exchange Mailboxes must be retained until backups are complete.Backup and recovery procedures are an important part of overall system availability and integrity. Complete backups reduce the chance of accidental deletion of important information and make it possible to have complete recoveries.

It is not uncommon for users to receive and delete messages in the scope of a single backup cycle. This setting ensures at least one backup has been run on the mailbox store before the message physically disappears. By enabling this setting, all messages written to recipients who have accounts on this store will reside in backups even if they have been deleted by the user before the backup has run.
Open the Exchange Management Shell and enter the following command:

Set-MailboxDatabase -Identity <‘IdentityName’> -RetainDeletedItemsUntilBackup $true

Note: The <IdentityName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-MailboxDatabase| Select Name, Identity, RetainDeletedItemsUntilBackup

If the value of “RetainDeletedItemsUntilBackup” is not set to “True”, this is a finding.
Exchange Mail quota settings must not restrict receiving mail.Mail quota settings control the maximum sizes of a user’s mailbox and the system’s response if these limits are exceeded. Mailbox data that is not monitored against a quota increases the risk of mail loss due to filled disk space, which can also render the system unavailable.

Failure to allow mail receipt may impede users from receiving mission-critical data.
Open the Exchange Management Shell and enter the following command:

Set-MailboxDatabase -Identity <‘IdentityName’> -ProhibitSendReceiveQuota Unlimited

Note: The <IdentityName> value must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.
Open the Exchange Management Shell and enter the following command:

Get-MailboxDatabase | Select Name, Identity, ProhibitSendReceiveQuota

If the value of “ProhibitSendReceiveQuota” is not set to “Unlimited”, this is a finding.

or

If the value of “ProhibitSendReceiveQuota” is set to an alternate value and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange email-forwarding SMTP domains must be restricted.Auto-forwarded email accounts do not meet the requirement for digital signature and encryption of Controlled Unclassified Information (CUI) and Personally Identifiable Information (PII) in accordance with DoDI 8520.2 (reference ee) and DoD Director for Administration and Management memorandum, “Safeguarding Against and Responding to the Breach of Personally Identifiable Information”.

Use of forwarding set by an administrator interferes with nonrepudiation requirements that each end user be responsible for creation and destination of email data.
Update the EDSP to specify any accounts that have been authorized to have email auto-forwarded or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set- RemoteDomain -Identity <RemoteDomainIdParameter>
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine any accounts that have been authorized to have email auto-forwarded.

Note: If email auto-forwarding is not being used, this check is not applicable (NA).

Open the Exchange Management Shell and enter the following commands:

Get-RemoteDomain | Select Name, Identity, DomainName, AutoForwardEnabled

If any domain for a user forwarding SMTP address is not documented in the EDSP, this is a finding.

Note: If no remote SMTP domain matching the mail-enabled user or contact that allows forwarding is configured for users identified with a forwarding address, this function will not work properly.
The application must be configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.Configuring the application to implement organization-wide security implementation guides and security checklists ensures compliance with Federal standards and establishes a common security baseline across DoD that reflects the most restrictive security posture consistent with operational requirements.

Configuration settings are the set of parameters that can be changed that affect the security posture and/or functionality of the system. Security-related parameters are those parameters impacting the security state of the application, including the parameters required to satisfy other security control requirements.
Configure web ports to be ports 80 and 443, as specified by PPSM standards.Open a Windows PowerShell Module and enter the following commands: 

Get-Website | Select Name

Get-WebBinding -Name <‘WebSiteName’> | Format-List

If the Web binding values returned are not on standard port 80 for HTTP connections or port 443 for HTTPS connections, this is a finding.

Note: This is excluding the Exchange Back End website which uses 81/444.

Repeat the process for each website.
The applications built-in Malware Agent must be disabled.Malicious code protection mechanisms include but are not limited to anti-virus and malware detection software. To minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated.

Malicious code includes viruses, worms, trojan horses, and spyware. It is not enough to have the software installed; this software must periodically scan the system to search for malware on an organization-defined frequency.

Exchange’s built-in Malware Agent is not designed to address all malicious code protection workloads. This workload is best handled by third-party anti-virus and intrusion prevention software.

Sites must use an approved DoD scanner. Exchange Malware software has a limited scanning capability and does not scan files that are downloaded, opened, or executed.
Open the Exchange Management Shell and enter the following command:

& env:ExchangeInstallPath\Scripts\Disable-Antimalwarescanning.ps1
Open the Exchange Management Shell and enter the following command:

Get-TransportAgent “Malware Agent”

If the value of “Enabled” is set to “True”, this is a finding.
Exchange Connectivity logging must be enabled.A connectivity log is a record of the SMTP connection activity of the outbound message delivery queues to the destination Mailbox server, smart host, or domain. Connectivity logging is available on Hub Transport servers and Edge Transport servers. By default, connectivity logging is disabled. If events are not recorded, it may be difficult or impossible to determine the root cause of system problems or the unauthorized activities of malicious users.

Note: Transport configuration settings apply to the organization/global level of the Exchange SMTP path. By checking and setting them at the Hub server, the setting will apply to both Hub and Edge roles.
Open the Exchange Management Shell and enter the following command:

Set-TransportService -Identity <‘IdentityName’> -ConnectivityLogEnabled $true

Note: The <IdentityName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, ConnectivityLogEnabled

If the value of “ConnectivityLogEnabled” is not set to “True”, this is a finding.
Exchange auto-forwarding email to remote domains must be disabled or restricted.Attackers can use automated messages to determine whether a user account is active, in the office, traveling, and so on. An attacker might use this information to conduct future attacks. Verify Automatic Forwards to remote domains are disabled, except for enterprise mail that must be restricted to forward only to .mil and .gov. domains.

Before enabling this setting, configure a remote domain.
Non-Enterprise Mail Fix Text:

Open the Exchange Management Shell and enter the following command:

Set-RemoteDomain -Identity <‘IdentityName’> -AutoForwardEnabled $false

Note: The <IdentityName> value must be in single quotes.

Enterprise Mail Fix Text:

New-RemoteDomain -Name <NewRemoteDomainName> -DomainName <SMTP Address>

Note: <NewRemoteDomainName> must either be a .mil or .gov domain.

Set-RemoteDomain -Identity <‘RemoteDomainIdentity’> -AutoForwardEnabled $true

Note: The <RemoteDomainIdentity> value must be in single quotes.
Note: Requirement is not applicable on classified or completely closed networks.

Non-Enterprise Mail Check Content:

Open the Exchange Management Shell and enter the following command:

Get-RemoteDomain | Select Identity, AutoForwardEnabled

If the value of AutoForwardEnabled is not set to “False”, this is a finding.

Enterprise Mail Check Content:

If the value of “AutoForwardEnabled” is set to “True”, this is not a finding.

and

In the Exchange Management Shell, enter the following command:

Get-RemoteDomain

If the value of “RemoteDomain” is not set to “.mil” and/or “.gov” domain(s), this is a finding.
Exchange must use encryption for Outlook Web App (OWA) access.This setting controls whether client machines should be forced to use secure channels to communicate with this virtual directory. If this feature is enabled, clients will only be able to communicate with the directory if they are capable of supporting secure communication with the server.

The use of secure communication prevents eavesdroppers from reading or modifying communications between servers and clients. The network and DMZ STIG identify criteria for OWA and Public Folder configuration in the network, including Common Access Card (CAC)-enabled pre-authentication through an application firewall proxy.

Failure to require secure connections on a website increases the potential for unintended eavesdropping or data loss.
Configure the OWA site to require SSL port 443.Open a Exchange Management Shell and enter the following command:

Get-OwaVirtualDirectory | select internalurl, externalurl

If the value returned is not https://, this is a finding.
Exchange must have forms-based authentication disabled.Identification and Authentication provide the foundation for access control. Access to email services applications in the DoD requires authentication using DoD Public Key Infrastructure (PKI) certificates. Authentication for Outlook Web App (OWA) is used to enable web access to user email mailboxes and should assume that certificate-based authentication has been configured. This setting controls whether forms-based logon should be used by the OWA website.

Because the DoD requires Common Access Card (CAC)-based authentication to applications, OWA access must be brokered through an application proxy or other pre-authenticator, which performs CAC authentication prior to arrival at the CA server. The authenticated request is then forwarded directly to OWA, where authentication is repeated without requiring the user to repeat authentication steps. For this scenario to work, the Application Proxy server must have forms-based authentication enabled, and Exchange must have forms-based Authentication disabled.

If forms-based Authentication is enabled on the Exchange CA server, it is evidence that the application proxy server is either not correctly configured, or it may be missing.
Open the Exchange Management Shell and enter the following command:

Set-OwaVirtualDirectory -Identity <‘IdentityName’> -FormsAuthentication $false

Note: <IdentityName> must be in single quotes.

Example for the Identity Name: <ServerName>\owa (Default website)

Restart the ISS service.
Open the Exchange Management Shell and enter the following command:

Get-OwaVirtualDirectory | Select ServerName, Name, Identity, FormsAuthentication

If the value of “FormsAuthentication” is not set to “False”, this is a finding.
Exchange servers must use approved DoD certificates.Server certificates are required for many security features in Exchange; without them, the server cannot engage in many forms of secure communication.

Failure to implement valid certificates makes it virtually impossible to secure Exchange’s communications.
Remove the non-DoD certificate and import the correct DoD certificates.Open the Exchange Management Shell and enter the following command:

Get-ExchangeCertificate | Select CertificateDomains, issuer

If the value of “CertificateDomains” does not indicate it is issued by the DoD, this is a finding.
Exchange must have Administrator audit logging enabled.Unauthorized or malicious data changes can compromise the integrity and usefulness of the data. Automated attacks or malicious users with elevated privileges have the ability to effect change using the same mechanisms as email administrators.

Auditing any changes to access mechanisms not only supports accountability and nonrepudiation for those authorized to define the environment but also enables investigation of changes made by others who may not be authorized.

Note: This administrator auditing feature audits all exchange changes regardless of the user’s assigned role or permissions.
Open the Exchange Management Shell and enter the following command:

Set-AdminAuditLogConfig -AdminAuditLogEnabled $true
Open the Exchange Management Shell and enter the following command:

Get-AdminAuditLogConfig | Select Name, AdminAuditLogEnabled

If the value of “AdminAuditLogEnabled” is not set to “True”, this is a finding.
Exchange must provide Mailbox databases in a highly available and redundant configuration.Exchange Server mailbox databases and any data contained in those mailboxes should be protected. This can be accomplished by configuring Mailbox servers and databases for high availability and site resilience.

A database availability group (DAG) is a component of the Mailbox server high availability and site resilience framework built into Microsoft Exchange Server 2016. A DAG is a group of Mailbox servers that hosts a set of databases and provides automatic database-level recovery from failures that affect individual servers or databases.

A DAG is a boundary for mailbox database replication and database and server switchovers and failovers.

Any server in a DAG can host a copy of a mailbox database from any other server in the DAG. When a server is added to a DAG, it works with the other servers in the DAG to provide automatic recovery from failures that affect mailbox databases, such as a disk, server, or network failure.
Update the EDSP to specify how Exchange Mailbox databases use redundancy.
Access the Exchange Management Shell and add new Database Availability Groups based upon the EDSP using the following command:

New-DatabaseAvailabilityGroup

See the following documentation for options when creating a DAG:
https://docs.microsoft.com/en-us/exchange/high-availability/manage-ha/create-dags?view=exchserver-2019.
Review the Email Domain Security Plan (EDSP).
Determine if the Exchange Mailbox databases are using redundancy.
Open the Exchange Management Shell.
Enter the following command:
Get-DatabaseAvailabilityGroup <DAGName> | Format-List
If the DAG is not displayed, this is a finding.
The Exchange application directory must be protected from unauthorized access.Default product installations may provide more generous access permissions than are necessary to run the application. By examining and tailoring access permissions to more closely provide the least amount of privilege possible, attack vectors that align with user permissions are less likely to access more highly secured areas.Update the EDSP to specify the authorized groups and users that have access to the Exchange application directories or verify that this information is documented by the organization.

Navigate to the Exchange application directory and remove or modify the group or user access permissions.

Note: The default installation directory is \Program Files\Microsoft\Exchange Server\V15.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the authorized groups and users that have access to the Exchange application directories.

Verify the access permissions on the directory match the access permissions listed in the EDSP.

If any group or user has different access permissions, this is a finding.

Note: The default installation directory is \Program Files\Microsoft\Exchange Server\V15.
The Exchange global outbound message size must be controlled.Email system availability depends in part on best practice strategies for setting tuning configurations. Message size limits should be set to 10 megabytes (MB) at most but often are smaller, depending on the organization. The key point in message size is that it should be set globally and should not be set to “unlimited”. Selecting “unlimited” on “MaxReceiveSize” is likely to result in abuse and can contribute to excessive server disk space consumption.

Message size limits may also be applied on send and receive connectors, Public Folders, and on the user account under Active Directory (AD). Changes at these lower levels are discouraged, as the single global setting is usually sufficient. This practice prevents conflicts that could impact availability and simplifies server administration.
Update the EDSP to specify the “MaxSendSize” value or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-TransportConfig -MaxSendSize 10MB

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the global maximum message send size.

Open the Exchange Management Shell and enter the following command:

Get-TransportConfig | Select Name, Identity, MaxSendSize

If the value of “MaxSendSize” is not set to “10MB”, this is a finding.

or

If “MaxSendSize” is set to an alternate value and has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange Outbound Connection Limit per Domain Count must be controlled.Email system availability depends in part on best practice strategies for setting tuning configurations. This configuration controls the maximum number of simultaneous outbound connections from a domain as a delivery tuning mechanism. If the limit is too low, connections may be dropped. If the limit is too high, some domains may use a disproportionate resource share, denying access to other domains. Appropriate tuning reduces risk of data delay or loss.

By default, a limit of 20 simultaneous outbound connections from a domain should be sufficient. The value may be adjusted if justified by local site conditions.
Update the EDSP to specify the “MaxPerDomainOutboundConnection” value or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-TransportService -Identity <‘IdentityName’> -MaxPerDomainOutboundConnections 20

Note: The <IdentityName> value must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the value for Maximum Outbound Domain Connections.

Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, MaxPerDomainOutboundConnections

If the value of “MaxPerDomainOutboundConnections” is not set to “20”, this is a finding.

or

If “MaxPerDomainOutboundConnections” is set to a value other than “20” and has signoff and risk acceptance in the EDSP, this is not a finding.
The Exchange Receive Connector Maximum Hop Count must be 60.Email system availability depends in part on best practice strategies for setting tuning configurations. This setting controls the maximum number of hops (email servers traversed) a message may take as it travels to its destination. Part of the original Internet protocol implementation, the hop count limit prevents a message being passed in a routing loop indefinitely. Messages exceeding the maximum hop count are discarded undelivered.

Recent studies indicate that virtually all messages can be delivered in fewer than 60 hops. If the hop count is set too low, messages may expire before they reach their destinations. If the hop count is set too high, an undeliverable message may cycle between servers, raising the risk of network congestion.
Update the EDSP to specify the “MaxHopCount” value or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -MaxHopCount 60

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each Receive connector.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the Max Hop Count value for Receive connectors.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, MaxHopCount

For each Receive connector, if the value of “MaxHopCount” is not set to “60”, this is a finding.

or

If the value of “MaxHopCount” is set to a value other than “60” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange Message size restrictions must be controlled on Send connectors.Email system availability depends in part on best practice strategies for setting tuning configurations. For message size restrictions, multiple places exist to set or override inbound or outbound message size. Failure to control the configuration strategy can result in loss of data or system availability.

This setting enables the administrator to control the maximum message size on a Send connector. Using connectors to control size limits may necessitate applying message size limitations in multiple places, with the potential of introducing conflicts and impediments in the mail flow. Changing this setting at the connector overrides the global one. Therefore, if operational needs require it, the connector value may be set lower than the global value with the rationale documented in the Email Domain Security Plan (EDSP).
Update the EDSP to specify the “MaxMessageSize” value or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-SendConnector -Identity <‘IdentityName’> -MaxMessageSize <MaxSendSize>

Note: The <IdentityName> value must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedures for each Send connector.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the maximum message send size.

Open the Exchange Management Shell and enter the following command:

Get-SendConnector | Select Name, Identity, MaxMessageSize

For each Send connector, if the value of “MaxMessageSize” is not the same as the global value, this is a finding.

or

If “MaxMessageSize” is set to a numeric value different from the maximum message send size value documented in the EDSP, this is a finding.
Exchange must not send nondelivery reports to remote domains.Attackers can use automated messages to determine whether a user account is active, in the office, traveling, and so on. An attacker might use this information to conduct future attacks. Ensure that nondelivery reports to remote domains are disabled. Before enabling this setting, first configure a remote domain using the Exchange Management Console (EMC) or the New-RemoteDomain cmdlet.Open the Exchange Management Shell and enter the following command:

Set-RemoteDomain -Identity <‘IdentityName’> -NDREnabled $false

Note: The <IdentityName> value must be in single quotes.
NOTE: For the purpose of this requirement, “remote” refers to those domains external to the DoDIN, whether classified or unclassified. NDRs between DoDIN networks is permitted.

Open the Exchange Management Shell and enter the following command:

Get-RemoteDomain | Select Name, Identity, NDREnabled

If the value of “NDREnabled” is not set to “False”, this is a finding.
The Exchange global inbound message size must be controlled.Email system availability depends in part on best practice strategies for setting tuning configurations. Message size limits should be set to 10 megabytes (MB) at most but often are smaller, depending on the organization. The key point in message size is that it should be set globally and should not be set to “unlimited”. Selecting “unlimited” on “MaxReceiveSize” is likely to result in abuse and can contribute to excessive server disk space consumption.

Message size limits may also be applied on SMTP connectors, Public Folders, and on the user account under Active Directory (AD). Changes at these lower levels are discouraged, as the single global setting is usually sufficient. This practice prevents conflicts that could impact availability and simplifies server administration.
Update the EDSP to specify the “MaxReceiveSize” value or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-TransportConfig -MaxReceiveSize 10MB

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the global maximum message receive size.

Open the Exchange Management Shell and enter the following command:

Get-TransportConfig | Select Name, Identity, MaxReceiveSize

If the value of “MaxReceiveSize” is not set to “10MB”, this is a finding.

or

If “MaxReceiveSize” is set to an alternate value and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange Mail Quota settings must not restrict receiving mail.Mail quota settings control the maximum sizes of a user’s mailbox and the system’s response if these limits are exceeded. Mailbox data that is not monitored against a quota increases the risk of mail loss due to filled disk space, which can also render the system unavailable. Multiple controls supply graduated levels of opportunity to respond before risking email service loss.

This control prohibits the user from sending an email when the mailbox limit reaches the prohibit send quota value.

Note: Best practice for this setting is to prohibit the user from sending email when the mailbox reaches 90 percent of capacity.
Update the EDSP to specify the value for the Prohibit Send Quota limit or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-MailboxDatabase -Identity <‘IdentityName’> -ProhibitSendQuota <‘QuotaLimit’>

Note: The <IdentityName> and <QuotaLimit> values must be in single quotes.
Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the value for the Prohibit Send Quota limit.

Open the Exchange Management Shell and enter the following command:

Get-MailboxDatabase | Select Name, Identity, ProhibitSendQuota

If the value of “ProhibitSendQuota” is not set to the site’s Prohibit Send Quota limit, this is a finding.
Exchange Mailbox Stores must mount at startup.Administrator responsibilities include the ability to react to unplanned maintenance tasks or emergency situations that may require Mailbox data manipulation. Occasionally, there may be a need to start the server with “unmounted” data stores if manual maintenance is being performed on them. Failure to uncheck the “do not mount on startup” condition will result in unavailability of mail services.

Correct configuration of this control will prevent unplanned outages due to being enabled. When maintenance is being performed, care should be taken to clear the check box upon task completion so mail stores are available to users (unmounted mailbox stores are not available to users).
Open the Exchange Management Shell and enter the following command:

Set-MailboxDatabase -Identity <‘IdentityName’> -MountAtStartup $true

Note: The <IdentityName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-MailboxDatabase | Select Name, Identity, MountAtStartup

If the value of “MountAtStartup” is not set to “True”, this is a finding.
Exchange Message size restrictions must be controlled on Receive connectors.Email system availability depends in part on best practice strategies for setting tuning configurations. For message size restrictions, multiple places exist to set or override inbound or outbound message size. Failure to control the configuration strategy can result in loss of data or system availability.

This setting enables the administrator to control the maximum message size on receive connectors. Using connectors to control size limits may necessitate applying message size limitations in multiple places, with the potential of introducing conflicts and impediments in the mail flow. Changing this setting at the connector overrides the global one. Therefore, if operational needs require it, the connector value may be set lower than the global value with the rationale documented in the Email Domain Security Plan (EDSP).
Update the EDSP to specify the global maximum message receive size and, if operationally necessary, to document signoff with risk acceptance for the Receive connector to have a different value, or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -MaxMessageSize <‘MaxReceiveSize’>

Note: The <IdentityName> and <MaxReceiveSize> values must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each Receive connector.
Review the EDSP or document that contains this information.

Determine the global maximum message receive size and whether signoff with risk acceptance is documented for the Receive connector to have a different value.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, MaxMessageSize

Identify Internet-facing connectors.

For each Receive connector, if the value of “MaxMessageSize” is not the same as the global value, this is a finding.

or

If “MaxMessageSize” is set to a numeric value different from the global value and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange Receive connectors must control the number of recipients per message.Email system availability depends in part on best practice strategies for setting tuning configurations.

This configuration controls the maximum number of recipients who will receive a copy of a message at one time. This tunable value is related to throughput capacity and can enable the ability to optimize message delivery.

Note: There are two types of default Receive connecters:

Client Servername: Accepts SMTP connections from all non-MAPI clients, such as POP and IMAP. As POP and IMAP are not authorized for use in DoD, these should not be present. Their default value for “MaxRecipientsPerMessage” is “200”.

Default Servername: Accepts connections from other Hub Transport servers and any Edge Transport servers. Their default value for “MaxRecipientsPerMessage” is “5000”.
Update the EDSP to specify the “MaxRecipientsPerMessage” value or verify that this information is documented by the organization.

Open the Exchange Management Shell and enter the following command:

Set-ReceiveConnector -Identity <‘IdentityName’> -MaxRecipientsPerMessage 5000

Note: The <IdentityName> value must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.

Repeat the procedure for each Receive connector.
Note: This requirement applies to IMAP4. IMAP Secure is not restricted and does not apply to this requirement.

Review the Email Domain Security Plan (EDSP) or document that contains this information.

Determine the Maximum Recipients per Message value.

Open the Exchange Management Shell and enter the following command:

Get-ReceiveConnector | Select Name, Identity, MaxRecipientsPerMessage

For each Receive connector, evaluate the “MaxRecipientsPerMessage” value.

For each Receive connector, if the value of “MaxRecipientsPerMessage” is not set to “5000”, this is a finding.

or

If the value of “MaxRecipientsPerMessage” is set to a value other than “5000” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange must not send delivery reports to remote domains.Attackers can use automated messages to determine whether a user account is active, in the office, traveling, and so on. An attacker might use this information to conduct future attacks. Ensure that delivery reports to remote domains are disabled. Before enabling this setting, first configure a remote domain using the Exchange Management Console (EMC) or the New-RemoteDomain cmdlet.Open the Exchange Management Shell and enter the following command:

Set-RemoteDomain -Identity <‘IdentityName’> -DeliveryReportEnabled $false

Note: The <IdentityName> value must be in single quotes.
Open the Exchange Management Shell and enter the following command:

Get-RemoteDomain | Select Identity, DeliveryReportEnabled

If the value of “DeliveryReportEnabled” is not set to “False”, this is a finding.
Exchange Audit record parameters must be set.Log files help establish a history of activities and can be useful in detecting attack attempts. This item declares the fields that must be available in the audit log file in order to adequately research events that are logged.

Audit records should include the following fields to supply useful event accounting:
Object modified, Cmdlet name, Cmdlet parameters, Modified parameters, Caller, Succeeded, and Originating server.
Open the Exchange Management Shell and enter the following command:

Set-AdminAuditLogConfig -AdminAuditLogParameters *
Open the Exchange Management Shell and enter the following command:

Get-AdminAuditLogConfig | Select AdminAuditLogParameters

Note: The value of “*” indicates all parameters are being audited.

If the value of “AdminAuditLogParameters” is not set to “*”, this is a finding.
Exchange must use encryption for RPC client access.This setting controls whether client machines are forced to use secure channels to communicate with the server. If this feature is enabled, clients will only be able to communicate with the server over secure communication channels.

Failure to require secure connections to the client access server increases the potential for unintended eavesdropping or data loss.
Open the Exchange Management Shell and enter the following command:

Set-RpcClientAccess -Server <ServerName> -EncryptionRequired $true
Open the Exchange Management Shell and enter the following command:

Get-RpcClientAccess | Select Server, Name, EncryptionRequired

If the value of “EncryptionRequired” is not set to “True”, this is a finding.
The Exchange Email application must not share a partition with another application.In the same way that added security layers can provide a cumulative positive effect on security posture, multiple applications can provide a cumulative negative effect. A vulnerability and subsequent exploit to one application can lead to an exploit of other applications sharing the same security context. For example, an exploit to a web server process that leads to unauthorized administrative access to the host system can most likely lead to a compromise of all applications hosted by the same system.

Email services should be installed on a partition that does not host other applications. Email services should never be installed on a Domain Controller/Directory Services server.
Update the EDSP with the location of where Exchange is installed.

Install Exchange on a dedicated application directory or partition separate than that of the operating system.
Review the Email Domain Security Plan (EDSP).

Determine if the directory Exchange is installed.

Open Windows Explorer.

Navigate to where Exchange is installed.

If Exchange resides on a directory or partition other than that of the operating system and does not have other applications installed (unless approved by the Information System Security Officer [ISSO]), this is not a finding.
The Exchange Send connector connections count must be limited.The Exchange Send connector setting controls the maximum number of simultaneous outbound connections allowed for a given SMTP connector and can be used to throttle the SMTP service if resource constraints warrant it. If the limit is too low, connections may be dropped. If the limit is too high, some domains may use a disproportionate resource share, denying access to other domains. Appropriate tuning reduces risk of data delay or loss.Update the EDSP to specify the “MaxOutboundConnections” value.

Open the Exchange Management Shell and enter the following command:

Set-TransportServer -Identity <‘IdentityName’> -MaxOutboundConnections 1000

Note: The <IdentityName> value must be in single quotes.

or

Enter the value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP).

Determine the value for SMTP Server Maximum Outbound Connections.

Open the Exchange Management Shell and enter the following command:

Get-TransportService | Select Name, Identity, MaxOutboundConnections

If the value of “MaxOutboundConnections” is not set to “1000”, this is a finding.

or

If “MaxOutboundConnections” is set to a value other than “1000” and has signoff and risk acceptance in the EDSP, this is not a finding.
Exchange must have the most current, approved service pack installed.Failure to install the most current Exchange service pack leaves a system vulnerable to exploitation. Current service packs correct known security and system vulnerabilities.Install the most current, approved service pack.Determine the most current, approved service pack.

Open the Exchange Management Shell and enter the following command:

Get-ExchangeServer | fl Name, AdminDisplayVersion

If the value of “AdminDisplayVersion” does not return the most current, approved service pack, this is a finding.

İlgili Makaleler

2 Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu