Cloud & Infrastructure

Network & Resource Isolation

Intermediate

The network is a security control, not just plumbing. What can reach what, and from where, decides how far an attacker gets after the first break-in. Default to private. Nothing is reachable unless there is a reason, data stores never face the public internet, and a breach in one segment does not open the whole estate.

Network isolation applies defence-in-depth at the connectivity layer. Even with perfect authentication, a database, cache, or admin surface open to the public internet is a target. Attackers scan it within minutes of it going live. Keep backends private, segment environments and tiers, and allow only the specific flows that are needed. Then a compromised component cannot move freely to the rest.

In the Finperiti audit, the wide-open CORS and public exposure were network-boundary failures. The front door was left open. Combine private endpoints, network segmentation, and tight ingress and egress rules. The platform then stops being a flat network where one foothold reaches everything, and becomes a set of contained segments.

Keep backends private

Public database and open CORS Azure SQL: public network access = Enabled, firewall 0.0.0.0-255.255.255.255
API CORS: AllowAnyOrigin()

The database is reachable from anywhere on the internet, and any website can call the API. These two open doors turn any leaked credential or browser exploit into direct access.

Private endpoint and scoped origins Azure SQL: public network access = Disabled, private endpoint in app VNet
API CORS: WithOrigins("https://app.finperiti.com")

The database is only reachable from the application's private network, and only our own front end can call the API. The attack surface shrinks to the intended paths.

Segment to contain blast radius

Self-review checklist

Why it matters: Authentication decides who gets in. Network isolation decides how much they can reach once they are in. Public data stores and flat networks turn a single mistake into a full breach. Private-by-default, segmented networks keep a compromise contained. That is the difference between an incident and a disaster.