Permitted traffic that should not have been allowed.
What gives it awayPermits on administrative ports from sources outside your management ranges. The firewall is doing what it was told; the rule is the problem.
ATT&CK T1133Nothing matches that yet. Tell us what you were looking for and it goes on the list.
Cisco ASA / Firepower Threat Defense · Event 106100
A rule with logging enabled matched a packet, and the firewall recorded whether it permitted or denied it. Unlike the deny-only messages, this one shows permits too, which makes it the message to use when confirming a rule actually works.
Also written as %ASA-6-106100ASA 106100access-list permittedASA-6-106100
Enterprise firewall logging. You will not see this on a home router.
Only generated for access-list entries with the log keyword, and it aggregates by default over a five-minute interval rather than logging every packet. That aggregation makes it far cheaper than per-packet logging but means the count matters more than the individual message. Excellent for finding rules with zero hits during a rule-base cleanup.
Sanitised. Addresses come from the RFC 5737 documentation ranges.
Aug 28 2026 09:41:22 fw-edge-01 : %ASA-6-106100: access-list outside_access_in permitted tcp outside/198.51.100.77(49820) -> dmz/192.0.2.15(443) hit-cnt 1 first hit [0x8ed2f1c1, 0x0] Everything else in the log line is context.
permittedThe rule allowed the traffic. Useful for confirming a change worked. deniedThe rule blocked it, recorded here because the rule has logging enabled. Most of the time it is one of these.
What gives it awayPermits on administrative ports from sources outside your management ranges. The firewall is doing what it was told; the rule is the problem.
ATT&CK T1133What gives it awayHigh hit counts on a permissive rule from sources with no business using it.
ATT&CK T1190index=firewall "106100" | rex "access-list (?<acl>\S+) (?<action>permitted|denied) (?<proto>\S+) (?<src_if>\S+)/(?<src_ip>\S+)\((?<src_port>\d+)\) -> (?<dst_if>\S+)/(?<dst_ip>\S+)\((?<dst_port>\d+)\)" | stats sum(hit_cnt) as hits by acl action dst_port | sort -hits grep '106100' asa.log | grep -oP 'access-list \K\S+' | sort | uniq -c | sort -rn 106023 records traffic denied because no rule allowed it, and it appears whether or not logging is configured on the rule. 106100 appears only for access-list entries that have the log keyword, and it records both permits and denies with an aggregated hit count. Use 106023 for denies and 106100 when you need to see what a specific rule is doing.
Because the ASA aggregates these over an interval — five minutes by default — rather than logging every packet. That keeps the volume manageable on a busy firewall. The trade-off is that the count in the message matters more than the number of messages, which trips up queries that count log lines.
Enable logging on the rules you are evaluating and look for access-lists that generate no 106100 messages over a representative period. `show access-list` also displays per-rule hit counters directly, which is usually the faster route for a one-off cleanup.
Last reviewed 28 August 2026