Deny by Default
Deny by default is a security approach where access or traffic is blocked unless it has been explicitly permitted. Rather than allowing everything and then blocking specific exceptions, the system refuses anything that has not been expressly authorized. This reduces the chance that unintended or unforeseen access slips through.
Deny by default is an access control posture in which the default outcome of an authorization or filtering decision is denial, so that only requests, traffic, or actions expressly permitted by policy are allowed. In the network filtering context defined by NIST SP 800-41 Rev. 1, it means blocking all inbound and outbound traffic that has not been explicitly permitted by firewall policy. In network policy platforms such as Calico, a global default deny policy denies ingress and egress for workloads that lack an explicit allow policy (or that carry incorrect policy). The principle generalizes to authorization enforcement broadly: absent a matching permit rule, the decision resolves to deny. Note that this evidence packet addresses the concept primarily in network traffic filtering terms; its application to identity- and attribute-based authorization decisions (for example as a policy decision point default) is an extension not detailed in these sources.
Why it matters
Deny by default inverts the risk model of access control. In a permissive posture where everything is allowed except explicitly blocked exceptions, any gap in the exception list becomes an open door, and gaps are inevitable as systems grow, policies drift, and new services appear that no one remembered to restrict. Under a deny-by-default posture, the failure mode is reversed: an overlooked service or an unrecognized request is denied rather than silently permitted, so misconfigurations tend to break functionality (which gets noticed and fixed) rather than quietly expand the attack surface.
This principle is foundational to defensible network filtering. As reflected in NIST SP 800-41 Rev. 1, a firewall policy that blocks all inbound and outbound traffic not expressly permitted forces every allowed flow to be a deliberate, documented decision. The same logic underpins modern workload segmentation platforms: in Calico, for example, a global default deny policy ensures that pods without an explicit allow policy, or pods carrying incorrect policy, are not permitted to send or receive traffic, closing the window where an unlabeled or misconfigured workload would otherwise communicate freely.
The trade-off is operational rigor. Deny by default requires that legitimate access be enumerated and maintained; incomplete policy will block intended traffic. This is generally the desired failure direction from a security standpoint, but it demands disciplined policy management and testing so that necessary flows are captured before enforcement is turned on. The evidence here addresses the principle primarily in network traffic filtering terms; extending it to identity- and attribute-based authorization decisions is a natural generalization but is not detailed in these sources.
Who it's relevant to
Inside Deny by Default
Common questions
Answers to the questions practitioners most commonly ask about Deny by Default.
