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
Open the Exchange Management Shell and enter the following command: Get-AdminAuditLogConfig | Select Name, AdminAuditLogEnabled If the value of AdminAuditLogEnabled is not set to True, this is a finding.
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-ExchangeCertificate | Select 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.
Non-Enterprise Mail Check Content: Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | Select Identity, AutoForwardEnabled If the value of AutoForwardEnabled is not set to False, this is a finding. Enterprise Mail Check Content: If the value of AutoForwardEnabled is set to True, this is not a finding. and In the Exchange Management Shell, enter the following command: Get-RemoteDomain If the value of RemoteDomain is not set to a .mil and/or .gov domain(s), this is a finding.
Non-Enterprise Mail Fix Text: Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <'IdentityName'> -AutoForwardEnabled $false Note: The <IdentityName> value must be in quotes. Enterprise Mail Fix Text: New-RemoteDomain -Name <NewRemoteDomainName> -DomainName <SMTP Address> Note: NewRemoteDomainName must either be a .mil or .gov domain. Set-RemoteDomain -Identity <'RemoteDomainIdentity'> -AutoForwardEnabled $true Note: The <RemoteDomainIdentity> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-TransportService | Select Name, Identity, ConnectivityLogEnabled If the value of ConnectivityLogEnabled is not set to True, this is a finding.
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-EventLogLevel If Diagnostic of any EventLevel is not set to Lowest, this is a finding.
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-AdminAuditLogConfig | Select AdminAuditLogParameters Note: The value of {*} indicates all parameters are being audited. If the value of AdminAuditLogParameters is not set to {*}, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-AdminAuditLogConfig -AdminAuditLogParameters *
Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase | Select Name, Identity, CircularLoggingEnabled If the value of CircularLoggingEnabled is not set to False, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase -Identity <'IdentityName'> -CircularLoggingEnabled $false Note: The <IdentityName> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-TransportService | Select Name, Identity, MessageTrackingLogSubjectLoggingEnabled If the value of “MessageTrackingLogSubjectLoggingEnabled” is not set to "False", this is a finding.
Open the Exchange Management Shell and enter the following command: Set-TransportService -Identity <'IdentityName'> - MessageTrackingLogSubjectLoggingEnabled $False Note: The <IdentityName> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-TransportService | Select Name, Identity, 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 -Identity <'IdentityName'> - MessageTrackingLogEnabled $True Note: The <IdentityName> value must be in quotes.
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 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 and select Performance >> Data Collector Sets >> User Defined. Right-click on, navigate to, and configure User Defined >> New >> Data Collector Sets and configure the system to use the data collection set for monitoring the queues.
Open the Exchange Management Shell and enter the following command: Get-ExchangeServer –status | Select Name, Identity, ErrorReportingEnabled For each Exchange Server, if the value of ErrorReportingEnabled is not set to False, this is a finding.
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 process for each Exchange Server.
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. Restrict any unauthorized groups' or users' read access to the audit logs.
Open the Exchange Management Shell and enter the following command: Get-OrganizationConfig | Select CustomerFeedbackEnabled If the value for CustomerFeedbackEnabled is not set to False, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-OrganizationConfig -CustomerFeedbackEnabled $false
Review the Email Domain Security Plan (EDSP). Determine the authorized groups or users that should have access to the audit data. If any group or user has modify privileges for the audit data that is not documented in the EDSP, this is a finding.
Update the EDSP. 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. 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. 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 Windows Power Shell and enter the following command: Get-ItemProperty 'hklm:\system\currentcontrolset\services\MSExchangeIMAP4be' | Select Start Note: The hklm:\system\currentcontrolset\services\MSExchangeIMAP4 value must be in quotes. If the value of Start is not set to 4, this is a finding.
Open the Windows Power Shell and enter the following command: services.msc Navigate to and double-click on Microsoft Exchange IMAP4 Backend. Click on the "General" tab. In the Startup Type: dropdown, select Disabled. Click the OK button.
Open the Windows Power Shell and enter the following command: Get-ItemProperty 'hklm:\system\currentcontrolset\services\MSExchangePOP3be' | Select Start Note: The hklm:\system\currentcontrolset\services\MSExchangePOP3 value must be in quotes. If the value of Start is not set to 4, this is a finding.
Open the Windows Power Shell and enter the following command: services.msc Navigate to and double-click on Microsoft Exchange POP3 Backend. Click on the "General" tab. In the Startup Type: dropdown, select Disabled. Click the OK button.
Review the Email Domain Security Plan (EDSP). Determine the location where the Exchange Mailbox databases reside. Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase | Select Name, Identity, EdbFilePath Open Windows Explorer and navigate to and verify the mailbox databases are on a dedicated partition. If the mailbox databases are not on a dedicated partition, this is a finding.
Update the EDSP. Configure the mailbox databases on a dedicated partition.
Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, SmartHosts Identify the Internet-facing connectors. For each Send connector, if the value of SmartHosts does not return the Smart Host IP Address, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <'IdentityName'> -SmartHosts <'IP Address of Smart Host'> -DNSRoutingEnabled $false Note: The <IdentityName> and <IP Address of Smart Host> values must be in quotes. Repeat the procedure for each Send connector.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, AuthMechanism For each Receive connector, if the value of AuthMechanism is not set to Tls, this is a finding.
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 procedures for each Receive connector.
Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, DomainSecureEnabled For each Send 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-SendConnector -Identity <'IdentityName'> -DomainSecureEnabled $true Note: The <IdentityName> value must be in quotes. Repeat the procedures for each Send connector.
Review the Email Domain Security Plan (EDSP). Determine the internal SMTP Domain. Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, TlsDomain For each Send connector, if the value of TlsDomain is not set to the value of the internal <SMTP Domain>, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-SendConnector -Identity <'IdentityName'> -TlsDomain <'SMTP Domain'> Note: The <IdentityName> and <SMTP Domain> values must be in quotes. Repeat the procedure for each Send connector.
If public folders are not used, this check is not applicable. 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.
Open the Exchange Management Shell and enter the following command: Set-PublicFolderDatabase -Identity <'IdentityName'> -RetainDeletedItemsUntilBackup $true Note: The <IdentityName> value must be in quotes.
If public folders are not used, this check is not applicable. 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.
Open the Exchange Management Shell and enter the following command: Set-PublicFolderDatabase -Identity <'IdentityName'> -AllowFileRestore $false Note: The <IdentityName> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase| Select Name, Identity, RetainDeletedItemsUntilBackup If the value of RetainDeletedItemsUntilBackup is not set to True, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase -Identity <'IdentityName'> -RetainDeletedItemsUntilBackup $true Note: The <IdentityName> value must be in quotes.
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.
Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase -Identity <'IdentityName'> -AllowFileRestore $false Note: The <IdentityName> value must be in quotes.
Review the Email Domain Security Plan (EDSP). Determine any accounts that have been authorized to have email auto-forwarded. Note: If email auto-forwarding is not being used, this check is not applicable. . Open the Exchange Management Shell and enter the following commands: Get-Mailbox | select Name, ForwardingSMTPAddress 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.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set-Mailbox | select Name, ForwardingSMTPAddress $null
Review the Email Domain Security Plan (EDSP). Determine any accounts that have been authorized to have email auto-forwarded. Note: If email auto-forwarding is not being used, this check is not applicable. Open the Exchange Management Shell and enter the following commands: Get-RemoteDomain | Select Name, Identity, DomainName, AutoForwardEnabled If any domain for a user forwarding SMTP address is not documented in the EDSP, this is a finding. Note: If no remote SMTP domain matching the mail-enabled user or contact that allows forwarding is configured for users identified with a forwarding address, this function will not work properly.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set- RemoteDomain -Identity <RemoteDomainIdParameter>
Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase | Select Name, Identity, ProhibitSendReceiveQuota If the value of ProhibitSendReceiveQuota is not set to Unlimited, this is a finding. or If the value of ProhibitSendReceiveQuote is set to an alternate value and has signoff and risk acceptance in the EDSP, this is not a finding.
Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase -Identity <'IdentityName'> -ProhibitSendReceiveQuota Unlimited 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 Prohibit Send Quota Limit. Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase | Select Name, Identity, ProhibitSendQuota If the value of ProhibitSendQuota is not set to the site's Prohibit Send Quota Limit, this is a finding.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase -Identity <'IdentityName'> -ProhibitSendQuota <'QuotaLimit'> Note: The <IdentityName> and <QuotaLimit> values must be in quotes.
Review the Email Domain Security Plan (EDSP). Determine the value for Issue Warning Quota. 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 site's Issue Warning Quota, this is a finding.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase -Identity <'IdentityName'> -IssueWarningQuota <'WarningQuota'> Note: The <IdentityName> and <WarningQuota> values must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-MailboxDatabase | Select Name, Identity, MountAtStartup If the value of MountAtStartup is not set to True, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-MailboxDatabase -Identity <'IdentityName'> -MountAtStartup $true Note: The <IdentityName> value must be in quotes.
Review the Email Domain Security Plan (EDSP). Determine the global maximum message receive size and whether signoff with risk acceptance is documented for the Receive connector to have a different value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, MaxMessageSize Identify Internet-facing connectors. For each Receive connector, if the value of MaxMessageSize is not the same as the global value, this is a finding. or If MaxMessageSize is set to a numeric value different from the global value and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP. 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. Repeat the procedure for each Receive connector.
Review the Email Domain Security Plan (EDSP). Determine the Maximum Recipients per Message value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, MaxRecipientsPerMessage For each Receive connector, evaluate the MaxRecipientsPerMessage value. For each Receive connector, if the value of MaxRecipientsPerMessage is not set to 5000, this is a finding. or If the value of 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.
Update the EDSP. 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.
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.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Name <'NewReceiveConnectorName'> -Identity <'IdentityName'> Note: Both the <NewSendReceiveName> and <IdentityName> value must be in quotes.
Review the Email Domain Security Plan (EDSP). Determine the value for Receive connectors. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, MaxHopCount For each Receive connector, if the value of MaxHopCount is not set to 60, this is a finding. or If the value of MaxHopCount is set to a value other than 60 and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -MaxHopCount 60 or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Repeat the procedure for each Receive connector.
Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity Determine the naming for the Send connectors. For each Send connector, 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-SendConnector -Name <'NewSendConnectorName'> -Identity <'IdentityName'> Note: Both the <NewSendConnectorName> and <IdentityName> value must be in quotes. 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 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. Open the Exchange Management Shell and enter the following command: Set-TransportService -Identity <'IdentityName'> -TransientFailureRetryCount 10 Note: The <ServerIdentity> 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 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. 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 procedures for each Send 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 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. Open the Exchange Management Shell and enter the following command: Set-TransportServer -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 global maximum message receive size. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Name, Identity, MaxReceiveSize If the value of MaxReceiveSize is not set to 10MB, this is a finding. or If the value of MaxReceiveSize is set to an alternate value 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-TransportConfig -MaxReceiveSize 10MB or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP). Determine the global maximum message send size. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Name, Identity, MaxSendSize If the value of MaxSendSize is not set to 10MB, this is a finding. or If the value of MaxSendSize is set to an alternate value 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-TransportConfig -MaxSendSize 10MB or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
Review the Email Domain Security Plan (EDSP). Determine the value for Maximum Domain Connections Open the Exchange Management Shell and enter the following command: Get-TransportService | Select Name, Identity, MaxPerDomainOutboundConnections If the value of MaxPerDomainOutboundConnections is not set to 20, this is a finding. or If the value of MaxPerDomainOutboundConnections is set to a value other than 20 and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP. 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 Connection Timeout value. Open the Exchange Management Shell and enter the following command: Get-SendConnector | Select Name, Identity, ConnectionInactivityTimeOut For each Send connector, if the value of ConnectionInactivityTimeOut is not set to 00:10:00, this is a finding. or If ConnectionInactivityTimeOut is set to other than 00:10:00 and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP. 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.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, PermissionGroups For each Receive connector, if the value of PermissionGroups is AnonymousUsers for any receive connector, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -PermissionGroups and enter a valid value user group. Note: The <IdentityName> value must be in quotes. Example: Set-ReceiveConnector -Identity <'IdentityName'> -PermissionGroups ExchangeUsers This is an Example only: Set-ReceiveConnector -Identity <'IdentityName'> -PermissionGroups ExchangeUsers Repeat the procedures for each Receive connector.
Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | Select Name, DomainName, Identity, AllowedOOFType If the value of AllowedOOFType is not set to InternalLegacy, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <'IdentityName'> -AllowedOOFType 'InternalLegacy' Note: The <IdentityName> and InternalLegacy values must be in quotes.
Update the EDSP. Note: If using another DoD-approved antispam product for email or a DoD-approved email gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable. 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.
Update the EDSP. Install the AntiSpam module. Open the Exchange Management Shell and enter the following command: & $env:ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1
Review the Email Domain Security Plan (EDSP). Note: If using another DoD-approved antispam product for email or a DoD-approved email gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable. 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
Update the EDSP. Open the Exchange Management Shell and enter the following command for any values that were not set to True: Set-ContentFilterConfig -Enabled $true Set-SenderFilterConfig -Enabled $true Set-SenderIDConfig -Enabled $true Set-SenderReputationConfig -Enabled $true
Review the Email Domain Security Plan (EDSP). Note: If using another DoD-approved antispam product for email or a DoD-approved email gateway spamming device, such as Enterprise Email Security Gateway (EEMSG), this is not applicable. Determine the Internal SMTP servers. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Format-List InternalSMTPServers If any internal SMTP server IP address returned does not reflect the list of accepted SMTP server IPs, this is a finding.
Note: Configure the IP addresses of every internal SMTP server. If the Mailbox server is the only SMTP server running the antispam agents, configure the IP address of the Mailbox server. Update the EDSP. Open the Exchange Management Shell and enter the following command: Single SMTP server address: Set-TransportConfig -InternalSMTPServers @{Add='<ip address1>'} Multiple SMTP server addresses: Set-TransportConfig -InternalSMTPServers @{Add='<ip address1>','<ip address2>'}
Note: Automated replies to .MIL or .GOV sites are allowed. Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | Select Name, Identity, AutoReplyEnabled If the value of “AutoReplyEnabled” is set to “True” and is configured to only Reply to .MIL or .GOV sites, this is not a finding. If the value of AutoReplyEnabled is not set to False, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <'IdentityName'> -AutoReplyEnabled $false Note: The <IdentityName> value must be in quotes.
Review the Email Domain Security Plan (EDSP). Determine the antivirus strategy. Verify the email-aware antivirus scanner product is Exchange 2013 compatible and DoD-approved. If email servers are using an email-aware antivirus scanner product that is not DoD-approved and Exchange 2013 compatible, this is a finding.
Update the EDSP. Install and configure a DoD-approved compatible Exchange 2013 email-aware antivirus scanner product.
Review the Email Domain Security Plan (EDSP). Determine the global maximum message recipient count. Open the Exchange Management Shell and enter the following command: Get-TransportConfig | Select Name, Identity, MaxRecipientEnvelopeLimit If the value of MaxRecipientEnvelopeLimit is not set to 5000, this is a finding. or If 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.
Update the EDSP. Set-TransportConfig -MaxRecipientEnvelopeLimit 5000 or The value as identified by the EDSP that has obtained a signoff with risk acceptance. Restart the Microsoft Exchange Information Store service.
Review the Email Domain Security Plan (EDSP). Determine the Connection Timeout value. Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, ConnectionTimeout For each Receive connector, if the value of ConnectionTimeout is not set to 00:10:00, this is a finding. or If ConnectionTimeout is set to other than 00:10:00 and has signoff and risk acceptance in the EDSP, this is not a finding.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set-ReceiveConnector -Identity <'IdentityName'> -ConnectionTimeout 00:10:00 Note: The <IdentityName> value must be in quotes. or The value as identified by the EDSP that has obtained a signoff with risk acceptance.
If public folders are not used, this check is not applicable. Review the Email Domain Security Plan (EDSP). Determine 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 ProhibitPostQuota values documented in the EDSP, this is a finding.
Update the EDSP. Open the Exchange Management Shell and enter the following command: Set-PublicFolderDatabase -Identity <'IdentityName'> -ProhibitPostQuota <'QuotaLimit'> Note: The <IdentityName> and <QuotaLimit> values must be in quotes.
Site must utilize an approved DoD third party malicious code scanner. Consult with System Administrator to demonstrate the application being used to provide malicious code protection in the Exchange implementation. If System Administrator is unable to demonstrate a third party malicious code protection application, this is a finding. If System Administrator is unaware of a third party malicious code protection application, this is a finding.
Following vendor best practice guidance, install and configure the third party malicious code protection application.
Open the Exchange Management Shell and enter the following command: Get-TransportAgent "Malware Agent" If the value of Enabled is set to True, this is a finding.
Open the Exchange Management Shell and enter the following command: & env:ExchangeInstallPath\Scripts\Disable-Antimalwarescanning.ps1
If public folders are not used, this check is not applicable. 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.
Open the Exchange Management Shell and enter the following command: Set-PublicFolderDatabase -Identity <'IdentityName'> -MountAtStartup $true Note: The <IdentityName> value must be in quotes.
Determine the most current, approved service pack. Open the Exchange Management Shell and enter the following command: Get-ExchangeServer | fl Name, AdminDisplayVersion If the value of AdminDisplayVersion does not return the most current, approved service pack, this is a finding.
Install the most current, approved service pack.
Review the Email Domain Security Plan (EDSP). Determine if the Exchange Mailbox databases are using redundancy. Open an Exchange Admin Center. Navigate to and select Microsoft Exchange >> Microsoft Exchange On - Premises <server.domain> >> Organization Configuration >> Mailbox. In the right pane, if two or more Mailbox servers are not listed, this is a finding. Note: The EDSP must indicate what availability the system must have, as approved by the ISSO. This can be used for justification when determining finding and possibly a severity downgrade.
Update the EDSP. Add two or more Mailbox servers to the database availability group.
Open the Exchange Management Shell and enter the following command: Get-ReceiveConnector | Select Name, Identity, Banner For each Receive connector, if the value of Banner is not set to 220 SMTP Server Ready, this is a finding.
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. Repeat the procedures for each Receive connector.
Review the Email Domain Security Plan (EDSP). Determine the authorized groups and users that have access to the Exchange application directories. Verify the access permissions on the directory match the access permissions listed in the EDSP. If any group or user has different access permissions, this is a finding. Note: The default installation directory is \Program Files\Microsoft\Exchange Server\V15.
Update the EDSP. 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 software baseline. Review the application software baseline procedures and implementation artifacts. Note the list of files and directories included in the baseline procedure for completeness. If an email software copy exists to serve as a baseline and is available for comparison during scanning efforts, this is not a finding.
Implement an email software baseline process and update the EDSP.
Review the Email Domain Security Plan (EDSP). Determine whether the site monitors system files (e.g., *.exe, *.bat, *.com, *.cmd, and *.dll) on servers for unauthorized changes against a baseline on a weekly basis. If software files are not monitored for unauthorized changes, this is a finding. Note: A properly configured HBSS Policy Auditor File Integrity Monitor (FIM) module will meet the requirement for file integrity checking. The Asset module within HBSS does not meet this requirement.
Update the EDSP. Monitor the software files (e.g., *.exe, *.bat, *.com, *.cmd, and *.dll) on Exchange servers for unauthorized changes against a baseline on a weekly basis. Note: This can be done with the use of various monitoring tools.
Review the Email Domain Security Plan (EDSP). 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. If any undocumented or unnecessary services are running, this is a finding.
Update the EDSP with the services required for the system to function. Remove or disable any services that are not required.
Open the Exchange Management Shell and enter the following command: Get-OutlookAnywhere Get-OutlookAnywhere | Select Name, Identity, InternalClientAuthenticationMethod, ExternalClientAuthenticationMethod If the value of InternalClientAuthenticationMethod and the value of ExternalClientAuthenticationMethod is not set to NTLM, this is a finding.
Open the Exchange Management Shell and enter the following command: For InternalClientAuthenticationMethod: Set-OutlookAnywhere -Identity '<IdentityName'> -InternalClientAuthenticationMethod NTLM For ExternalClientAuthenticationMethod: Set-OutlookAnywhere -Identity '<IdentityName'> -ExternalClientAuthenticationMethod NTLM
Review the Email Domain Security Plan (EDSP). Determine the directory Exchange is installed. Open Windows Explorer. Navigate to where Exchange is installed. If Exchange resides on a directory or partition other than that of the OS and does not have other applications installed (unless approved by the ISSO), this is not a finding.
Update the EDSP. 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-RemoteDomain | Select Identity, DeliveryReportEnabled If the value of DeliveryReportEnabled is not set to False, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <'IdentityName'> -DeliveryReportEnabled $false Note: The <IdentityName> value must be in quotes.
Open the Exchange Management Shell and enter the following command: Get-RemoteDomain | Select Name, Identity, NDREnabled If the value of NDREnabled is not set to False, this is a finding.
Open the Exchange Management Shell and enter the following command: Set-RemoteDomain -Identity <'IdentityName'> -NDREnabled $false Note: The <IdentityName> value must be in quotes.