standard
turbot/azure_cis

Pipeline: 7.4 Ensure that HTTP(S) access from the Internet is evaluated and restricted

Description

Network security groups should be periodically evaluated for port misconfigurations. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required and narrowly configured.

The potential security problem with using HTTP(S) over the Internet is that attackers can use various brute force techniques to gain access to Azure resources. Once the attackers gain access, they can use the resource as a launch point for compromising other resources within the Azure tenant.

Remediation

From Azure Portal

  1. Go to Virtual machines.
  2. For each VM, open the Networking blade.
  3. Click on Inbound port rules.
  4. Delete the rule with:
  • Port = 80/443 OR [port range containing 80/443]
  • Protocol = TCP OR Any
  • Source = Any (*) OR IP Addresses(0.0.0.0/0) OR Service Tag(Internet)
  • Action = Allow

From Azure CLI

  1. Run below command to list network security groups:
az network nsg list --subscription <subscription-id> --output table
  1. For each network security group, run below command to list the rules associated with the specified port:
az network nsg rule list --resource-group <resource-group> --nsg-name <nsg-name> --query "[?destinationPortRange=='80 or 443']"
  1. Run the below command to delete the rule with:
  • Port = 80/443 OR [port range containing 80/443]
  • Protocol = TCP OR "*"
  • Source = Any (*) OR IP Addresses(0.0.0.0/0) OR Service Tag(Internet)
  • Action = Allow
az network nsg rule delete --resource-group <resource-group> --nsg-name <nsg-name> --name <rule-name>

Run the pipeline

To run this pipeline from your terminal:

flowpipe pipeline run azure_cis.pipeline.cis_v300_7_4

Use this pipeline

To call this pipeline from your pipeline, use a step:

step "pipeline" "step_name" {
pipeline = azure_cis.pipeline.cis_v300_7_4
}

Params

NameTypeRequiredDescriptionDefault
database
connection.steampipe
YesDatabase connection string.connection.steampipe.default
notifier
notifier
YesThe name of the notifier to use for sending notification messages.notifier.default
notification_level
string
YesThe verbosity level of notification messages to send. Valid options are 'verbose', 'info', 'error'.info
approvers
list(notifier)
YesList of notifiers to be used for obtaining action/approval decisions.notifier.default

Outputs

This pipeline has no outputs.

Tags

folder = CIS v3.0.0/7 Networking