Function App not using latest TLS encryption version
This product is not supported for your selected
Datadog site. (
).
Id: 45fc717a-bd86-415c-bdd8-677901be1aa6
Cloud 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" "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
}
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" "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
}
}
Non-Compliant Code Examples
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"
}
}
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
}
}