Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
In a PowerShell window, run the following commands: Get-ItemProperty HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319 If the value "SchUseStrongCrypto" is not present and set to 1, this is a finding.
In a PowerShell window with elevated privileges, run the following commands: reg add HKLM\SOFTWARE\Microsoft\.NetFramework\v4.0.30319 /v "SchUseStrongCrypto" /t REG_DWORD /d 1 reg add HKLM\SOFTWARE\WoW6432Node\Microsoft\.NetFramework\v4.0.30319 /v "SchUseStrongCrypto" /t REG_DWORD /d 1 This will create the value within the necessary key and set the data to 1.
Open the Exchange Management Shell and enter the following command: Get-ExchangeCertificate | Select-Object -Property CertificateDomains, issuer If the value of "CertificateDomains" does not indicate it is issued by the DOD, this is a finding.
Remove the non-DOD certificate and import the correct DOD certificates.
Review the Email Domain Security Plan (EDSP). Determine the Accepted Domain values. Open the Exchange Management Shell and enter the following command: Get-AcceptedDomain | Select-Object -Property Name, DomainName, Identity, Default If the value of "Default" is not set to "True", this is a finding. or If the "Default" value for "AcceptedDomains" is set to another value other than "True" and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set-AcceptedDomain -Identity <'IdentityName'> -MakeDefault $true Note: The <IdentityName> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, DomainSecureEnabled For each receive connector, if the value of "DomainSecureEnabled" is not set to "True", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -DomainSecureEnabled $true Note: The <IdentityName> value must be in quotes. Repeat the procedures for each receive connector.
Open the Exchange Management Shell and enter the following command: Get-EventLogLevel If any "EventLogLevel" values returned are not set to "Lowest", this is a finding. Note: The default installation of Exchange has all Event Levels set to Lowest with exception of the following: MSExchange ADAccess\Topology - Low MSExchangeADAccess\Validation - Low MSExchange BackEndRehydration\Configuration - Low MSExchange BackEndRehydration\Server - 2 MSExchange OAuth\Configuration - Low MSExchange OAuth\Server - 2 MSExchange RBAC\RBAC - Low MSExchangeADTopology\Topology - Low All of these must be set to Lowest.
Open the Exchange Management Shell and enter the following command: Set-EventLogLevel -Identity <'IdentityName\EventlogName'> -Level Lowest Note: The <IdentityName\EventlogName> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-TransportService | Select-Object -Property Name, Identity, ConnectivityLogEnabled If the value of "ConnectivityLogEnabled" is not set to "True", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-TransportService -Identity <'IdentityName'> -ConnectivityLogEnabled $true Note: The <IdentityName> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-Transportservice | Select-Object -Property Name, MessageTrackingLogEnabled If the value of "MessageTrackingLogEnabled" is not set to "True", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-Transportservice <IdentityName> -MessageTrackingLogEnabled $true Note: The <IdentityName> value must be in quotes.
Note: By default, there are two user-defined data collector sets created by Exchange: ExchangeDiagnosticsDailyPerformanceLog and ExchangeDiagnosticsPerformanceLog. These are not providing enough data to monitor SMTP queues per the requirement. Additionally, if a third-party application is performing monitoring functions, the reviewer should verify the application is monitoring correctly and mark the vulnerability Not Applicable. Open the Exchange Management Shell and enter the following command: perfmon In the left pane, navigate to Performance >> Data Collector Sets >> User Defined. If no sets are defined or queues are not being monitored, this is a finding.
Open the Exchange Management Shell and enter the following command: perfmon In the left pane, navigate to Performance >> Data Collector Sets >> User Defined. In left pane, right-click User Defined >> New >> Data Collector Set and configure the system to use the data collection set for monitoring the queues.
Review the Email Domain Security Plan (EDSP). Determine the authorized groups or users that should have read access to the audit data. If any group or user has read access to the audit data that is not documented in the EDSP, this is a finding.
Update the EDSP to reflect the authorized groups or users that should have read access to the audit data. Restrict any unauthorized groups' or users' read access to the audit logs.
Review the Email Domain Security Plan (EDSP). Determine the authorized groups or users that should have modify permissions to the audit data. If any group or user has modify permissions for the audit data that is not documented in the EDSP, this is a finding.
Update the EDSP to reflect the authorized groups or users that should have modify permissions to the audit data. Restrict any unauthorized groups' or users' modify permissions for the audit logs.
Review the Email Domain Security Plan (EDSP). Determine the authorized groups or users that should have delete permissions for the audit data. If any group or user has delete permissions for the audit data that is not documented in the EDSP, this is a finding.
Update the EDSP to reflect the authorized groups or users that should have delete permissions for the audit data. Restrict any unauthorized groups' or users' delete permissions for the audit logs.
Review the Email Domain Security Plan (EDSP). Determine the audit logs' assigned partition. Note: By default, the logs are located on the application partition in \Program Files\Microsoft\Exchange Server\V15\Logging\. If the log files are not on a separate partition from the application, this is a finding.
Update the EDSP. Configure the audit log location to be on a partition drive separate from the application.
Open the Exchange Management Shell and enter the following command: Get-ExecutionPolicy If the value returned is not "RemoteSigned", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ExecutionPolicy RemoteSigned
Open the Exchange Management Shell and enter the following command: Get-OrganizationConfig | Select-Object -Property Name, Identity, CustomerFeedbackEnabled If the value for "CustomerFeedbackEnabled" is not set to "False", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-OrganizationConfig -CustomerFeedbackEnabled $false Note: This can be done during initial installation of Exchange.
Open the Exchange Management Shell and enter the following command: Get-ExchangeServer –status | Select-Object -Property Name, Identity, ErrorReportingEnabled For each exchange server, if the value of "ErrorReportingEnabled" is not set to "False", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ExchangeServer -Identity <'IdentityName'> -ErrorReportingEnabled $false Note: The <IdentityName> value must be in quotes. Repeat the procedure for each identity.
Open the Exchange Management Shell and run the following command: Get-Content $exbin\EdgeTransport.exe.config |Select-String "QueueDatabasePath" -SimpleMatch Example Output: <add key="QueueDatabasePath" value="F:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue" /> If the path of the Queue Database is in the same volume as the installation of Exchange, this is a finding. If the path of the Queue Database is on the same volume of existing applications, this is a finding.
It is recommended to follow the instructions found in the following documentation: https://learn.microsoft.com/en-us/exchange/mail-flow/queues/relocate-queue-database?view=exchserver-2019 Set aside time for maintenance before correcting the issue, as this will affect mail flow through the Edge role on that server. Open an Exchange Management Shell and use the automated script (shipped with Exchange) to move the queue database and its existing files to the new destination. The following parameters must be answered to successfully complete the move: -queueDatabasePath #New destination for the Queue Database. If destination does not exist, the script will create it with the appropriate permissions. -queueDatabaseLoggingPath #New destination for the Queue Database Logs. If destination does not exist, the script will create it with the appropriate permissions. -ipFilterDatabasePath #New destination for the IP filtering Database. If the destination does not exist, the script will create it with the appropriate permissions. -ipFilterDatabaseLoggingPath #New destination for the IP filtering Database Logs. If the destination does not exist, the script will create it with the appropriate permissions. -temporaryStorage #This will be the path that the script moves the old version of the EdgeTransport.exe.config. The new version will have the updated path. Note: Always back up the configuration file as CUs will overwrite any added custom configuration.
Note: This is not applicable for SIPR enclaves. Review the Email Domain Security Plan (EDSP). Determine the internet-facing connectors. Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select-Object -Property Name, Identity, SmartHosts, DNSRoutingEnabled For each send connector, if the value of "SmartHosts" does not return the Smart Host IP Address and the value for "DNSRoutingEnabled" is not set to "False", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-SendConnector <'IdentityName'> -SmartHosts <'IP Address of Smart Host'> -DNSRoutingEnabled $false Note: The <IdentityName> value must be in quotes. Repeat the procedure for each send connector.
Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select-Object -Property Name, Identity, DomainSecureEnabled For each send connector, if the value of "DomainSecureEnabled" is not set to "True", this is a finding. If the "TlsAuthLevel" parameter is set to "DomainValidation" then the "TlsDomain" parameter is required if "DNSRoutingEnabled" parameter is set to "$false". The "DNSRoutingEnabled" parameter must be "$true" If the value of "DomainSecureEnabled" is "$true".
Open the Exchange Management Shell and enter the following command: Set-SendConnector <'IdentityName'> -DomainSecureEnabled $true Note: The <IdentityName> value must be in quotes. Repeat the procedure for each send connector.
Note: This is not applicable for SIPR enclaves. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, AuthMechanism For each receive connector, if the value of "AuthMechanism" is not set to "Tls, BasicAuth, BasicAuthRequireTLS", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -AuthMechanism 'Tls, BasicAuth, BasicAuthRequireTLS' Note: The <IdentityName> value must be in quotes. Example only for the Identity: <ServerName>\Frontend <ServerName> Repeat the procedure for each receive connector.
Review the EDSP for current configuration. On the mailbox server, open a PowerShell prompt and run the following command: Get-EdgeSubscription If there is only one subscription on each server, this is a finding.
At a minimum, a second server must be deployed and subscribed to.
Review the Email Domain Security Plan (EDSP). Determine the Connection Timeout value. Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select-Object -Property Name, Identity, ConnectionInactivityTimeOut For each send connector, if the value of "ConnectionInactivityTimeOut" is not set to "00:10:00", this is a finding. or If "ConnectionInactivityTimeOut" is set to other than "00:10:00" and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the Connection Timeout value. Open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <'IdentityName'> -ConnectionInactivityTimeOut 00:10:00 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Repeat the procedure for each send connector.
Review the Email Domain Security Plan (EDSP). Determine the value for Maximum Domain Connections. Open the Exchange Management Shell and enter the following command: Get-TransportService | Select-Object -Property Name, Identity, MaxPerDomainOutboundConnections If the value of "MaxPerDomainOutboundConnections" is not set to "20", this is a finding. or If the value of "MaxPerDomainOutboundConnections" is set to a value other than "20" and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the value for Maximum Domain Connections. Open the Exchange Management Shell and enter the following command: Set-TransportService -Identity <'IdentityName'> -MaxPerDomainOutboundConnections 20 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP). Determine the value for receive connectors. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, MaxHopCount For each receive connector, if the value of "MaxHopCount" is not set to "60", this is a finding. or If the value of "MaxHopCount" is set to a value other than "60" and has signoff and risk acceptance, this is not a finding.
Update the EDSP to reflect the value for receive connectors. Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -MaxHopCount 60 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Repeat the procedure for each receive connector.
Review the Email Domain Security Plan (EDSP). Determine the Maximum Recipients per Message value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, MaxRecipientsPerMessage For each receive connector, if the value of "MaxRecipientsPerMessage" is not set to "5000", this is a finding. or If the value of "MaxRecipientsPerMessage" is set to a value other than "5000" and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the Maximum Recipients per Message value. Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -MaxRecipientsPerMessage 5000 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Repeat the procedure for each receive connector.
Review the Email Domain Security Plan (EDSP). Determine the value for SMTP Server Maximum Outbound Connections. Open the Exchange Management Shell and enter the following command: Get-TransportService | Select-Object -Property Name, Identity, MaxOutboundConnections If the value of "MaxOutboundConnections" is not set to "1000", this is a finding. or If the value of "MaxOutboundConnections" is set to a value other than "1000" and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the value for SMTP Server Maximum Outbound Connections. Open the Exchange Management Shell and enter the following command: Set-TransportService -Identity <'IdentityName'> -MaxOutboundConnections 1000 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP). Determine the maximum message send size. Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select-Object -Property Name, Identity, MaxMessageSize For each send connector, if the value of "MaxMessageSize" is not the same as the global value, this is a finding. or If "MaxMessageSize" is set to a numeric value different from the maximum message send size value documented in the EDSP, this is a finding.
Update the EDSP to reflect the maximum message send size. Open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <'IdentityName'> -MaxMessageSize <MaxSendSize> Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Repeat the procedure for each send connector.
Review the Email Domain Security Plan (EDSP). Determine the value for Transient Failure Retry Count. Open the Exchange Management Shell and enter the following command: Get-TransportService | Select-Object -Property Name, Identity, TransientFailureRetryCount If the value of "TransientFailureRetryCount" is not set to "10" or less, this is a finding. or If the value of "TransientFailureRetryCount" is set to more than "10" or has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the value for Transient Failure Retry Count. Open the Exchange Management Shell and enter the following command: Set-TransportService -Identity <'IdentityName'> -TransientFailureRetryCount 10 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity For each receive connector, review the naming for connectors. If the connectors are not clearly named for purpose and direction, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Name <'NewName'> -Identity <'IdentityName'> Note: Both the <NewName> and <IdentityName> value must be in quotes. Repeat the procedure for each receive connector.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, ChunkingEnabled For each receive connector, if the value of "ChunkingEnabled" is not set to "True", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -ChunkingEnabled $true Note: The <IdentityName> value must be in quotes. Repeat the procedure for each receive connector.
Review the Email Domain Security Plan (EDSP). Determine the Maximum Inbound connections value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, MaxInboundConnection Identify internet-facing connectors. For each receive connector, if the value of "MaxInboundConnection" is not set to "5000", this is a finding. or If "MaxInboundConnection" is set to a value other than "5000" or is set to unlimited and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the Maximum Inbound connections value. Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -MaxInboundConnection 5000 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Repeat the procedure for each receive connector.
Review the Email Domain Security Plan (EDSP). Determine the global maximum message receive size. Open the Exchange Management Shell and enter the following command: Identify internet-facing connectors. Get-ReceiveConnector | Select-Object -Property Name, Identity, MaxMessageSize If the value of "MaxMessageSize" is not the same as the global value, this is a finding. or If "MaxMessageSize" is set to a numeric value different from the global value and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the global maximum message receive size. Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -MaxMessageSize <'MaxReceiveSize'> Note: The <IdentityName> and <MaxReceiveSize> values must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Note: If using another DOD-approved anti-spam product for email or a DOD-approved Email Gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable. Note: If system is on SIPRNet, this is not applicable. Review the Email Domain Security Plan (EDSP). Determine the name of the Transport Agent. Open the Windows PowerShell console and enter the following command: Get-TransportAgent -Name 'customAgent' | Format-List If the value does not return "customAgent", this is a finding. Note: "customAgent" is the name of the custom agent developed to render hyperlink email sources from non .mil domains as unclickable.
Update the EDSP to reflect the name of the Transport Agent. Contact the DISA Enterprise Email Service Desk at disa.tinker.eis.mbx.dod-enterprise-services-service-desk@mail.mil and request the Agent and installation procedures. or Contact DEE Engineering PMO and request the Agent and installation procedures.
This requirement is Not Applicable for SIPR enclaves. This requirement is Not Applicable if the organization subscribes to EEMSG or other similar DOD enterprise protections for email services. Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig | Select-Object -Property Name, Action If the value of "Action" is not set to "Reject", this is a finding. Note: "Reject" is the default value.
Open the Exchange Management Shell and enter the following command: Set-SenderFilterConfig -Action Reject
This requirement is Not Applicable for SIPR enclaves. This requirement is Not Applicable if the organization subscribes to EEMSG or other similar DOD enterprise protections for email services. Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig | Select-Object -Property Name, BlankSenderBlockingEnabled If the value of "BlankSenderBlockingEnabled" is not set to "True", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-SenderFilterConfig -BlankSenderBlockingEnabled $true
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Open the Exchange Management Shell and enter the following command: Get-ContentFilterConfig | Select-Object -Property Name, quarantineMailbox If no SMTP address is assigned to "quarantineMailbox", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ContentFilterConfig -quarantineMailbox <'quarantineMailbox SmtpAddress'> Note: The <quarantineMailbox SmtpAddress> value must be in quotes.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Review the Email Domain Security Plan (EDSP). Determine the unaccepted domains that are to be blocked. Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig | Select-Object -Property Name, BlockedDomains, BlockedDomainsAndSubdomains If the value for "BlockedDomains" or "BlockedDomainsAndSubdomains" does not reflect the list of accepted domains, this is a finding.
Update the EDSP to reflect the unaccepted domains that are to be blocked. Open the Exchange Management Shell and enter the following command: For BlockedDomains: Set-SenderFilterConfig -BlockedDomains <BlockedDomain> To add additional domains to the list (array): Set-SenderFilterConfig -BlockedDomains @{add="<blockeddomain2>","<blockeddomain3>","<blockeddomain4>"} Each domain added must be quotes and separated by a comma. Repeat the procedure for each domain that is to be blocked. or For BlockedDomainsAndSubdomains: Set-SenderFilterConfig -BlockedDomainsAndSubdomains <BlockedDomainAndSubdomain> Same procedure applies for adding multiple domains applies to this filter. Repeat the procedure for each domain and all of its subdomains that are to be blocked.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Additionally, the default value for "RecipientValidationEnabled" is "False". Open the Exchange Management Shell and enter the following command: Get-RecipientFilterConfig | Select-Object -Property Name, RecipientValidationEnabled If the value of "RecipientValidationEnabled" is not set to "False", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-RecipientFilterConfig -RecipientValidationEnabled $false
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Additionally, the default value for "Sender Reputation" is "True" for "Enabled". Open the Exchange Management Shell and enter the following command: Get-SenderReputationConfig | Select-Object -Property Name, Enabled If the value of "Enabled" is not set to "True", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-SenderReputationConfig -Enabled $true
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Review the Email Domain Security Plan (EDSP). Determine the SrlBlockThreshold value. Open the Exchange Management Shell and enter the following command: Get-SenderReputationConfig | Select-Object -Property Name, SrlBlockThreshold If the value of SrlBlockThreshold is not set to "6", this is a finding. or If the value of "SrlBlockThreshold" is set to a value other than "6" and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the SrlBlockThreshold size. Open the Exchange Management Shell and enter the following command: Set-SenderReputationConfig -SrlBlockThreshold 6 or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Review the Email Domain Security Plan (EDSP). Determine the list of undesirable attachment types that should be stripped. Open the Exchange Management Shell and enter the following command: Get-AttachmentFilterEntry For each attachment type, if the values returned are different from the EDSP documented attachment types, this is a finding.
Update the EDSP to reflect the list of undesirable attachment types that should be stripped. Open the Exchange Management Shell and enter the following command: Add-AttachmentFilterEntry -Name <'*.FileExtension'> -Type FileName Repeat the procedure for each undesirable attachment type.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Additionally, the default value for this property is Enabled "True". Open the Exchange Management Shell and enter the following command: Get-ContentFilterConfig | Select-Object -Property Name, Identity, Enabled If the value of "Enabled" is not set to "True", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ContentFilterConfig -Enabled $true
If not using a service provider, this requirement is not applicable. Review the Email Domain Security Plan (EDSP). Determine the name and information for the Block List provider. Open the Exchange Management Shell and enter the following command: Get-IPBlockListProvider | Select-Object -Property Name, Identity, LookupDomain If the values for "Name", GUID, and "LookupDomain" are not configured, this is a finding.
Update the EDSP to reflect the name and information for the Block List provider. Open the Exchange Management Shell and enter the following command: Set-IPBlockListProvider -Name <Provider Name> [Additional optional parameters as required by the service provider]
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Open the Exchange Management Shell and enter the following command: Get-SenderIdConfig | Select-Object -Property Name, Identity, SpoofedDomainAction If the value of "SpoofedDomainAction" is not set to "Reject", this is a finding.
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-RecipientFilterConfig | Select-Object -Property Name, Enabled If the value of "Enabled" is not set to "True", this is a finding. Note: The default value is set to "True".
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-ReceiveConnector | Select Name, Identity, TarpitInterval For each Receive connector, if the value of "TarpitInterval" is not set to "00:00:05" or greater, this is a finding. Note: The default value for "TarpitInterval" is "00:00:05".
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -TarpitInterval '00:00:05' Note: The <IdentityName> value and the Interval must be in quotes. Repeat the procedures for each Receive connector.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, PermissionGroups |Format-List For each Receive connector, if the value of "PermissionGroups" is "AnonymousUsers" for any noninternet connector, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -PermissionGroups 'valid user group(s)' Note: The <IdentityName> value and user group(s) must be in quotes. Example for user groups only: 'ExchangeServers, ExchangeUsers' Repeat the procedures for each Receive connector. This is an example only: Set-ReceiveConnector -Identity <'IdentityName'> -PermissionGroups 'ExchangeUsers'
Review the Email Domain Security Plan (EDSP). Identify the SMTP Allow List settings. Open the Exchange Management Shell and enter the following command: Get-IPAllowListEntry | Format-List If the result returns any values, this is a finding. or If the result returns any values but has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP to reflect the SMTP Allow List settings. Open the Exchange Management Shell and enter the following command: Note: Remove any value(s) that are not identified by the EDSP or have not obtained a signoff with risk acceptance. Remove-IPAllowListEntry -Identity <IP Allow List entry ID>
Open the Exchange Management Shell and enter the following command: Get-IPAllowListConfig | Select-Object -Property Name, Enabled If the value for "Enabled" is not set to "True", this is a finding. Note: "Enabled" set to "True" is the default value.
Open the Exchange Management Shell and enter the following command: Set-IPAllowListConfig -Enabled $true
This requirement is not applicable for SIPR enclaves. This requirement is not applicable if the organization subscribes to EEMSG or other similar DOD enterprise protections for email services. Open the Exchange Management Shell and enter the following command: Get-SenderFilterConfig | Select-Object -Property Name, Enabled If the value of "Enabled" is not set to "True", this is a finding. Note: "Enabled" set to "True" is the default value.
Open the Exchange Management Shell and enter the following command: Set-SenderFilterConfig -Enabled $true
Review the Email Domain Security Plan (EDSP) for an installed anti-spam product. Note: If using another DOD-approved anti-spam product for email or a DOD-approved Email Gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable. Open the Exchange Management Shell and enter the following command: Get-ContentFilterConfig | Format-Table Name, Enabled If no value is returned, this is a finding.
Install the anti-Spam module. Open the Exchange Management Shell and enter the following command: & $env:ExchangeInstallPath\Scripts\Install-anti-SpamAgents.ps1
Review the Email Domain Security Plan (EDSP) for an installed anti-spam product. Note: If using another DOD-approved anti-spam product for email or a DOD-approved Email Gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable. Open the Exchange Management Shell and enter the following command: Get-ContentFilterConfig | Format-Table Name, Enabled; Get-SenderFilterConfig | Format-Table Name, Enabled; Get-SenderIDConfig | Format-Table Name, Enabled; Get-SenderReputationConfig | Format-Table Name, Enabled If any of the following values returned are not set to "True", this is a finding: Set-ContentFilterConfig Set-SenderFilterConfig Set-SenderIDConfig Set-SenderReputationConfig
Open the Exchange Management Shell and enter the following command for any values that were not set to True: Set-ContentFilterConfig -Enabled $true Set-SenderFilterConfig -Enabled $true Set-SenderIDConfig -Enabled $true Set-SenderReputationConfig -Enabled $true
The site should use an approved DOD scanner as Exchange Malware software has a limited scanning capability. If an approved DOD scanner is not being used, this is a finding.
Following vendor best practice guidance, install and configure a DOD approved scanner.
Note: If third-party anti-spam product is being used, the anti-spam product must be configured to meet the requirement. Open the Exchange Management Shell and enter the following command: Get-SenderIdConfig | Select-Object -Property Name, Identity, Enabled If the value of "Enabled" is not set to "True", this is a finding. Note: By Default, the value of "Enabled" is set to "True".
Open the Exchange Management Shell and enter the following command: Set-SenderIdConfig -Enable $true
Review the Email Domain Security Plan (EDSP), or Organizations applicable documentation. Determine the connection Timeout value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, ConnectionTimeout For each Receive connector, if the value of "ConnectionTimeout" is not set to "00:05:00", this is a finding. If "ConnectionTimeout" is set to another value other than "00:05:00" and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP, or the applicable documentation. Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -ConnectionTimeout 00:05:00 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Repeat the procedures for each Receive connector.
Check the EDSP to verify who should be in each built in RBAC management role group. If this is not found, this is a finding.
Update the EDSP and define who should and should not have elevated privileges within the organization. Follow the rule of least privilege and ensure that administrators are given just enough access to complete their job. Reference document: https://docs.microsoft.com/en-us/exchange/understanding-management-role-groups-exchange-2013-help?view=exchserver-2019
Review the Email Domain Security Plan (EDSP). Determine the authorized groups and users that have access to the Exchange application directories. Determine if the access permissions on the directory match the access permissions listed in the EDSP. If any group or user has different access permissions than listed in the EDSP, this is a finding. Note: The default installation directory is \Program Files\Microsoft\Exchange Server\V15.
Update the EDSP to reflect the authorized groups and users that have access to the Exchange application directories. Navigate to the Exchange application directory and remove or modify the group or user access permissions. Note: The default installation directory is \Program Files\Microsoft\Exchange Server\V15.
Review the Email Domain Security Plan (EDSP). Determine the 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.
Implement an email software baseline process and update the EDSP.
Open the Exchange Management Shell and enter the following command: Get-ExecutionPolicy If the value returned is not "RemoteSigned", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ExecutionPolicy RemoteSigned
Review the Email Domain Security Plan (EDSP). Note: Required services will vary between organizations and will vary depending on the role of the individual system. Organizations will develop their own list of services, which will be documented and justified with the ISSO. The site's list will be provided for any security review. Services that are common to multiple systems can be addressed in one document. Exceptions for individual systems should be identified separately by system. Open a Windows PowerShell and enter the following command: Get-Service | Where-Object {$_.status -eq 'running'} Note: The command returns a list of installed services and the status of that service. If the services required are not documented in the EDSP or undocumented or unnecessary services are running, this is a finding.
Update the EDSP with the services required for the system to function. Navigate to Administrator Tools >> Services and disable or remove any services that are not required. or in PowerShell: Stop-Service -Name <service>; Set-Service -Name <service> -StartupType Disabled Stop and disable services that are not required.
Verify in the EDSP or consult with the appropriate personnel who manage DNS which servers to use for Internal and External DNS resolution. If the server is not multi-homed, this does not apply. In Exchange Management Shell, run the following command: Get-TransportService |Format-List *dns* If "ExternalDNSAdapterEnabled : True", and no GUID exists, this is a finding. If "ExternalDNSAdapterEnabled : False", and the property "ExternalDNSServers" is not populated with the documented trusted DNS servers for External DNS queries, this is a finding. If "InternalDNSAdapterEnabled : True" and no GUID exists, this is a finding. If "InternalDNSAdapterEnabled : False" and the property "InternalDNSServers" is not populated the documented trusted DNS servers for Internal DNS queries, this is a finding.
Verify in the EDSP or consult with the appropriate personnel who manage which DNS servers to use for Internal and External DNS resolution. If a GUID for the External and Internal network adapters are applicable, then gather the values to populate the appropriate properties with the following commands: netsh lan show interfaces This will provide the adapters and the GUIDs for each. Identify the external and internal adapters for the Edge server. Once gathered, run the following: Set-TransportService -Identity <name of server> -ExternalDNSAdapterEnabled $true -ExternalDNSAdapterGuid <externalAdapterGUID> -InternalDNSAdapterEnabled $true -InternalDNSAdapterGuid <InternalAdapterGuid> If the "ExternalDNSAdapterEnabled" or InternalDNSAdapterEnabled are set to false, use the following to set the DNS configuration: Set-TransportService -Identity <name of server> -InternalDNSServers @{add="Trusted DNS IP1","Trusted DNS IP2"} Set-TransportService -Identity <name of server> -ExternalDNSServers @{add="Trusted DNS IP1","Trusted DNS IP2"}
Review the Email Domain Security Plan (EDSP). Determine the directory where Exchange is installed. Open Windows Explorer. Navigate to the location where Exchange is installed. If Exchange resides on a directory or partition other than that of the OS and does not have other applications installed (without associated approval from the ISSO), this is not a finding.
Update the EDSP to reflect the directory where Exchange is installed. Install Exchange on a dedicated application directory or partition separate than that of the OS.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, Banner If the value of "Banner" is not set to "220 SMTP Server Ready", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -Banner '220 SMTP Server Ready' Note: The <IdentityName> and 220 SMTP Server Ready values must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select-Object -Property Name, Identity, TlsAuthLevel If the value of "TlsAuthLevel" is not set to "DomainValidation", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <'IdentityName'> -TlsAuthLevel DomainValidation
Review the Email Domain Security Plan (EDSP). From a Mailbox server in the subscribed Edge Subscription site, determine if the Exchange servers are using redundancy by entering the following command: Get-EdgeSubscription If the value returned is not at least two Edge servers, this is a finding.
Update the EDSP to reflect the Exchange servers used for redundancy. Configure and subscribe to two or more Edge servers for load balancing.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select-Object -Property Name, Identity, AuthMechanism For each Receive connector, if the value of "AuthMechanism" is not set to "Tls", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -AuthMechanism 'Tls' Note: The <IdentityName> value must be in quotes. Repeat the process for each Receive connector.
Check the Email Domain Security Plan (EDSP) and determine which send connector is using which secure validation method. If no configuration setting is found, this is a finding. If using "DomainValidation", open the Exchange Management Shell and enter the following command: Get-SendConnector | Select-Object -Property Name, Identity, TlsDomain If the value of "TlsDomain" is not set to the value of the internal <'SMTP Domain'>, this is a finding. If using "DomainSecureEnabled", open the Exchange Management Shell and enter the following command: Get-SendConnector | Select-Object -Property Name, Identity, DomainSecureEnabled If the value of 'DomainSecureEnabled' is not set to 'True', this is a finding. Note: The wildcard character (*) is not supported in domains that are configured for mutual TLS authentication. The same domain must also be defined on the corresponding Receive connector and in the TLSReceiveDomainSecureList attribute of the transport configuration.
If using "DomainValidation", open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <'Identity'> -TlsDomain <InternalSMTPDomain> -TlsAuthLevel DomainValidation -RequireTLS $true If using "DomainSecureEnabled", open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <'ReceiveConnector'> -DomainSecureEnabled $true Note: - To use DomainSecureEnabled, DNSRouting must be set to $true. - The same domain must also be defined on the corresponding Receive connector and in the TLSReceiveDomainSecureList attribute of the transport configuration.
Note: If using another DOD-approved anti-spam product for email or a DOD-approved Email Gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable. Note: If system is on SIPRNet, this is not applicable. Review the Email Domain Security Plan (EDSP). Determine the name of the Transport Agent. Open the Windows PowerShell console and enter the following command: Get-TransportAgent -Name 'customAgent' | Format-List If the value does not return "customAgent", this is a finding. Note: "customAgent" is the name of the custom agent developed to render hyperlink email sources from non .mil domains as unclickable.
Update the EDSP to reflect the name of the Transport Agent. Contact the DISA Enterprise Email Service Desk at disa.tinker.eis.mbx.dod-enterprise-services-service-desk@mail.mil and request the Agent and installation procedures. or Contact DEE Engineering PMO and request the Agent and installation procedures.
Open the Exchange Management Shell and enter the following command: Get-ExchangeServer | Format-List Name, AdminDisplayVersion If the value of "AdminDisplayVersion" does not return the most current, approved CU, this is a finding.
Install the most current, approved CU.