Network access control lists process rules in a strict top-down order, applying the first matching rule and stopping immediately, with an implicit deny for any traffic that matches nothing.
ACL Rule Processing
Another thing we should understand is how rules get processed.
One thing that I do want to mention is that these rules are really applied to network access control lists. There are other types of access control lists: ones for servers, one for databases, one for files and folders. There are ones if you are working with Linux systems, ones if you're working with Windows systems, there are share permissions. There are different types of access control lists. The ones that we're talking about here, and the rules that we're going to go over here, apply for network access control lists, and it's not universal to some of those other types of access control lists.
Network access control lists, also known as rules on many devices, get processed in a certain way. There could be some conflicting information. For instance, what we see right here is a specific computer. So this is a host 101010.10, that's an IP address assigned to some host on that network. It is part of this network right here, 1010.0, and also it's part of this network right here, 10, which is actually the same network but it's just a different port.
So we actually have many different matches that a packet could match against. How does this get processed? How do we determine, when there's a conflict here between deny and permit, which rule it's actually going to follow?
Here's how things get processed on a network access control list.
Here's an example of this. Let's go through this process. Let's say a router that has this network access control list on it gets a packet that's coming from the source IP address 1010.131 and going to 10.152.164.15, and it's going to port 53.
So what it's going to do is try to match it against this access control list. It takes the first entry and says, does it match against this? In which case it says, is it coming from this source IP address? And this is specifying it's got to match exactly, so it's got to be 101010. Is that what this is? No, it isn't. This is not a match, so it crosses that off the list — it is not matching up with that.
So it goes to the next one. In this next one, is it part of this network, 1010.0? And it's the whole network range there, a /24. It says yes, that is a match. So now it goes to the destination IP address. Is it going to 10.52.164.15? And we match against this. What this is saying is "any", so it can be really any IP address and it'll be matched, so we've got a match there as well. And then it says port 53 — that is a match as well. So we've got a complete match. Now it will permit that traffic and will not go any further. That's where it stops at that point in time.
If it were to be a different port, for instance 443, it would say, well, it doesn't match that. Now, it doesn't match this line either. So then it goes on to this next one and it matches this one and says, okay, it's permitted, because it's going to 443 here.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →