Public IP Exposure Calculator
Score internet exposure from public IP count, open admin ports, unpatched public hosts and WAF coverage, and price public IPv4 at $0.005 per hour.
Inputs
AWS charges $0.005 per hour for every public IPv4 address, attached or not
Internet Exposure Score
57.3/ 100
Exposure Level
Medium
Share of Estate Internet-Facing
4.43%
Internet-Reachable Entry Points
210endpoints
Unpatched Share of Public Hosts
16.7%
Monthly Public IPv4 Cost
$678.90
Monthly Cost of Idle Addresses
$80.30
Annual Public IPv4 Cost
$8,146.80
Verdict
Remove the public administrative and database endpoints — replace them with Session Manager, a bastion or a private endpoint
Step by step
Values used
Cloud resources in scope = 4,200 resources; Public IP addresses in use = 186 addresses; Allocated but unattached public IPs = 22 addresses; Internet-facing load balancers = 24 load balancers; Public endpoints exposing SSH, RDP or a database port = 9 endpoints; Public hosts missing a critical patch = 31 hosts; Public HTTP endpoints behind a WAF = 58 %; Public IPv4 price = 0.0050 USD/hour; Billable hours per month = 730 hours
Public IP Exposure
Exposure score = 1.5 × internet-facing percentage + 4 × public admin endpoints + 0.5 × unpatched public host percentage + 0.15 × (100 − WAF coverage), clamped to 0–100.
Public IPv4 charge
Monthly public IPv4 cost = addresses × $0.005 × 730 hours. AWS bills the charge whether the address is attached to a running instance or sitting idle.
Internet Exposure Score
= 57.3 / 100
Exposure Level
= Medium
Share of Estate Internet-Facing
= 4.43
Internet-Reachable Entry Points
= 210 endpoints
Unpatched Share of Public Hosts
= 16.7
Monthly Public IPv4 Cost
= 678.90
How it works
Exposure is scored from four things an attacker actually uses: how much of the estate answers from the internet, whether any of it is an administrative or database port, whether those hosts are patched, and whether HTTP traffic is filtered. Public administrative endpoints dominate at four points each because they are the entry point in the majority of opportunistic cloud intrusions. Since AWS started charging for every public IPv4 address in 2024, internet exposure has a line item as well as a risk, and both shrink with the same change — put the resource behind a private endpoint or a load balancer.
Formulas
Public IP Exposure
Exposure score = 1.5 × internet-facing percentage + 4 × public admin endpoints + 0.5 × unpatched public host percentage + 0.15 × (100 − WAF coverage), clamped to 0–100.
- exposureRatio
- Public IPs ÷ all resources × 100
- openAdminPorts
- Endpoints exposing SSH, RDP or a database port to the internet
- wafCoverage
- Share of public HTTP endpoints behind a WAF
Public IPv4 charge
Monthly public IPv4 cost = addresses × $0.005 × 730 hours. AWS bills the charge whether the address is attached to a running instance or sitting idle.
- ipHourlyPrice
- $0.005 per public IPv4 address per hour
- idleElasticIps
- Allocated addresses attached to nothing
Frequently Asked Questions
How is Public IP Exposure calculated?
Exposure score = 1.5 × internet-facing percentage + 4 × public admin endpoints + 0.5 × unpatched public host percentage + 0.15 × (100 − WAF coverage), clamped to 0–100. Exposure is scored from four things an attacker actually uses: how much of the estate answers from the internet, whether any of it is an administrative or database port, whether those hosts are patched, and whether HTTP traffic is filtered. Public administrative endpoints dominate at four points each because they are the entry point in the majority of opportunistic cloud intrusions.
Why does Public IP Exposure matter?
Since AWS started charging for every public IPv4 address in 2024, internet exposure has a line item as well as a risk, and both shrink with the same change — put the resource behind a private endpoint or a load balancer.
What values do I need to enter?
This calculator takes 9 inputs: Cloud resources in scope, Public IP addresses in use, Allocated but unattached public IPs, Internet-facing load balancers, Public endpoints exposing SSH, RDP or a database port, Public hosts missing a critical patch, Public HTTP endpoints behind a WAF, Public IPv4 price, Billable hours per month. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Does a public IP always mean exposure?
It means reachability, which is the precondition. A public IP with a security group allowing nothing inbound is not exposed today, but it is one rule change away, and it still costs $3.65 a month. Prefer private subnets with NAT egress and a load balancer or private endpoint for ingress.
Why are idle addresses called out separately?
Two reasons: they are pure waste at $3.65 each per month, and they are frequently still referenced in DNS. A released address is reassigned to another tenant within minutes, so a stale record pointing at it becomes a subdomain takeover.
You might also need
- S3 Bucket Exposure CalculatorCommonly used together
- Cloud Attack Surface CalculatorCommonly used together
- Cloud Security Group CalculatorCommonly used together
- Cloud Security Health Score CalculatorAlso in Cloud Security
- Cloud IAM Risk CalculatorAlso in Cloud Security
- Azure Storage Exposure CalculatorAlso in Cloud Security