Public Exposure Monitoring
New public exposure caught within 24 hours
Publicly exposed assets happen accidentally: an S3 bucket someone made public in a workshop, a Kubernetes dashboard exposed via a misconfigured ingress, a database that was supposed to be behind a VPN, a Grafana with default admin credentials. The security team monitors known assets; the exposures happen on the ones they don't know about. Internet-scanner services find them within hours; attackers find them within days.
An hour-by-hour walkthrough.
Step by step.
- 01
Hourly external attack surface scan
Scan owned IP ranges + domains from an internet perspective. Enumerate exposed services + banners + TLS posture.
Cloud inventory · DNS enum · Port scanners · Shodan-style tools - 02
Compare against baseline + detect new exposures
Diff against prior scan. New exposures highlighted; changes to existing (new TLS weakness, banner change) also captured.
Baseline store · Diff engine - 03
Triage severity + identify owner
Severity model: sensitive service > weak TLS > banner leak. Owner from Context Graph + asset tags.
Severity model · Context Graph · Asset ownership - 04
Notify + remediate
Owner DM with specific exposure + fix. High-severity auto-incident + immediate action. Config-management fix for supported providers.
Slack · Teams · IaC · Cloud config - 05
Weekly digest + trend to CISO
Exposure surface size, new exposures per week, mean time to remediation, top offender teams. Prioritized by potential impact.
Analytics · CISO digest
What you connect to make this run.
AWS · GCP · Azure inventory
readOwned IP ranges + resources. Complete asset picture drives complete external scan.
Cert transparency · DNS enum · Shodan-style external scanners
readExternal-perspective view. Sees what attackers see.
IaC · Cloud config
read+writeAuto-remediation for supported patterns (S3 public → private, Security Group tighten). PR-driven for review.
PagerDuty · Slack · Teams
read+writeHigh-severity incident promotion + owner notification for lower-severity.
Before and after, honestly.
Playbooks that pair with this one.
Answers about this playbook.
What about intentionally public resources (marketing site, docs)?
Whitelist of intentionally-public resources. Exemptions per resource; scan continues but exemption is respected. Sensitive-service exposure not exemptable.
How does it handle CDN-fronted assets?
CDN passes-through analyzed; origin exposures detected even when fronted. Some CDNs (Cloudflare) hide origin IP; detection uses different signals.
What about internal-network-only resources exposed by accident?
Prime detection target. Internal-only resource suddenly public is the exact scenario this catches. Auto-remediation returns to prior baseline.
How does it handle short-lived environments (preview URLs, PR environments)?
Short-lived environments tagged; scanned but with adjusted thresholds. Auto-shutdown of dev environments with sensitive-service exposure.
Does it interact with our WAF?
WAF logs feed the signal set. Sudden WAF-block spikes may indicate exposure attempts. Joint tuning of exposure detection + WAF rules.
See it run on your data.
Free plan, no credit card. Connect the systems this playbook needs and run it against a past event first.