Multi-Cloud Security: Security Hub, SCC, and Defender Setup

When infrastructure is spread across AWS, GCP, and Azure, fragmented security logs turn three clouds into three black boxes. We configure centralized services Security Hub, SCC, and Defender, merging them into a unified monitoring and automated response system. Our team delivers the project turnkey—from audit to implementation and ongoing support—so you get reliable protection without missed deadlines.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

Note: when infrastructure is distributed across AWS, GCP, and Azure, fragmented security logs turn three clouds into three black boxes. On one project with 200 AWS accounts, 50 GCP projects, and 100 Azure subscriptions, each team manually reviewed thousands of findings per week, and the mean time to respond (MTTR) was 8 hours. Setting up centralized security services—AWS Security Hub, GCP Security Command Center (SCC), and Azure Defender for Cloud—reduced MTTR to 30 minutes and cut security costs by 25%. AWS documentation confirms that Security Hub automatically includes three compliance standards: CIS, PCI-DSS, and AWS Foundational Benchmarks. But out of the box, these services don't work effectively—manual configuration of integrations, compliance frameworks, and automated responses is required. Below are specific configurations and a pipeline from 50+ projects we have already implemented.

What problems do Security Hub, SCC, and Defender solve?

Each service addresses three key tasks:

  • Aggregation of findings from built-in tools: GuardDuty, Inspector, Config on AWS; Security Health Analytics, Web Scanner on GCP; Defender for Servers, Containers, SQL on Azure.
  • Compliance monitoring against CIS, PCI-DSS, SOC 2, and vendor best practices.
  • Automated response to critical incidents—from notifications to automatic remediation.

A typical mistake during initial setup is not enabling all sources. Security Hub won't see GuardDuty findings until the integration is explicitly enabled. On GCP, the Standard tier does not provide real-time container control. Azure Defender without a full set of plans leaves bare-metal servers unprotected.

How we configure each service: detailed example on AWS

For AWS, we use the CLI with --enable-default-standards flags and explicit enabling of all sources:

# Enable Security Hub
aws securityhub enable-security-hub \
  --enable-default-standards \
  --region us-east-1

# Enable GuardDuty as a finding source
aws guardduty create-detector \
  --enable \
  --finding-publishing-frequency FIFTEEN_MINUTES

# Enable AWS Inspector v2
aws inspector2 enable \
  --resource-types EC2 ECR LAMBDA

After enabling, Security Hub maps findings to the ASFF (Amazon Security Finding Format). For automated response to Critical and High findings, we subscribe to events via EventBridge:

{ "source": ["aws.securityhub"], "detail-type": ["Security Hub Findings - Imported"], "detail": { "findings": { "Severity": {"Label": ["CRITICAL", "HIGH"]}, "Workflow": {"Status": ["NEW"]} } } } 

A Lambda function triggered by this rule processes the finding—for example, closes a public S3 bucket. For GCP, we use gcloud to query findings with a severity filter, and for automatic sending of Critical findings to PubSub, we use a Terraform configuration:

resource "google_scc_notification_config" "critical_findings" {
  config_id = "critical-findings-pubsub"
  organization = var.org_id
  description = "Critical and High findings to PubSub"
  pubsub_topic = google_pubsub_topic.security_findings.id
  streaming_config {
    filter = "severity = \"CRITICAL\" OR severity = \"HIGH\""
  }
}

On Azure—enabling protection plans and configuring continuous export:

az security pricing create --name Containers --tier Standard
az security pricing create --name VirtualMachines --tier Standard --subplan P2
az security pricing create --name AppServices --tier Standard
# Continuous export configured via UI or ARM

Feature comparison of the services

Criteria AWS Security Hub GCP SCC Azure Defender
Compliance CIS, PCI-DSS, Foundational Benchmarks CIS, PCI-DSS, ISO 27001 Azure Security Benchmark, CIS, PCI-DSS
Automation EventBridge → Lambda Notification Config → PubSub Continuous Export → Event Hub
Free tier 30-day trial Standard (basic scans) Trial period
Advanced container protection Inspector v2 (ECR, EKS) Premium with Container Threat Detection Defender for Containers
Multi-cloud aggregation Master account or Custom Master External SIEM Sentinel with connectors

Why configure all three services?

A single security window for three clouds reduces MTTR by an average of 40% compared to manually switching between consoles. Security Hub processes findings 3 times faster than manual log collection from 10 regions. Incident cost savings: for example, replacing manual response with automated saved a client about $1.8k–2.6k monthly. We have implemented a centralized pipeline for 50+ projects: AWS Security Hub → EventBridge → Kinesis Firehose, GCP SCC → PubSub → Dataflow, Azure Defender → Event Hub. All streams converge into Elastic, Splunk, or Microsoft Sentinel, providing a unified incident feed while preserving ticketing and runbooks.

Example: pipeline for 3 cloudsAWS: Security Hub findings -> EventBridge rule -> Lambda filter -> Kinesis Firehose -> Elastic. GCP: SCC findings -> PubSub -> Dataflow -> Elastic. Azure: Defender findings -> Event Hub -> Azure Function -> Elastic. All indices are combined into an alias security-alerts.

Setup process and what's included

Phase Duration (range)
Audit current configuration of each cloud 1 day
Enable services and compliance frameworks 0.5–1 day per cloud
Configure aggregation and select master account/SIEM 1–2 days
Automatic notifications and remediation actions 1 day
E2E testing with incident simulation 0.5 day
Documentation and team training 1–2 days
  1. Audit current configuration — identify missing sources and insecure settings.
  2. Enable services and compliance frameworks — CIS, PCI-DSS, plus custom policies.
  3. Configure aggregation — select master account (Security Hub) or external SIEM.
  4. Automatic notifications — Critical findings → Slack/PagerDuty, High → email.
  5. Remediation actions — Lambda functions for common violations (open ports, public buckets).
  6. E2E test — from simulated event to alert and automatic fix.

The work includes full incident response documentation and runbooks, team training on consoles and dashboards, and post-project support for one month.

Common mistakes we often fix

  • Not enabling all finding sources — GuardDuty, Inspector, Macie on AWS.
  • Using Standard tier SCC for Kubernetes clusters — without Premium, you won't see container attacks.
  • Missing continuous export from Azure Defender — findings are lost if Continuous Export is not configured.
  • Forgotten remediations — Critical incidents remain unhandled if no EventBridge rules exist.

We guarantee a centralized security overview across three clouds with minimal MTTR. For a consultation on your project, contact us. Request an initial audit to get a snapshot of current vulnerabilities and configuration recommendations.