Function App FTPS Enforce Disabled
- Query id: 9dab0179-433d-4dff-af8f-0091025691df
- Query name: Function App FTPS Enforce Disabled
- Platform: Terraform
- Severity: High
- Category: Insecure Configurations
- URL: Github
Description¶
Azure Function App should only enforce FTPS when 'ftps_state' is enabled
Documentation
Code samples¶
Code samples with security vulnerabilities¶
Positive test num. 1 - tf file
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 {
http2_enabled = true
ftps_state = "AllAllowed"
}
}
Positive test num. 2 - tf file
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 {
http2_enabled = true
}
}
Code samples without security vulnerabilities¶
Negative test num. 1 - tf file
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 {
ftps_state = "FtpsOnly"
}
}
Negative test num. 2 - tf file
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 {
ftps_state = "Disabled"
}
}