Function App not using latest TLS encryption version This product is not supported for your selected
Datadog site . (
).
Id: terraform-azure-function-app-not-using-latest-tls-encryption-version
Provider: Azure
Platform: Terraform
Severity: Medium
Category: Encryption
Learn More Description Azure Function Apps should be configured to use the latest supported TLS version to ensure encrypted communications and protect data in transit. If the min_tls_version attribute is set to an outdated value such as 1.1, as shown below, the application becomes susceptible to known TLS vulnerabilities and exploits:
site_config {
min_tls_version = 1.1
}
To mitigate these risks and enforce stronger secure connections with clients, set min_tls_version to at least 1.2, as shown here:
site_config {
min_tls_version = 1.2
}
Compliant Code Examples resource "azurerm_function_app" "negative1" {
name = "test-azure-functions"
location = azurerm_resource_group . example . location
resource_group_name = azurerm_resource_group . example . name
app_service_plan_id = azurerm_app_service_plan . example . id
storage_account_name = azurerm_storage_account . example . name
storage_account_access_key = azurerm_storage_account . example . primary_access_key
site_config {
dotnet_framework_version = "v4.0"
scm_type = "LocalGit"
min_tls_version = 1 . 2
}
}
resource "azurerm_function_app" "negative2" {
name = "test-azure-functions"
location = azurerm_resource_group . example . location
resource_group_name = azurerm_resource_group . example . name
app_service_plan_id = azurerm_app_service_plan . example . id
storage_account_name = azurerm_storage_account . example . name
storage_account_access_key = azurerm_storage_account . example . primary_access_key
site_config {
dotnet_framework_version = "v4.0"
scm_type = "LocalGit"
}
}
resource "azurerm_function_app" "negative3" {
name = "test-azure-functions"
location = azurerm_resource_group . example . location
resource_group_name = azurerm_resource_group . example . name
app_service_plan_id = azurerm_app_service_plan . example . id
storage_account_name = azurerm_storage_account . example . name
storage_account_access_key = azurerm_storage_account . example . primary_access_key
}
Non-Compliant Code Examples resource "azurerm_function_app" "positive1" {
name = "test-azure-functions"
location = azurerm_resource_group . example . location
resource_group_name = azurerm_resource_group . example . name
app_service_plan_id = azurerm_app_service_plan . example . id
storage_account_name = azurerm_storage_account . example . name
storage_account_access_key = azurerm_storage_account . example . primary_access_key
site_config {
dotnet_framework_version = "v4.0"
scm_type = "LocalGit"
min_tls_version = 1 . 1
}
}
resource "azurerm_function_app" "positive2" {
name = "test-azure-functions"
location = azurerm_resource_group . example . location
resource_group_name = azurerm_resource_group . example . name
app_service_plan_id = azurerm_app_service_plan . example . id
storage_account_name = azurerm_storage_account . example . name
storage_account_access_key = azurerm_storage_account . example . primary_access_key
site_config {
dotnet_framework_version = "v4.0"
scm_type = "LocalGit"
min_tls_version = "1.1"
}
}