The production IIS 10.0 web server must utilize SHA2 encryption for the Machine Key.

STIG ID: IIST-SV-000137  |  SRG: SRG-APP-000231-WSR-000144 |  Severity: medium |  CCI: CCI-001199 |  Vulnerability Id: V-218807 | 

Vulnerability Discussion

The Machine Key element of the ASP.NET web.config specifies the algorithm and keys that ASP.NET will use for encryption. The Machine Key feature can be managed to specify hashing and encryption settings for application services such as view state, forms authentication, membership and roles, and anonymous identification. Ensuring a strong encryption method can mitigate the risk of data tampering in crucial functional areas such as forms authentication cookies, or view state.

Check

Note: If ASP.NET is not installed, this is Not Applicable.

Open the IIS 10.0 Manager.
Click the IIS 10.0 web server name.
Double-click the "Machine Key" icon in the website Home Pane.
Verify "HMACSHA256" or stronger encryption is selected for the Validation method and "Auto" is selected for the Encryption method.
If "HMACSHA256" or stronger encryption is not selected for the Validation method and/or "Auto" is not selected for the Encryption method, this is a finding.

If .NET is not installed, this is Not Applicable.

Fix

Open the IIS 10.0 Manager.

Click the IIS 10.0 web server name.

Double-click the "Machine Key" icon in the web server Home Pane.

Set the Validation method to "HMACSHA256" or stronger.
Set the Encryption method to "Auto".

Click "Apply" in the "Actions" pane.