Pipeline: 9.9 Ensure that 'Java version' is currently supported (if in use)
Description
Periodically, older versions of Java may be deprecated and no longer supported. Using a supported version of Java for app services is recommended to avoid potential unpatched vulnerabilities.
Deprecated and unsupported versions of programming and scripting languages can present vulnerabilities which may not be addressed or may not be addressable.
Remediation
From Azure Portal
- Login to Azure Portal using https://portal.azure.com.
- Go to
App Services
. - Click on each App.
- Under
Settings
section, click onConfiguration
. - Click on the
General settings
pane and ensure that for aStack
ofJava
theMajor Version
andMinor Version
reflect a currently supported release, and that theJava web server version
is set to theauto-update
option.
NOTE: No action is required if Java version
is set to Off
, as Java is not used by your app.
From Azure CLI
To see the list of supported runtimes:
az webapp list-runtimes
To set a currently supported Java version for an existing app, run the following command:
az webapp config set --resource-group <RESOURCE_GROUP_NAME> --name <APP_NAME> [--java-version <JAVA_VERSION> --java-container <JAVA_CONTAINER> --java-container-version <JAVA_CONTAINER_VERSION> [--windows-fx-version <JAVA_RUNTIME_VERSION>] [--linux-fx-version <JAVA_RUNTIME_VERSION>]
If creating a new application to use a currently supported version of Java, run the following commands.
To create an app service plan:
az appservice plan create --resource-group <RESOURCE_GROUP_NAME> --name <PLAN_NAME> --location <LOCATION> [--is-linux --number-of-workers <INT> --sku <PRICING_TIER>] [--hyper-v --sku <PRICING_TIER>]
Get the app service plan ID:
az appservice plan list --query "[].{Name:name, ID:id, SKU:sku, Location:location}"
To create a new Java web application using the retrieved app service ID:
az webapp create --resource-group <RESOURCE_GROUP_NAME> --plan <APP_SERVICE_PLAN_ID> --name <app name> [--linux-fx-version <JAVA_RUNTIME_VERSION>] [--windows-fx-version <JAVA_RUNTIME_VERSION>]
From PowerShell
As of this writing, there is no way to update an existing application's SiteConfig
or set a new application's SiteConfig
settings during creation via PowerShell.
Default Value
The default setting is whichever setting was chosen in the creation of the webapp.
Run the pipeline
To run this pipeline from your terminal:
flowpipe pipeline run azure_cis.pipeline.cis_v300_9_9
Use this pipeline
To call this pipeline from your pipeline, use a step:
step "pipeline" "step_name" { pipeline = azure_cis.pipeline.cis_v300_9_9 }
Params
Name | Type | Required | Description | Default |
---|---|---|---|---|
database | connection.steampipe | Yes | Database connection string. | connection.steampipe.default |
notifier | notifier | Yes | The name of the notifier to use for sending notification messages. | notifier.default |
notification_level | string | Yes | The verbosity level of notification messages to send. Valid options are 'verbose', 'info', 'error'. | info |
approvers | list(notifier) | Yes | List of notifiers to be used for obtaining action/approval decisions. | notifier.default |
Outputs
This pipeline has no outputs.