Aşağıdaki klavuz tüm Excahnge Sever rollerini kapsar. Dikkatlice gözden geçirilmelidir.
Başlık | Açıklama | İşlem | Kontrol |
---|---|---|---|
The Microsoft Exchange IMAP4 service must be disabled. | The IMAP4 protocol 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 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 Double click the ‘Microsoft Exchange IMAP4’ service and select the General tab. Set the ‘Startup Type’ to ‘Disabled’, click ok. | Open the Windows Power Shell and enter the following command: Get-ItemProperty ‘hklm:\system\currentcontrolset\services\MSExchangeIMAP4’ | Select Start If the value of ‘Start’ is not set to ‘4’, this is a finding. |
HTTP authenticated access must be set to Integrated Windows Authentication only. | This feature controls the authentication method used to connect to the OWA virtual directories. Ensure this is set to Integrated Windows Authentication only. Anonymous access provides for no access control. Basic Authentication transmits the password in the clear and risks exposure, and the other methods are not recommended by Microsoft for this control. Failure to configure this as per the recommendation may result in unrestricted access to OWA virtual directory, passwords being sent in the clear, and/or the inability to correctly authenticate, depending on which change is made. | Open the Exchange Management Shell and enter the following command: Set-OwaVirtualDirectory -WindowsAuthentication $true -Identity ‘<IdentityName>’ | Open the Exchange Management Shell and enter the following command: Get-OwaVirtualDirectory -server ‘<Identity Name>’ | Select Name,Identity,*Authentication If the ‘WindowsAuthentication’ is not ‘True’, this is a finding. If any other result for ‘WindowsAuthentication’ is set to ‘True’, this is a finding. NOTE: Typical results for this command would result in this display: Name : owa (Default Web Site) Identity : <Identity Name>\owa (Default Web Site) BasicAuthentication : False WindowsAuthentication : True DigestAuthentication : False FormsAuthentication : False LiveIdAuthentication : False |
Email Diagnostic log level must be set to low or 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, Medium, 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 huge 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 <ServiceName\Name> -Level Lowest or Set-EventLogLevel -Identity <ServiceName\Name> -Level Low | Open the Exchange Management Shell and enter the following command: Get-EventLogLevel If any Diagnostic “EventLevel” is not set to “Low” or “Lowest”, this is a finding. |
Outlook Anywhere (OA) 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 OA that requires a direct SSL connection from Outlook to the CA server. There is also a constraint where Microsoft supports that the CA server must participate in the 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: Set-OutlookAnywhere -ClientAuthenticationMethod NTLM | Open the Exchange Management Shell and enter the following command: Get-OutlookAnywhere If the value of ‘Client Authentication Method’ is not set to ‘NTLM’, this is a finding. |
The Send Fatal Errors to Microsoft 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. This setting enables an automated log entry to be sent to Microsoft giving general details about the nature and location of the error. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of debugging information would not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of problems in your Exchange organization. At the very least, it could alert them to (possibly) advantageous timing to mount an attack. At worst, it may provide them with information as to which aspects of Exchange are causing problems and might be vulnerable (or at least sensitive) to attack. 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 <‘ServerName’> -ErrorReportingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer –status | Select Name, Identity, ErrorReportingEnabled If the value of ‘ErrorReportingEnabled’ is not set to ‘False’, this is a finding. |
Administrator audit logging must be 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 affect change using the same mechanisms as email administrators. Auditing changes to access mechanisms not only supports accountability and non-repudiation 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 users’ 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 AdminAuditLogEnabled If the value of ‘AdminAuditLogEnabled’ is not set to ‘True’, this is a finding. |
The current, approved service pack must be 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. | Update the system with the latest approved service pack or a supported release. | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer | fl name, AdminDisplayVersion If the value of ‘AdminDisplayVersion’ does not return Version 14.2 (Build 247.5) or greater, this is a finding. |
Encryption must be used for 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 CAC enabled pre-authentication through an application firewall proxy. Failure to require secure connections on a web site increases the potential for unintended eavesdropping or data loss. | Configure the OWA site to require SSL port 443. | Open the Windows PowerShell Modules and enter the following command: Import-module webadministration IIS: cd Sites cd “Default Web Site” cd owa PS IIS:\Sites\Default Web Site\owa> Get-WebConfigurationProperty -filter /system.webServer/security/access -name sslflags Review the result and verify only TLSv1.0 or higher is returned. If not, this is a finding. |
Web email must use standard ports protocols. | PPSM standard defined ports and protocols must be used for all Exchange services. The standard port for HTTP connections is 80 and the standard port for HTTPS connections is 443. Changing the ports to non-standard values provides only temporary and limited protection against automated attacks since these attacks will not likely connect to the custom port. However, a determined attacker may still be able to determine which ports are used for the HTTP and HTTPS protocols by performing a comprehensive port scan. Negative impacts to using nonstandard ports include complexity for the system administrator, custom configurations for connecting clients, risk of port conflict with non-exchange applications, and risk of incompatibility with standard port monitoring applications. | Configure web ports to be port 80 and 443, as specified by PPSM standards. | Open a Windows PowerShell Module and enter the following command: Get-WebBinding -Name <‘WebSiteName’>| Format-List If the Web binding values are not on standard port 80 for HTTP connections or port 443 for HTTPS connections, this is a finding. |
Email software must be monitored for change on INFOCON frequency schedule. | The INFOCON system provides a framework within which the Commander USSTRATCOM regional commanders, service chiefs, base/post/camp/station/vessel commanders, or agency directors can increase the measurable readiness of their networks to match operational priorities. The readiness strategy provides the ability to continuously maintain and sustain one’s own information systems and networks throughout their schedule of deployments, exercises, and operational readiness life cycle independent of network attacks or threats. The system provides a framework of prescribed actions and cycles necessary for reestablishing the confidence level and security of information systems for the commander and thereby supporting the entire Global Information Grid (GIG) (SD 527-1 Purpose). The Exchange software files and directories are vulnerable to unauthorized changes if not adequately protected. An unauthorized change could affect the integrity or availability of email services overall. For this reason, all application software installations must monitor for change against a software baseline that is preserved when installed, and updated periodically as patches or upgrades are installed. Automated and manual schedules for software change monitoring must be compliant with SD527-1 frequencies. Note: Policy Auditor 5.2 or later, File Integrity Monitor (FIM) module will meet the requirement for file integrity checking. The Asset module within HBSS does not meet this requirement. | Implement a process to compare software against a baseline (*.exe, *.bat, *.com, *.cmd, and *.dll) on a frequency required by the prevailing INFOCON level. Document the process and output artifacts in the EDSP. | Access the EDSP baseline section and determine the process and frequency for identifying software changes (*.exe, *.bat, *.com, *.cmd, and *.dll) on servers against a baseline. Examine artifacts identified as outputs of this process. If baseline comparisons are not done on the INFOCON-required schedule, this is a finding. |
Forms-based Authentication must not be enabled. | Identification and Authentication provide the foundation for access control. Access to email services applications in the DoD require 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 login should be used by the OWA web site. 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 | Open the Exchange Management Shell and enter the following command: Get-OwaVirtualDirectory | Select Name, Identity, FormsAuthentication If the value of ‘FormsAuthentication’ is not set to ‘False’, this is a finding. |
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. | Document the services required for the system to operate. Remove or disable any services that are not required. | To view system services open a windows power shell and enter the following command: Get-Service | Where-Object {$_.status -eq ‘running’} The command returns a list of installed services and the status of that service. 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. If the site has not documented the services required for their system(s), this is a finding. If any undocumented or unnecessary services are running, then this is a finding. |
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. | Install Exchange on a dedicated application partition separate than that of the OS. | Access Windows Explorer and identify the OS partition. Navigate to configured partitions, and access the ‘Program Files’ directory. Note the installation partition for Microsoft Exchange. If Exchange resides on a 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. |
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. |
The Microsoft Exchange POP3 service must be disabled. | The POP3 protocol 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 malicious user to access other system features. Uninstalling or disabling the service will prevent the use of the POP3 protocol. | Open the Windows Power Shell and enter the following command: services.msc Double click the ‘Microsoft Exchange POP3’ service and select the General tab. Set the ‘Startup Type’ to ‘Disabled’, click ok. | Open the Windows Power Shell and enter the following command: Get-ItemProperty ‘hklm:\system\currentcontrolset\services\MSExchangePOP3’ | Select Start If the value of ‘Start’ is not set to ‘4’, this is a finding. |
The Public Folder virtual directory must be removed if not in use by the site. | To reduce the vectors through which a server can be attacked, unneeded application components should be disabled or removed. By default, a virtual directory is installed for Public Folders. If an attacker were to intrude into an Exchange CA server and be able to access the public folder web site, it would provide an additional attack vector, provided the virtual directory was present. Once removed, the Public functionality cannot be used without restoring the virtual directory. | Open the Exchange Management Shell and enter the following command: Remove-PublicFolder -Identity <‘Identity’> -Server <‘ServerName’> -Recurse: $true Note: This command removes both the root directory and any subdirectories. | If public folders are in use this check is NA. Open the Exchange Management Shell and enter the following command: Get-PublicFolder | Select Name, Identity If public folders are not in use and directories exist, this is a finding. |
Encryption must be used 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, EncryptionRequired If the value of ‘EncryptionRequired’ is not set to ‘True’, this is a finding. |
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 If the value of ‘AdminAuditLogParameters’ is not set to ‘{*}’, this is a finding. Note: The value of {*} indicates all parameters are being audited. |
Exchange must not send Customer Experience reports to Microsoft. | Log files help establish a history of activities, and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. This setting enables an automated entry to be sent to Microsoft giving general details about how the product is used. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of information does not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of the environment and its configurations. It could alert them to (possibly) advantageous timing or weaknesses toward which to mount an attack. | 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 If the value for CustomerFeedbackEnabled is not set to ‘False’, this is a finding. |
Audit data must be protected 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. | Restrict any unauthorized groups or users from accessing the audit logs. | Obtain the Email Domain Security Plan (EDSP) and locate the authorized groups or users that should have access to the audit data. If any group or user has access to the audit data that is not documented in the EDSP, this is a finding. |
The Microsoft Active Sync directory must be removed. | To reduce the vectors through which a server can be attacked, unneeded application components should be disabled or removed. By default, a virtual directory is installed for Active Sync, and the Exchange application default has Active Sync disabled. If an attacker were to intrude into an Exchange CA server and reactivate Active Sync, this attack vector could once again be open, provided the virtual directory is present. Once removed, the Active Sync functionality cannot be used without restoring the virtual directory, not a trivial process. | Open an Exchange Command Shell and enter the following command: Remove-ActiveSyncVirtualDirectory ServerName\Microsoft-Server-Active-Sync -Confirm $true NOTE: The physical directory must also be deleted. | Open the Exchange Management Shell and enter the following command: Get-ActiveSyncVirtualDirectory | Select Server, Name, Identity, Path If the value of ‘Path’ (actual directory) exists, this is a finding. |
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. | Locate 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\V14. | Obtain the Email Domain Security Plan (EDSP) and locate 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\V14. |
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. The intent of this check is for system administrators to have awareness of performance changes on their network. Notification choices include email an 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. Data elements configured to be monitored should be specific to the organization’s network. . | Open the Exchange Management Console In the left pane, navigate to and select Microsoft Exchange On-Premises <server.domain> –> Toolbox In the Right pane double click on Performance Monitor In the left pane, navigate to and select Performance Logs and Alerts –> Data Collector Sets –> User Defined Right click on User Defined and configure the system to use User Defined data collection 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, expand and navigate Data Collector Sets >> User Defined. If no sets are defined or queues are not being monitored, this is a finding. |
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. By writing log and audit data to a separate partition where separate security contexts protect them, it may offer the ability to protect this information from being modified or removed by the exploit mechanism. | Configure the audit log location to be on a partition drive separate from the application. Document the location in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the audit logs assigned partition. By default the logs are located on the application partition in ‘\Program Files\Microsoft\Exchange Server\V14\Logging\’. If the log files are not on a separate partition from the application, this is a finding. |
Local machine policy must require signed scripts. | Scripts often provide a way for attackers to infiltrate a system, especially those 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 of ‘LocalMachine’ does not return a value of ‘RemoteSigned’, this is a finding. |
Exchange ActiveSync (EAS) must only use certificate-based authentication to access email. | Identification and Authentication provide the foundation for access control. For EAS to be used effectively on DoD networks, client certificate authentication must be used for communications between the MEM and email server. Additionally, the internal and external URLs must be set to the same address, since all EAS traffic must be tunneled to the device from the MEM. The risk associated with email synchronization with CMD should be mitigated by the introduction of MEM products and is specified in the DoD CIO memo dated 6 Apr 2011. The memo states specifically, “Email redirection from the email server (e.g., Exchange Server) to the device shall be controlled via centrally managed server.” When EAS is used on DoD networks, the devices must be managed by an MEM. | Open the Exchange Management Shell and enter the following command: Set-ActiveSyncVirtualDirectory -Identity “ClientAccessServerName\Microsoft-Server-ActiveSync (Default Web Site)” -ClientCertAuth “Required” -WindowsAuthEnabled:$False -InternalAuthenticationMethods “Certificate” –ExternalAuthenticationMethods “Certificate” –ExternalUrl “https://mail-site.easf.csd.disa.mil/Microsoft-Server-ActiveSync” | Open the Exchange Management Shell and enter the following commands: Get-ActiveSyncVirtualDirectory -Identity “<Identity Name>\Microsoft-Server-ActiveSync (Default Web Site)” | fl Basic AuthEnabled,WindowsAuthEnabled,ClientCertAuth,WebSiteSSLEnabled,InternalAuthenticationMethods,ExternalAuthenticationMethods These should be the results returned: BasicAuthEnabled : False WindowsAuthEnabled : False ClientCertAuth : Required WebSiteSSLEnabled : True InternalAuthenticationMethods : {Certificate} ExternalAuthenticationMethods : {Certificate} If the values above are not returned, this is a finding. |
IIS must map client certificates to an approved certificate server | For EAS to be used effectively on DoD networks, client certificate authentication must be used for communications between the MEM and email server. Identification and Authentication provide the foundation for access control. IIS must be mapped to an approved certificate server for client certificates. Additionally, the internal and external URLs must be set to the same address, since all EAS traffic must be tunneled to the device from the MEM. The risk associated with email syncronization with CMD should be mitigated by the introduction of MEM products and is specified in the DoD CIO memo dated 6 Apr 2011. The memo states specifically, “Email redirection from the email server (e.g., Exchange Server) to the device shall be controlled via centrally managed server.” When EAS is used on DoD networks, the devices must be managed by an MEM. | Open a command window and enter the following commands: cd C:\Windows\SysWOW64\InetSrv appcmd unlock config /section:clientCertificateMappingAuthentication appcmd set config “Default Web Site/Microsoft-Server-ActiveSync” -section:clientCertificateMappingAuthentication /enabled:true | Open a command window and enter the following commands: CD C:\Windows\SysWOW64\inetsrv Appcmd.exe list config “Default Web Site/Microsoft-Server-ActiveSync” -section:clientCertificateMappingAuthentication If clientCertificateMappingAuthentication enabled=”true” is not returned, this is a finding. |
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 email software baseline process. Document the details in the EDSP. | Access the EDSP and locate 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. |
Internet Receive Connector connections count must be set to default. | Email system availability depends in part on best practices 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 get 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. | Noting the Internet-facing receive connector name, open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -MaxInboundConnection unlimited If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate 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 on the Edge Transport server. If ‘MaxInboundConnection’ is set to a different numeric value or unlimited, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxInboundConnection’ is not set to 5000, this is a finding. |
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 the need to apply 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 that of the global value with the rationale and documented in the EDSP. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -MaxMessageSize <MaxReceiveSize> If an alternate value is desired from the global value MaxReceiveSize, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message receive size and if 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 or Get-TransportConfig | Select Identity, MaxReceiveSize Identify Internet-facing connectors on the Edge Transport server. 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. If the value of ‘MaxMessageSize’ is not the same as the global value, this is a finding. |
SMTP IP Allow List entries must be empty. | 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. Messages from blank senders, known SPAMMERS, or 0-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 noting identifiers from above, enter the following command: Remove-IPAllowListEntry -Identity <IP Allow List entry ID> | Access the EDSP and 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. If the result returns any values, but has signoff and risk acceptance in the EDSP, this is not a finding. |
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 <‘ReceiveConnector’> -AuthMechanism ‘Tls’ | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, AuthMechanism If the value of ‘AuthMechanism’ is not set to ‘Tls’, this is a finding. |
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) then 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 <‘ReceiveConnector’> -PermissionGroups and enter a valid value other than ‘AnonymousUsers’. | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, PermissionGroups If the value of ‘PermissionGroups’ is ‘AnonymousUsers’ for any non-internet connector, this is a finding. |
Receive Connector timeout must be limited. | 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. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -ConnectionTimeout 00:05:00 or other value as identified by the Email Domain Security Plan. | Obtain the Email Domain Security Plan (EDSP) and locate the ‘Connection Timeout’ value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, ConnectionTimeout If the value of ‘ConnectionTimeout’ is set to 00:05:00, this is not a finding. If ‘ConnectionTimeout’ is set to other than 00:05:00, and has signoff and risk acceptance in the EDSP, this is not a finding. |
Email software must be monitored for change on INFOCON frequency schedule. | The INFOCON system provides a framework within which the Commander USSTRATCOM regional commanders, service chiefs, base/post/camp/station/vessel commanders, or agency directors can increase the measurable readiness of their networks to match operational priorities. The readiness strategy provides the ability to continuously maintain and sustain one’s own information systems and networks throughout their schedule of deployments, exercises, and operational readiness life cycle independent of network attacks or threats. The system provides a framework of prescribed actions and cycles necessary for reestablishing the confidence level and security of information systems for the commander and thereby supporting the entire Global Information Grid (GIG) (SD 527-1 Purpose). The Exchange software files and directories are vulnerable to unauthorized changes if not adequately protected. An unauthorized change could affect the integrity or availability of email services overall. For this reason, all application software installations must monitor for change against a software baseline that is preserved when installed, and updated periodically as patches or upgrades are installed. Automated and manual schedules for software change monitoring must be compliant with SD527-1 frequencies. Note: Policy Auditor 5.2 or later, File Integrity Monitor (FIM) module will meet the requirement for file integrity checking. The Asset module within HBSS does not meet this requirement. | Implement a process to compare software against a baseline (*.exe, *.bat, *.com, *.cmd, and *.dll) on a frequency required by the prevailing INFOCON level. Document the process and output artifacts in the EDSP. | Access the EDSP baseline section and determine the process and frequency for identifying software changes (*.exe, *.bat, *.com, *.cmd, and *.dll) on servers against a baseline. Examine artifacts identified as outputs of this process. If baseline comparisons are not done on the INFOCON-required schedule, this is a finding. |
Filtered messages must be archived. | By performing filtering at the perimeter, up to 90% 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 <‘SmtpAddressOfMailbox’> | Open the Exchange Management Shell and enter the following command: Get-ContentFilterConfig | Select QuarantineMailbox If no SMTP address is assigned to ‘QuarantineMailbox’, this is a finding. |
Internet facing receive connectors must offer TLS before using basic authentication. | Sending unencrypted email over the Internet increases the risk that messages can be intercepted or altered. Transport Layer Security (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 <‘ReceiveConnector’> -AuthMechanism ‘Tls, BasicAuth, BasicAuthRequireTLS’ | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector -Identity <‘ServerUnderReview\ReceiveConnector’> | Select AuthMechanism If the value of ‘AuthMechanism’ is not set to ‘Tls, BasicAuth, BasicAuthRequireTLS’, this is a finding. |
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. There are several controls that 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 <‘ReceiveConnector’> -DomainSecureEnabled ‘True’ | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, DomainSecureEnabled If the value of ‘DomainSecureEnabled’ is not set to ‘True’, this is a finding. |
SMTP IP Allow List Connection 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. Messages from blank senders, known SPAMMERS, or 0-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 | fl If the value for “Enabled” is set to “True” this is not a finding. |
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. | Install Exchange on a dedicated application partition separate than that of the OS. | Access Windows Explorer and identify the OS partition. Navigate to configured partitions, and access the ‘Program Files’ directory. Note the installation partition for Microsoft Exchange. If Exchange resides on a 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 must not send auto 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 <‘RemoteDomainName’> -AutoReplyEnabled $false | Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | select identity, AutoReplyEnabled If the value of ‘AutoReplyEnabled’ is not set to ‘False’, this is a finding. |
External/Internet bound automated response messages must be disabled. | SPAM originators, in an effort to refine mailing lists, sometimes use a technique where they monitor transmissions for automated bounce back messages, such as ‘Out of Office’ messages. Automated messages include such items as Out of Office responses, non-delivery messages, or 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 -AllowedOOFType ‘InternalLegacy’ -Identity ‘default’ | Open the Exchange Management Shell and enter the following command: Get-RemoteDomain -Identity ‘default’ | Select Name, Identity, AllowedOOFType If the value of ‘AllowedOOFType’ is set to ‘External’ or ‘ExternalLegacy’, this is a finding. |
Email Diagnostic log level must be set to low or 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, Medium, 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 huge 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 <ServiceName\Name> -Level Lowest or Set-EventLogLevel -Identity <ServiceName\Name> -Level Low | Open the Exchange Management Shell and enter the following command: Get-EventLogLevel If any Diagnostic “EventLevel” is not set to “Low” or “Lowest”, this is a finding. |
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. |
The Send Fatal Errors to Microsoft 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. This setting enables an automated log entry to be sent to Microsoft giving general details about the nature and location of the error. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of debugging information would not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of problems in your Exchange organization. At the very least, it could alert them to (possibly) advantageous timing to mount an attack. At worst, it may provide them with information as to which aspects of Exchange are causing problems and might be vulnerable (or at least sensitive) to attack. 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 <‘ServerName’> -ErrorReportingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer –status | Select Name, Identity, ErrorReportingEnabled If the value of ‘ErrorReportingEnabled’ is not set to ‘False’, this is a finding. |
Global outbound message size must be controlled. | Email system availability depends in part on best practices strategies for setting tuning configurations. Message size limits should be set to 10 megabytes at most, but often are smaller, depending on the organization. The key point in message size is that it should be set globally, and it should not be set to ‘unlimited’. Selecting ‘unlimited’ on either field 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 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 it simplifies server administration. | Open the Exchange Management Shell and enter the following command: Set-TransportConfig -MaxSendSize 10MB If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message send size. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Identity, MaxSendSize If the value of ‘MaxSendSize’ is set to 10MB, this is not a finding. If the value of ‘MaxSendSize’ is set to an alternate value, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxSendSize’ is set to “Unlimited”, this is a finding. |
Recipient 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. Messages from blank senders, known SPAMMERS, or 0-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 Enabled If the value of ‘Enabled’ is not set to ‘True’, this is a finding. |
The current, approved service pack must be 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. | Update the system with the latest approved service pack or a supported release. | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer | fl name, AdminDisplayVersion If the value of ‘AdminDisplayVersion’ does not return Version 14.2 (Build 247.5) or greater, this is a finding. |
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 <‘SendConnector’> | Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity Review the naming for connectors. If the connectors are not clearly named for purpose and direction, this is a finding. |
Message size restrictions must be controlled on Send 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 a send connector. Using connectors to control size limits may necessitate the need to apply 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 that of the global value with the rationale and documented in the EDSP. | Open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <‘SendConnector’> -MaxMessageSize <MaxSendSize> If an alternate value is desired from the global value MaxSendSize, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message send size and if 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-SendConnector | Select Identity, MaxMessageSize or Get-TransportConfig | Select Identity, MaxSendSize 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. If the value of ‘MaxMessageSize’ is not the same as the global value, this is a finding. |
Send Connectors delivery retries must be controlled. | This setting controls the rate at which delivery attempts from the home domain are retried, 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 too far apart, then 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 as a result, 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. | Open the Exchange Management Shell and enter the following command: Set-TransportServer -Identity <‘ServerUnderReview’> -TransientFailureRetryCount 10 or other value as identified by the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘Transient Failure Retry Count’. Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, TransientFailureRetryCount If the value of ‘TransientFailureRetryCount’ is set to 10 or less, this is not a finding. If the value of ‘TransientFailureRetryCount’ is set to more than 10, and has signoff and risk acceptance in the EDSP, this is not a finding. |
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 too high, some domains may use a disproportionate resource share, denying access to other domains. Appropriate tuning reduces risk of data delay or loss. | Open the Exchange Management Shell and enter the following command: Set-TransportServer -Identity <‘ServerUnderReview’> -MaxOutboundConnections 1000. If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘SMTP Server Maximum Outbound Connections’. Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, MaxOutboundConnections If the value of ‘MaxOutboundConnections’ is set to 1000 this is not a finding. 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. |
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 email software baseline process. Document the details in the EDSP. | Access the EDSP and locate 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. |
Messages with blank senders must be rejected. | By performing filtering at the perimeter, up to 90% 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 resource 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 | Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig | Select Action If the value of ‘Action ‘ is not set to ‘Reject’, this is a finding. |
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. | Document the services required for the system to operate. Remove or disable any services that are not required. | To view system services open a windows power shell and enter the following command: Get-Service | Where-Object {$_.status -eq ‘running’} The command returns a list of installed services and the status of that service. 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. If the site has not documented the services required for their system(s), this is a finding. If any undocumented or unnecessary services are running, then this is a finding. |
Global inbound message size must be controlled. | Email system availability depends in part on best practices strategies for setting tuning configurations. Message size limits should be set to 10 megabytes at most, but often are smaller, depending on the organization. The key point in message size is that it should be set globally, and it should not be set to ‘unlimited’. Selecting ‘unlimited’ on either field 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 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 it simplifies server administration. | Open the Exchange Management Shell and enter the following command: Set-TransportConfig -MaxReceiveSize 10MB If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message receive size. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Identity, MaxReceiveSize If the value of ‘MaxReceiveSize’ is set to 10MB, this is not a finding. If the value of ‘MaxReceiveSize’ is set to an alternate value, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxReceiveSize’ is set to “Unlimited”, this is a finding. |
Messages with blank sender field must be filtered. | By performing filtering at the perimeter, up to 90% 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 resource 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 | Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig | Select BlankSenderBlockingEnabled If the value of ‘BlankSenderBlockingEnabled’ is not set to ‘True’, this is a finding. |
Non-existent 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, of course, are deemed to exist, and are therefore used in future SPAM mailings. To prevent this disclosure of existing email accounts to Spammers, this feature should not be employed. Instead, it is recommended that all messages be received, then evaluated and disposed of without enabling the sender to determine recipients that are existing vs. non-existing. | Open the Exchange Management Shell and enter the following command: Set-RecipientFilterConfig -RecipientValidationEnabled $False | Open the Exchange Management Shell and enter the following command: Get-RecipientFilterConfig | Select RecipientValidationEnabled If the value of ‘RecipientValidationEnabled’ is not set to ‘False’, this is a finding. |
Sender Filter must block accepted domains at the edge. | 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 block messages originating from specific sources. Most Black List 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 0-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. | Open the Exchange Management Shell and enter the following command: Set-SenderFilterConfig -BlockedDomains <domain list> Or Set-SenderFilterConfig -BlockedDomainsAndSubdomains <domain list> Enter the list of accepted domains for this email system. Document the configuration in the EDSP. | Access the EDSP for the list of accepted domains for which this server accepts inbound email. Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig If the value for ‘BlockedDomains’ or ‘BlockedDomainsAndSubdomains’ does not reflect the list of accepted domains, this is a finding. |
Messages with malformed from address must be rejected. | Sender Identification (SID) is an email anti-spam sanitization process. Sender ID uses DNS MX record lookups to verify the 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 non-compliant software, but is more likely to be SPAM. | Open the Exchange Management Shell and enter the following command: Set-SenderIdConfig -SpoofedDomainAction Reject | 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. |
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. There are several controls that 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 <‘SendConnector’> -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. |
Receive Connectors must control the number of recipients per message. | Email system availability depends in part on best practices 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: This Receive connector 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: This Receive connector accepts connections from other Hub Transport servers and any Edge Transport servers. Their default value for MaxRecipientsPerMessage is 5000. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -MaxRecipientsPerMessage 5000 or other value as identified by the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate 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. If the value of ‘Maximum Recipients per Message’ is set to a value other than 5000, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxRecipientsPerMessage’ is not set to 5000, this is a finding. |
Receive Connectors must control the number of recipients chunked on a single message. | 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 enable ‘chunking’ on received messages as they arrive at the domain. This is done so that 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 <‘ReceiveConnector’> -ChunkingEnabled $true | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, ChunkingEnabled If the value of ‘ChunkingEnabled’ is set to ‘True’, this is not a finding. |
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 <‘ReceiveConnector’> | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity Review the naming for connectors. If the connectors are not clearly named for purpose and direction, this is a finding. |
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. Ensure 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 first configure a remote domain. | Non- Enterprise Mail Fix Text: Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <‘RemoteDomainName’> -AutoForwardEnabled $false Enterprise Mail Fix Text: New-RemoteDomain -Name <Descriptive Name> -DomainName <SMTP address space> Set-RemoteDomain -Identity <‘RemoteDomainName’> -AutoForwardEnabled $true | 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 and enter the following command: Get-RemoteDomain If the value of ‘RemoteDomain ‘ is not set to a ‘ .mil’ and/or ‘.gov ‘ domain(s), this is a finding. |
Tarpitting interval must be set. | Tarpitting is the practice of artificially delaying server responses for specific 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 so that the cost effectiveness of sending SPAM is reduced and directory harvest attacks may be thwarted. A directory harvest attack is an attempt to collect valid email addresses from a particular organization so that 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 discards 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 <‘ReceiveConnector’> -TarpitInterval 00:00:05 | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, TarpitInterval If the value of ‘TarpitInterval’ is not set to 00:00:05 or greater, this is a finding. |
Receive Connector Maximum Hop Count must be 60. | Email system availability depends in part on best practices 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 set too high, an undeliverable message may cycle between servers, raising the risk of network congestion. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -MaxHopCount 60 If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘Receive Connectors”. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select name, MaxHopCount If the value of ‘MaxHopCount’ is set to 60 this is not a finding. 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. |
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 FORGERY 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 | 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. |
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. Messages from blank senders, known SPAMMERS, or 0-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 | Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig | Select Enabled If the value of ‘Enabled’ is not set to ‘True’, this is a finding. |
Exchange must not send Customer Experience reports to Microsoft. | Log files help establish a history of activities, and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. This setting enables an automated entry to be sent to Microsoft giving general details about how the product is used. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of information does not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of the environment and its configurations. It could alert them to (possibly) advantageous timing or weaknesses toward which to mount an attack. | 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 If the value for CustomerFeedbackEnabled is not set to ‘False’, this is a finding. |
Audit data must be protected 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. | Restrict any unauthorized groups or users from accessing the audit logs. | Obtain the Email Domain Security Plan (EDSP) and locate the authorized groups or users that should have access to the audit data. If any group or user has access to the audit data that is not documented in the EDSP, this is a finding. |
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. | Locate 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\V14. | Obtain the Email Domain Security Plan (EDSP) and locate 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\V14. |
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. The intent of this check is for system administrators to have awareness of performance changes on their network. Notification choices include email an 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. Data elements configured to be monitored should be specific to the organization’s network. . | Open the Exchange Management Console In the left pane, navigate to and select Microsoft Exchange On-Premises <server.domain> –> Toolbox In the Right pane double click on Performance Monitor In the left pane, navigate to and select Performance Logs and Alerts –> Data Collector Sets –> User Defined Right click on User Defined and configure the system to use User Defined data collection 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, expand and navigate Data Collector Sets >> User Defined. If no sets are defined or queues are not being monitored, this is a finding. |
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. By writing log and audit data to a separate partition where separate security contexts protect them, it may offer the ability to protect this information from being modified or removed by the exploit mechanism. | Configure the audit log location to be on a partition drive separate from the application. Document the location in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the audit logs assigned partition. By default the logs are located on the application partition in ‘\Program Files\Microsoft\Exchange Server\V14\Logging\’. If the log files are not on a separate partition from the application, this is a finding. |
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 they can 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, which has been estimated as comprising up to 90% 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’ Services vendor provides a value for this field, usually the DNS suffix for their domain. | Open the Exchange Management Shell and enter the following command: Set-IPBlockListProvider -Name <Provider Name> [Additional optional parameters as required by the service provider] Document the configuration in the EDSP. | Access the EDSP for 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 configured, this is not a finding. |
Sender reputation filter must be enabled. | By performing filtering at the perimeter, up to 90% 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 anti-SPAM 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 | Open the Exchange Management Shell and enter the following command: Get-SenderReputationConfig | Select Enabled If the value of ‘Enabled’ is not set to ‘True’, this is a finding. |
Sender reputation filter must identify SPAM block level. | By performing filtering at the perimeter, up to 90% 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 anti-SPAM 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. | Open the Exchange Management Shell and enter the following command: Set-SenderReputationConfig -SrlBlockThreshold 6. If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Open the Exchange Management Shell and enter the following command: Get-SenderReputationConfig | Select SrlBlockThreshold If the value of ‘SrlBlockThreshold’ is not set to ‘6’, this is a finding. 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 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 EMC or the New-RemoteDomain cmdlet. | Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <‘RemoteDomainName’> -DeliveryReportEnabled $false | 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 must not send non-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 non-delivery reports to remote domains are disabled. Before enabling this setting first configure a remote domain using the EMC or the New-RemoteDomain cmdlet. | Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <‘RemoteDomainName’> -NDREnabled $false | Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | select identity, NDREnabled If the value of ‘NDREnabled’ is not set to ‘False’, this is a finding. |
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-TransportServer -Identity <‘ServerUnderReview’> -ConnectivityLogEnabled $true | Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, ConnectivityLogEnabled If the value of ‘ConnectivityLogEnabled’ is not set to ‘True’, this is a finding. |
Local machine policy must require signed scripts. | Scripts often provide a way for attackers to infiltrate a system, especially those 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 of ‘LocalMachine’ does not return a value of ‘RemoteSigned’, this is a finding. |
Internet facing send Connectors must specify a Smart Host. | In the case of 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, however, 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 <‘SendConnector’> -SmartHosts <‘IP Address of Smart Host’> -DNSRoutingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, SmartHosts Identify the Internet facing connectors. If the value of ‘SmartHosts’ does not return the Smart Host IP Address, this is a finding. |
Global recipient count limit must be set. | Email system availability depends in part on best practices 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 ensures 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. | Set-transportConfig -‘MaxRecipientEnvelopeLimit’ 5000 Restart the “Microsoft Exchange Information Store” service. If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message recipient count. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Identity, MaxRecipientEnvelopeLimit If the value of ‘MaxRecipientEnvelopeLimit’ is set to 5000, this is not a finding. If the value of ‘MaxRecipientEnvelopeLimit’ value is set to an alternate value, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxRecipientEnvelopeLimit’ is set to ‘Unlimited’, this is a finding. |
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 *.chm *.inf *.mdt *.prf *.vbe *.shtm *.cmd *.ins *.mdw *.prg *.vbs *.shtml *.com *.isp *.mdz *.reg *.wsc *.stm *.cpl *.js *.msc *.scf *.wsf | Open the Exchange Management Shell and enter the following command: Add-AttachmentFilterEntry -Name <‘*.FileExtension’> -Type FileName | Obtain the Email Domain Security Plan (EDSP) and locate the list of undesirable attachment types that should be stripped. Open the Exchange Management Shell and enter the following command: Get-AttachmentFilterEntry If the values returned are different from the EDSP documented attachment types, this is a finding. |
SPAM evaluation filter must be enabled. | By performing filtering at the perimeter, up to 90% 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 (heuristic) 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 | 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. |
Outbound Connection Limit per Domain Count must be controlled. | Email system availability depends in part on best practices 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 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. | Open the Exchange Management Shell and enter the following command: Set-TransportServer -Identity <‘ServerUnderReview’> -MaxPerDomainOutboundConnections 20 If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘Maximum Domain Connections’ and the server under review. Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, MaxPerDomainOutboundConnections If the value of ‘MaxPerDomainOutboundConnections’ is set to 20 this is not a finding. 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. |
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, 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 (OS) 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 <‘ReceiveConnector’> -Banner ‘220 SMTP Server Ready’ | 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. |
Outbound Connection Timeout must be 10 or less. | Email system availability depends in part on best practices 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. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -ConnectionInactivityTimeOut 00:10:00 or other value as identified by the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the ‘Connection Timeout’ value. Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, ConnectionInactivityTimeOut If the value of ‘ConnectionInactivityTimeOut’ is set to 00:10:00, this is not a finding. If ‘ConnectionInactivityTimeOut’ is set to other than 00:10:00, and has signoff and risk acceptance in the EDSP, this is not a finding. |
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. There are several controls that 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 <‘SendConnector’> -TlsDomain <‘SMTP Domain’> <‘SMTP Domain’> Note: ‘SMTP Domain’ is the internal SMTP domain within the organization. | 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. |
Accepted domains must be 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. | Open the Exchange Management Shell and enter the following command: Set-AcceptedDomain -Identity <‘ValueInEDSP’> -MakeDefault $true | Obtain the Email Domain Security Plan (EDSP) and locate the ‘Accepted Domain’ values. Open the Exchange Management Shell and enter the following command: Get-AcceptedDomain If the value for ‘AcceptedDomains’ is not set to the value in the EDSP, this is a finding. |
Internal Send Connectors must use Domain Security (Mutual Authentication TLS). | The Simple Mail Transfer Protocol (SMTP) connector is used by Exchange to send and receive messages from server to server. There are several controls that 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 <‘InternalSendConnector’> -DomainSecureEnabled $true | Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, DomainSecureEnabled If the value of ‘DomainSecureEnabled’ is not set to ‘True’, this is a finding. |
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 the need to apply 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 that of the global value with the rationale and documented in the EDSP. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -MaxMessageSize <MaxReceiveSize> If an alternate value is desired from the global value MaxReceiveSize, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message receive size and if 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 or Get-TransportConfig | Select Identity, MaxReceiveSize Identify Internet-facing connectors on the Edge Transport server. 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. If the value of ‘MaxMessageSize’ is not the same as the global value, this is a finding. |
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 <‘ReceiveConnector’> -AuthMechanism ‘Tls’ | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, AuthMechanism If the value of ‘AuthMechanism’ is not set to ‘Tls’, this is a finding. |
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) then 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 <‘ReceiveConnector’> -PermissionGroups and enter a valid value other than ‘AnonymousUsers’. | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, PermissionGroups If the value of ‘PermissionGroups’ is ‘AnonymousUsers’ for any non-internet connector, this is a finding. |
Receive Connector timeout must be limited. | 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 idle connections may be maintained for unnecessarily long time periods, preventing new connections from being established. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -ConnectionTimeout 00:10:00 or other value as identified by the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the ‘Connection Timeout’ value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, ConnectionTimeout If the value of ‘ConnectionTimeout’ is set to 00:10:00, this is not a finding. If ‘ConnectionTimeout’ is set to other than 00:10:00, and has signoff and risk acceptance in the EDSP, this is not a finding. |
Exchange must not send auto 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 <‘RemoteDomainName’> -AutoReplyEnabled $false | Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | select identity, AutoReplyEnabled If the value of ‘AutoReplyEnabled’ is not set to ‘False’, this is a finding. |
External/Internet bound automated response messages must be disabled. | SPAM originators, in an effort to refine mailing lists, sometimes use a technique where they monitor transmissions for automated bounce back messages, such as ‘Out of Office’ messages. Automated messages include such items as Out of Office responses, non-delivery messages, or 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 -AllowedOOFType ‘InternalLegacy’ -Identity ‘default’ | Open the Exchange Management Shell and enter the following command: Get-RemoteDomain -Identity ‘default’ | Select Name, Identity, AllowedOOFType If the value of ‘AllowedOOFType’ is set to ‘External’ or ‘ExternalLegacy’, this is a finding. |
Email Diagnostic log level must be set to low or 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, Medium, 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 huge 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 <ServiceName\Name> -Level Lowest or Set-EventLogLevel -Identity <ServiceName\Name> -Level Low | Open the Exchange Management Shell and enter the following command: Get-EventLogLevel If any Diagnostic “EventLevel” is not set to “Low” or “Lowest”, this is a finding. |
Internal Send Connectors must use Domain Security (Mutual Authentication TLS). | The Simple Mail Transfer Protocol (SMTP) connector is used by Exchange to send and receive messages from server to server. There are several controls that 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 <‘InternalSendConnector’> -DomainSecureEnabled $true | Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, DomainSecureEnabled If the value of ‘DomainSecureEnabled’ is not set to ‘True’, this is a finding. |
The Send Fatal Errors to Microsoft 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. This setting enables an automated log entry to be sent to Microsoft giving general details about the nature and location of the error. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of debugging information would not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of problems in your Exchange organization. At the very least, it could alert them to (possibly) advantageous timing to mount an attack. At worst, it may provide them with information as to which aspects of Exchange are causing problems and might be vulnerable (or at least sensitive) to attack. 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 <‘ServerName’> -ErrorReportingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer –status | Select Name, Identity, ErrorReportingEnabled If the value of ‘ErrorReportingEnabled’ is not set to ‘False’, this is a finding. |
Administrator audit logging must be 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 affect change using the same mechanisms as email administrators. Auditing changes to access mechanisms not only supports accountability and non-repudiation 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 users’ 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 AdminAuditLogEnabled If the value of ‘AdminAuditLogEnabled’ is not set to ‘True’, this is a finding. |
The current, approved service pack must be 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. | Update the system with the latest approved service pack or a supported release. | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer | fl name, AdminDisplayVersion If the value of ‘AdminDisplayVersion’ does not return Version 14.2 (Build 247.5) or greater, this is a finding. |
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 <‘SendConnector’> | Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity Review the naming for connectors. If the connectors are not clearly named for purpose and direction, this is a finding. |
Message size restrictions must be controlled on Send 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 a send connector. Using connectors to control size limits may necessitate the need to apply 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 that of the global value with the rationale and documented in the EDSP. | Open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <‘SendConnector’> -MaxMessageSize <MaxSendSize> If an alternate value is desired from the global value MaxSendSize, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message send size and if 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-SendConnector | Select Identity, MaxMessageSize or Get-TransportConfig | Select Identity, MaxSendSize 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. If the value of ‘MaxMessageSize’ is not the same as the global value, this is a finding. |
Send Connectors delivery retries must be controlled. | This setting controls the rate at which delivery attempts from the home domain are retried, 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 too far apart, then 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 as a result, 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. | Open the Exchange Management Shell and enter the following command: Set-TransportServer -Identity <‘ServerUnderReview’> -TransientFailureRetryCount 10 or other value as identified by the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘Transient Failure Retry Count’. Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, TransientFailureRetryCount If the value of ‘TransientFailureRetryCount’ is set to 10 or less, this is not a finding. If the value of ‘TransientFailureRetryCount’ is set to more than 10, and has signoff and risk acceptance in the EDSP, this is not a finding. |
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 too high, some domains may use a disproportionate resource share, denying access to other domains. Appropriate tuning reduces risk of data delay or loss. | Open the Exchange Management Shell and enter the following command: Set-TransportServer -Identity <‘ServerUnderReview’> -MaxOutboundConnections 1000. If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘SMTP Server Maximum Outbound Connections’. Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, MaxOutboundConnections If the value of ‘MaxOutboundConnections’ is set to 1000 this is not a finding. 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. |
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 email software baseline process. Document the details in the EDSP. | Access the EDSP and locate 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. |
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. | Document the services required for the system to operate. Remove or disable any services that are not required. | To view system services open a windows power shell and enter the following command: Get-Service | Where-Object {$_.status -eq ‘running’} The command returns a list of installed services and the status of that service. 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. If the site has not documented the services required for their system(s), this is a finding. If any undocumented or unnecessary services are running, then this is a finding. |
Global inbound message size must be controlled. | Email system availability depends in part on best practices strategies for setting tuning configurations. Message size limits should be set to 10 megabytes at most, but often are smaller, depending on the organization. The key point in message size is that it should be set globally, and it should not be set to ‘unlimited’. Selecting ‘unlimited’ on either field 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 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 it simplifies server administration. | Open the Exchange Management Shell and enter the following command: Set-TransportConfig -MaxReceiveSize 10MB If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message receive size. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Identity, MaxReceiveSize If the value of ‘MaxReceiveSize’ is set to 10MB, this is not a finding. If the value of ‘MaxReceiveSize’ is set to an alternate value, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxReceiveSize’ is set to “Unlimited”, this is a finding. |
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. | Install Exchange on a dedicated application partition separate than that of the OS. | Access Windows Explorer and identify the OS partition. Navigate to configured partitions, and access the ‘Program Files’ directory. Note the installation partition for Microsoft Exchange. If Exchange resides on a 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. |
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. |
Global outbound message size must be controlled. | Email system availability depends in part on best practices strategies for setting tuning configurations. Message size limits should be set to 10 megabytes at most, but often are smaller, depending on the organization. The key point in message size is that it should be set globally, and it should not be set to ‘unlimited’. Selecting ‘unlimited’ on either field 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 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 it simplifies server administration. | Open the Exchange Management Shell and enter the following command: Set-TransportConfig -MaxSendSize 10MB If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message send size. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Identity, MaxSendSize If the value of ‘MaxSendSize’ is set to 10MB, this is not a finding. If the value of ‘MaxSendSize’ is set to an alternate value, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxSendSize’ is set to “Unlimited”, this is a finding. |
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. There are several controls that 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 <‘SendConnector’> -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. |
Receive Connectors must control the number of recipients per message. | Email system availability depends in part on best practices 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: This Receive connector 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: This Receive connector accepts connections from other Hub Transport servers and any Edge Transport servers. Their default value for MaxRecipientsPerMessage is 5000. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -MaxRecipientsPerMessage 5000 or other value as identified by the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate 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. If the value of ‘Maximum Recipients per Message’ is set to a value other than 5000, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxRecipientsPerMessage’ is not set to 5000, this is a finding. |
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 <‘ReceiveConnector’> | Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity Review the naming for connectors. If the connectors are not clearly named for purpose and direction, this is a finding. |
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. Ensure 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 first configure a remote domain. | Non- Enterprise Mail Fix Text: Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <‘RemoteDomainName’> -AutoForwardEnabled $false Enterprise Mail Fix Text: New-RemoteDomain -Name <Descriptive Name> -DomainName <SMTP address space> Set-RemoteDomain -Identity <‘RemoteDomainName’> -AutoForwardEnabled $true | 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 and enter the following command: Get-RemoteDomain If the value of ‘RemoteDomain ‘ is not set to a ‘ .mil’ and/or ‘.gov ‘ domain(s), this is a finding. |
Receive Connector Maximum Hop Count must be 60. | Email system availability depends in part on best practices 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 set too high, an undeliverable message may cycle between servers, raising the risk of network congestion. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -MaxHopCount 60 If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘Receive Connectors”. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select name, MaxHopCount If the value of ‘MaxHopCount’ is set to 60 this is not a finding. 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. |
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 If the value of ‘AdminAuditLogParameters’ is not set to ‘{*}’, this is a finding. Note: The value of {*} indicates all parameters are being audited. |
Exchange must not send Customer Experience reports to Microsoft. | Log files help establish a history of activities, and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. This setting enables an automated entry to be sent to Microsoft giving general details about how the product is used. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of information does not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of the environment and its configurations. It could alert them to (possibly) advantageous timing or weaknesses toward which to mount an attack. | 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 If the value for CustomerFeedbackEnabled is not set to ‘False’, this is a finding. |
Audit data must be protected 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. | Restrict any unauthorized groups or users from accessing the audit logs. | Obtain the Email Domain Security Plan (EDSP) and locate the authorized groups or users that should have access to the audit data. If any group or user has access to the audit data that is not documented in the EDSP, this is a finding. |
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. | Locate 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\V14. | Obtain the Email Domain Security Plan (EDSP) and locate 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\V14. |
Email software must be monitored for change on INFOCON frequency schedule. | The INFOCON system provides a framework within which the Commander USSTRATCOM regional commanders, service chiefs, base/post/camp/station/vessel commanders, or agency directors can increase the measurable readiness of their networks to match operational priorities. The readiness strategy provides the ability to continuously maintain and sustain one’s own information systems and networks throughout their schedule of deployments, exercises, and operational readiness life cycle independent of network attacks or threats. The system provides a framework of prescribed actions and cycles necessary for reestablishing the confidence level and security of information systems for the commander and thereby supporting the entire Global Information Grid (GIG) (SD 527-1 Purpose). The Exchange software files and directories are vulnerable to unauthorized changes if not adequately protected. An unauthorized change could affect the integrity or availability of email services overall. For this reason, all application software installations must monitor for change against a software baseline that is preserved when installed, and updated periodically as patches or upgrades are installed. Automated and manual schedules for software change monitoring must be compliant with SD527-1 frequencies. Note: Policy Auditor 5.2 or later, File Integrity Monitor (FIM) module will meet the requirement for file integrity checking. The Asset module within HBSS does not meet this requirement. | Implement a process to compare software against a baseline (*.exe, *.bat, *.com, *.cmd, and *.dll) on a frequency required by the prevailing INFOCON level. Document the process and output artifacts in the EDSP. | Access the EDSP baseline section and determine the process and frequency for identifying software changes (*.exe, *.bat, *.com, *.cmd, and *.dll) on servers against a baseline. Examine artifacts identified as outputs of this process. If baseline comparisons are not done on the INFOCON-required schedule, this is a finding. |
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. The intent of this check is for system administrators to have awareness of performance changes on their network. Notification choices include email an 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. Data elements configured to be monitored should be specific to the organization’s network. . | Open the Exchange Management Console In the left pane, navigate to and select Microsoft Exchange On-Premises <server.domain> –> Toolbox In the Right pane double click on Performance Monitor In the left pane, navigate to and select Performance Logs and Alerts –> Data Collector Sets –> User Defined Right click on User Defined and configure the system to use User Defined data collection 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, expand and navigate Data Collector Sets >> User Defined. If no sets are defined or queues are not being monitored, this is a finding. |
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. By writing log and audit data to a separate partition where separate security contexts protect them, it may offer the ability to protect this information from being modified or removed by the exploit mechanism. | Configure the audit log location to be on a partition drive separate from the application. Document the location in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the audit logs assigned partition. By default the logs are located on the application partition in ‘\Program Files\Microsoft\Exchange Server\V14\Logging\’. If the log files are not on a separate partition from the application, this is 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 EMC or the New-RemoteDomain cmdlet. | Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <‘RemoteDomainName’> -DeliveryReportEnabled $false | 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 must not send non-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 non-delivery reports to remote domains are disabled. Before enabling this setting first configure a remote domain using the EMC or the New-RemoteDomain cmdlet. | Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <‘RemoteDomainName’> -NDREnabled $false | Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | select identity, NDREnabled If the value of ‘NDREnabled’ is not set to ‘False’, this is a finding. |
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-TransportServer -Identity <‘ServerUnderReview’> -ConnectivityLogEnabled $true | Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, ConnectivityLogEnabled If the value of ‘ConnectivityLogEnabled’ is not set to ‘True’, this is a finding. |
Local machine policy must require signed scripts. | Scripts often provide a way for attackers to infiltrate a system, especially those 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 of ‘LocalMachine’ does not return a value of ‘RemoteSigned’, this is a finding. |
Internet facing send Connectors must specify a Smart Host. | In the case of 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, however, 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 <‘SendConnector’> -SmartHosts <‘IP Address of Smart Host’> -DNSRoutingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, SmartHosts Identify the Internet facing connectors. If the value of ‘SmartHosts’ does not return the Smart Host IP Address, this is a finding. |
Global recipient count limit must be set. | Email system availability depends in part on best practices 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 ensures 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. | Set-transportConfig -‘MaxRecipientEnvelopeLimit’ 5000 Restart the “Microsoft Exchange Information Store” service. If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the global maximum message recipient count. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Identity, MaxRecipientEnvelopeLimit If the value of ‘MaxRecipientEnvelopeLimit’ is set to 5000, this is not a finding. If the value of ‘MaxRecipientEnvelopeLimit’ value is set to an alternate value, and has signoff and risk acceptance in the EDSP, this is not a finding. If the value of ‘MaxRecipientEnvelopeLimit’ is set to ‘Unlimited’, this is a finding. |
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. There are several controls that 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 <‘SendConnector’> -TlsDomain <‘SMTP Domain’> <‘SMTP Domain’> Note: ‘SMTP Domain’ is the internal SMTP domain within the organization. | 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. |
Outbound Connection Limit per Domain Count must be controlled. | Email system availability depends in part on best practices 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 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. | Open the Exchange Management Shell and enter the following command: Set-TransportServer -Identity <‘ServerUnderReview’> -MaxPerDomainOutboundConnections 20 If an alternate value is desired, obtain signoff with risk acceptance and document in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘Maximum Domain Connections’ and the server under review. Open the Exchange Management Shell and enter the following command: Get-TransportServer -Identity <‘ServerUnderReview’> | Select Name, Identity, MaxPerDomainOutboundConnections If the value of ‘MaxPerDomainOutboundConnections’ is set to 20 this is not a finding. 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. |
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, 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 (OS) 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 <‘ReceiveConnector’> -Banner ‘220 SMTP Server Ready’ | 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. |
Outbound Connection Timeout must be 10 or less. | Email system availability depends in part on best practices 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. | Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <‘ReceiveConnector’> -ConnectionInactivityTimeOut 00:10:00 or other value as identified by the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the ‘Connection Timeout’ value. Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, ConnectionInactivityTimeOut If the value of ‘ConnectionInactivityTimeOut’ is set to 00:10:00, this is not a finding. If ‘ConnectionInactivityTimeOut’ is set to other than 00:10:00, and has signoff and risk acceptance in the EDSP, this is not a finding. |
Mail Store storage quota must limit send. | 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. There are multiple controls, which 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. | Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase <‘MailboxDatabaseName’> -ProhibitSendQuota <‘SitesProhibitSendQuotaLimit’> | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘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 sites ‘ProhibitSendQuotaLimit’, this is a finding. |
Mailbox database must not be overwritten by a restore. | Email system availability depends in part on best practices strategies for setting tuning configurations. Unauthorized or accidental restoration of mailbox data risks data loss or corruption. This setting controls whether the mailbox store can be overwritten by a backup, which will cause loss of all information added after the backup was created. It should only be enabled during maintenance windows or following an outage (immediately before a restore is to be made), and cleared again immediately afterwards. During production windows, this feature must be disabled. | Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase <‘MailboxDatabaseName’> -AllowFileRestore $false | Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase| Select Name, Identity, AllowFileRestore If the value of ‘AllowFileRestore’ is not set to ‘False’, this is a finding. |
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 <‘MailboxDatabase’> -RetainDeletedItemsUntilBackup $true | 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. |
Email Diagnostic log level must be set to low or 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, Medium, 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 huge 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 <ServiceName\Name> -Level Lowest or Set-EventLogLevel -Identity <ServiceName\Name> -Level Low | Open the Exchange Management Shell and enter the following command: Get-EventLogLevel If any Diagnostic “EventLevel” is not set to “Low” or “Lowest”, this is a finding. |
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. | Configure the system to meet the separate partition requirement. | Obtain the Email Domain Security Plan (EDSP) and locate the assigned directory for the mailbox server under review. Open the Exchange Management Shell and enter the following command to determine the drives the mailbox databases are located. Get-MailboxDatabase | Select Name, Identity, EdbFilePath Open Windows Explorer and use the file and folder properties function to verify the mailbox databases are on a dedicated partition. If not, this is a finding. |
Email forwarding must be restricted. | Auto-forwarded email accounts do not meet the requirement for digital signature and encryption of CUI and PII IAW 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 non-repudiation requirements that each end user be responsible for creation and destination of email data. | Open the Exchange Management Shell and enter the following command: Set-Mailbox -Identity <‘UserWithForwardedAddress’> -ForwardingSMTPAdddress $null | Access Active Directory for mailbox enabled user accounts with the msExchGenericForwardingAddress attribute set. Obtain the Email Domain Security Plan (EDSP) and locate any accounts that have been authorized to have email auto-forwarded. Open the Exchange Management Shell and enter the following commands: Get-Mailbox -Filter {ForwardingSMTPAddress -ne $null} 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. This requirement works with Exch-1-324. |
The Send Fatal Errors to Microsoft 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. This setting enables an automated log entry to be sent to Microsoft giving general details about the nature and location of the error. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of debugging information would not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of problems in your Exchange organization. At the very least, it could alert them to (possibly) advantageous timing to mount an attack. At worst, it may provide them with information as to which aspects of Exchange are causing problems and might be vulnerable (or at least sensitive) to attack. 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 <‘ServerName’> -ErrorReportingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer –status | Select Name, Identity, ErrorReportingEnabled If the value of ‘ErrorReportingEnabled’ is not set to ‘False’, this is a finding. |
Administrator audit logging must be 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 affect change using the same mechanisms as email administrators. Auditing changes to access mechanisms not only supports accountability and non-repudiation 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 users’ 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 AdminAuditLogEnabled If the value of ‘AdminAuditLogEnabled’ is not set to ‘True’, this is a finding. |
Email servers must have Email aware virus protection. | 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 2010 compliant, or use VirusScan Application Program Interface (VSAPI) version 2.6 or higher, which is able to scan email MIME content safely. 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. | Install or upgrade scanning products to VSAPI version 2.6 or higher. Configure mail stores to be scanned with products at VSAPI version 2.6 or higher. | Obtain the email Domain Security Plan (EDSP) and locate the anti-virus strategy information. Validate that the message stores AV scanner product is Exchange 2010 compatible or VSAPI 2.6 compliant. If email servers are using email-aware AV product that is Exchange 2010 compliant or has VSAPI version 2.6 or higher, this is not a finding. |
Public Folder stores 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 documents in the scope of a single backup cycle. This setting ensures at least one backup has been run on the folder 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-PublicFolderDatabase <‘PublicFolderDatabaseName’> -RetainDeletedItemsUntilBackup $true | If public folders are not used this check is NA. Open the Exchange Management Shell and enter the following command: Get-PublicFolderDatabase| Select Name, Identity, RetainDeletedItemsUntilBackup If the value of ‘RetainDeletedItemsUntilBackup’ is not set to ‘True’, this is a finding. |
Public Folder database must not be overwritten by a restore. | Email system availability depends in part on best practices strategies for setting tuning configurations. Unauthorized or accidental restoration of public folder data risks data loss or corruption. This setting controls whether the public folder store can be overwritten by a restore from backup, which will cause loss of all information added after the backup was created. It should only be enabled during maintenance windows or following an outage (immediately before a restore is to be made), and cleared again immediately afterwards. During production windows, this feature must be disabled. | Open the Exchange Management Shell and enter the following command: Set-PublicFolderDatabase <‘PublicFolderDatabaseName’> -AllowFileRestore $false | If public folders are not used this check is NA. Open the Exchange Management Shell and enter the following command: Get-PublicFolderDatabase| Select Name, Identity, AllowFileRestore If the value of ‘AllowFileRestore’ is not set to ‘False’, this is a finding. |
Email software must be monitored for change on INFOCON frequency schedule. | The INFOCON system provides a framework within which the Commander USSTRATCOM regional commanders, service chiefs, base/post/camp/station/vessel commanders, or agency directors can increase the measurable readiness of their networks to match operational priorities. The readiness strategy provides the ability to continuously maintain and sustain one’s own information systems and networks throughout their schedule of deployments, exercises, and operational readiness life cycle independent of network attacks or threats. The system provides a framework of prescribed actions and cycles necessary for reestablishing the confidence level and security of information systems for the commander and thereby supporting the entire Global Information Grid (GIG) (SD 527-1 Purpose). The Exchange software files and directories are vulnerable to unauthorized changes if not adequately protected. An unauthorized change could affect the integrity or availability of email services overall. For this reason, all application software installations must monitor for change against a software baseline that is preserved when installed, and updated periodically as patches or upgrades are installed. Automated and manual schedules for software change monitoring must be compliant with SD527-1 frequencies. Note: Policy Auditor 5.2 or later, File Integrity Monitor (FIM) module will meet the requirement for file integrity checking. The Asset module within HBSS does not meet this requirement. | Implement a process to compare software against a baseline (*.exe, *.bat, *.com, *.cmd, and *.dll) on a frequency required by the prevailing INFOCON level. Document the process and output artifacts in the EDSP. | Access the EDSP baseline section and determine the process and frequency for identifying software changes (*.exe, *.bat, *.com, *.cmd, and *.dll) on servers against a baseline. Examine artifacts identified as outputs of this process. If baseline comparisons are not done on the INFOCON-required schedule, this is a finding. |
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 email software baseline process. Document the details in the EDSP. | Access the EDSP and locate 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. |
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. | Document the services required for the system to operate. Remove or disable any services that are not required. | To view system services open a windows power shell and enter the following command: Get-Service | Where-Object {$_.status -eq ‘running’} The command returns a list of installed services and the status of that service. 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. If the site has not documented the services required for their system(s), this is a finding. If any undocumented or unnecessary services are running, then this is a finding. |
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. | Install Exchange on a dedicated application partition separate than that of the OS. | Access Windows Explorer and identify the OS partition. Navigate to configured partitions, and access the ‘Program Files’ directory. Make note of the installation partition for Microsoft Exchange. If Microsoft Exchange resides on a partition other than that of the OS, and does not have other applications installed, this is not a finding. Note: In the case where additional applications are installed on the same partition as Microsoft Exchange, and each of those additional applications have been documented and had a risk assessment completed by the ISSO/ISSM, this is not a finding. |
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. |
The current, approved service pack must be 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. | Update the system with the latest approved service pack or a supported release. | Open the Exchange Management Shell and enter the following command: Get-ExchangeServer | fl name, AdminDisplayVersion If the value of ‘AdminDisplayVersion’ does not return Version 14.2 (Build 247.5) or greater, this is a finding. |
Public Store storage quota must be limited. | This setting controls the maximum sizes of a Public Folder and the system’s response if these limits are exceeded. There are two available controls and the system response when the quota has been exceeded. The first control sends an email warning to Folder Owners roles alerting them that the folder has exceeded its quota. The second level prevents posting any additional items to the folder. As a practical matter, level 1 serves the purpose of prompting owners to manage their folders. Level 2 impedes users in their ability to work, and is not required where folder use interruption is not acceptable. Public Folder Storage Quota Limitations are not a substitute for overall disk space monitoring. | Open the Exchange Management Shell and enter the following command: Set-PublicFolderDatabase <‘publicdatabasename’> -ProhibitPostQuota <‘SitesProhibitPostQuotaLimit’> | If public folders are not used this check is NA. Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘ProhibitPostQuota’. Open the Exchange Management Shell and enter the following command: Get-PublicFolderDatabase | Select Name, Identity, ProhibitPostQuota If the value of ‘ProhibitPostQuota’ is not set to the sites ‘ProhibitPostQuota’, this is a finding. |
The Public Folder Stores must mount at startup. | Administrator responsibilities include the ability to react to unplanned maintenance tasks or emergency situations that may require Public Folder Store 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 Public Folder services. Correct configuration of this control will prevent unplanned outages due to being enabled. On occasions when it is needed, care should be taken in process steps to clear the checkbox task completion, so that public folder stores are available to users (unmounted public folder stores are not available to users). | Open the Exchange Management Shell and enter the following command: Set-PublicFolderDatabase -Identity <‘PublicFolderName’> -MountAtStartup $true | If public folders are not used this check is NA. Open the Exchange Management Shell and enter the following command: Get-PublicFolderDatabase | Select Name, Identity, MountAtStartup If the value of ‘MountAtStartup’ is not set to ‘True’, this is a finding. |
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-MailboxServer -Identity <‘ServerName’> -MessageTrackingLogEnable $True | Open the Exchange Management Shell and enter the following command: Get-MailboxServer | Select Name, Identity, MessageTrackingLogEnabled If the value of ‘MessageTrackingLogEnabled’ is not set to ‘True’, this is a finding. |
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 are 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. 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, since 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, but instead treat this feature as a diagnostic that can be used if needed. The tradeoff of this is that finding the correct message in the message tracking logs will become more difficult since 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. That said, the setting should be disabled in case message tracking is perchance enabled at a future time. | Open the Exchange Management Shell and enter the following command: Set-MailboxServer -Identity <‘ServerName’> -MessageTrackingLogSubjectLoggingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-MailboxServer | Select Name, Identity, MessageTrackingLogSubjectLoggingEnabled If the value of ‘MessageTrackingLogSubjectLoggingEnabled’ is not set to ‘False’, this is a finding. |
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 If the value of ‘AdminAuditLogParameters’ is not set to ‘{*}’, this is a finding. Note: The value of {*} indicates all parameters are being audited. |
Exchange must not send Customer Experience reports to Microsoft. | Log files help establish a history of activities, and can be useful in detecting attack attempts or determining tuning adjustments to improve availability. This setting enables an automated entry to be sent to Microsoft giving general details about how the product is used. Microsoft, in turn, uses this information to improve the robustness of their product. While this type of information does not ordinarily contain sensitive information, it may alert eavesdroppers to the existence of the environment and its configurations. It could alert them to (possibly) advantageous timing or weaknesses toward which to mount an attack. | 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 If the value for CustomerFeedbackEnabled is not set to ‘False’, this is a finding. |
Audit data must be protected 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. | Restrict any unauthorized groups or users from accessing the audit logs. | Obtain the Email Domain Security Plan (EDSP) and locate the authorized groups or users that should have access to the audit data. If any group or user has access to the audit data that is not documented in the EDSP, this is a finding. |
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. | Locate 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\V14. | Obtain the Email Domain Security Plan (EDSP) and locate 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\V14. |
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, or the raise the potential that insufficient history will be available to investigate them. This setting controls how log files are written. If circular logging is enabled, there is one log file 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 <‘MailboxDatabase’> -CircularLoggingEnabled $false | Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase -Server <‘ServerUnderReview’>| Select Name, Identity, CircularLoggingEnabled If the value of ‘CircularLoggingEnabled’ is not set to ‘False’, this is a finding. |
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. The intent of this check is for system administrators to have awareness of performance changes on their network. Notification choices include email an 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. Data elements configured to be monitored should be specific to the organization’s network. . | Open the Exchange Management Console In the left pane, navigate to and select Microsoft Exchange On-Premises <server.domain> –> Toolbox In the Right pane double click on Performance Monitor In the left pane, navigate to and select Performance Logs and Alerts –> Data Collector Sets –> User Defined Right click on User Defined and configure the system to use User Defined data collection 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, expand and navigate Data Collector Sets >> User Defined. If no sets are defined or queues are not being monitored, this is a finding. |
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. By writing log and audit data to a separate partition where separate security contexts protect them, it may offer the ability to protect this information from being modified or removed by the exploit mechanism. | Configure the audit log location to be on a partition drive separate from the application. Document the location in the EDSP. | Obtain the Email Domain Security Plan (EDSP) and locate the audit logs assigned partition. By default the logs are located on the application partition in ‘\Program Files\Microsoft\Exchange Server\V14\Logging\’. If the log files are not on a separate partition from the application, this is a finding. |
The 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. On occasions when it is needed, care should be taken in process steps to clear the check box upon task completion, so that 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 <‘MailboxName’> -MountAtStartup $true | 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. |
Mail Store storage quota must issue a warning. | 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. There are multiple controls, which supply graduated levels of opportunity to respond before risking data loss. This control sends the user a warning message that the mailbox is reaching its limit. The user at this point can still send and receive email. Note: Best practice is to send this warning when the mailbox reaches 75 percent of capacity. | Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase <‘MailboxDatabaseName’> -IssueWarningQuota <‘SitesIssueWarningQuota’> | Obtain the Email Domain Security Plan (EDSP) and locate the value for ‘IssueWarningQuota’. Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase | Select Name, Identity, IssueWarningQuota If the value of ‘IssueWarningQuota’ is not set to the sites ‘Issue Warning Quota’, this is a finding. |
Email forwarding SMTP domains must be restricted. | Auto-forwarded email accounts do not meet the requirement for digital signature and encryption of CUI and PII IAW 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 non-repudiation requirements that each end user be responsible for creation and destination of email data. | Open the Exchange Management Shell and enter the following command: Set- RemoteDomain -Identity <RemoteDomainIdParameter> | Obtain the Email Domain Security Plan (EDSP) and locate any accounts that have been authorized to have email auto-forwarded. Open the Exchange Management Shell and enter the following commands: Get-RemoteDomain | select name, AutoForwardEnabled If any domain for 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. This requirement works with Exch-1-321. |
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 <‘MailboxDatabaseName’> -ProhibitSendReceiveQuota ‘Unlimited’ If an alternate value is desired from ProhibitSendReceiveQuota, obtain signoff with risk acceptance and document in the EDSP. | Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase | Select Name, Identity, ProhibitSendReceiveQuota 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. If the value of ‘ProhibitSendReceiveQuota’ is not set to ‘Unlimited’, this is a finding. |
Local machine policy must require signed scripts. | Scripts often provide a way for attackers to infiltrate a system, especially those 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 of ‘LocalMachine’ does not return a value of ‘RemoteSigned’, this is a finding. |