本文へ移動

インフラ転職コンパス現場・技術・キャリアをつなぐ専門メディア

メニュー

ACLの暗黙のdenyとは?必要な通信を止めない設計と確認方法

ACLの暗黙のdenyは、ACL末尾に明示されていなくても、どのpermit条件にも一致しないpacketを拒否する動作です。必要通信を止めないためには、通信要件からpermitを作り、rule順序、方向、hit counter、negative testまで確認します。

この記事でわかること

  • 暗黙のdenyが動作する位置
  • 必要通信をpermitへ変換する方法
  • rule順序とin/outの確認
  • counter・log・試験での完了判定

Xの元ポスト

明示的に許可されていない通信はACL最後の暗黙のdenyで拒否されると示したポスト。

(出典:https://x.com/yeiquer12/status/2052692468509093999(X:明示的に許可されていない通信はACL最後の暗黙のdenyで拒否されると示したポスト。))

ACLの暗黙のdenyとは?

先に答えると、ACLの暗黙のdenyは、ACL末尾に明示されていなくても、どのpermit条件にも一致しないpacketを拒否する動作です。必要通信を止めないためには、通信要件からpermitを作り、rule順序、方向、hit counter、negative testまで確認します。

必要通信を止めないACLはどう設計する?

仕組みを構成上の位置と観測点に分けると、用語だけでなく実際のpacket・stateを説明できます。

仕組みと判断軸
項目 仕組み・役割 実務での判断
explicit permit 要件に一致する通信を許可 source/destination/protocol/port
explicit deny 拒否を可視化・log化 log量とCPU影響に注意
implicit deny どのentryにも不一致 ACL末尾で拒否
first match 上から最初に一致したruleを適用 広いruleの位置に注意
構成・処理フロー
packet → ACE 10 match? → ACE 20 match? → ... → implicit deny
          YES permit       YES deny              NO MATCH = drop

rule順序と適用方向をどう確認する?

rule順序と適用方向をどう確認する?では、対象と期待値を固定し、状態取得、実通信、変更後確認の順に進めます。commandは例であり、本番投入前に対象OSの公式資料と現行設定を確認してください。

実行手順と完了条件
STEP 実施内容 確認する結果
1 通信要件を5-tupleと方向へ分解 曖昧な『Web通信』を避ける
2 既存ruleとshadow/overlapをreview 上位ruleの影響
3 変更前counterとlogを保存 現在利用中の通信を把握
4 allow・deny・既存通信を試験 hit entryと実通信を一致
設定・確認例(対象機種・OS・versionで確認してください)
ip access-list extended WEB-IN
 10 permit tcp 192.0.2.0 0.0.0.255 host 203.0.113.10 eq 443
 90 deny ip any any log
! 90を省略しても末尾は暗黙にdeny
interface GigabitEthernet0/1
 ip access-group WEB-IN in

show ip access-lists WEB-IN
正常時の出力例・記録例
Extended IP access list WEB-IN
    10 permit tcp 192.0.2.0 0.0.0.255 host 203.0.113.10 eq 443 (24 matches)
    90 deny ip any any log (3 matches)

暗黙のdenyで止まった通信をどう切り分ける?

一つの表示だけで原因を決めず、症状ごとに次の観測点を選びます。正常時の同条件出力が比較基準です。

正常時と異常時の切り分け
症状・誤り 主な原因候補 次に確認すること
必要通信がdeny permit漏れ・address/port誤り deny logとpacket tuple
追加permitが効かない 上位denyに先に一致 sequence順とcounter
counterが増えない interface/方向/経路違い show run interfaceとroute
log過多 deny any logの大量traffic rateと必要なlog範囲

変更後にどの試験を行う?

本番でpermit anyを一時追加して原因確認する方法は、不要通信まで開放します。まず拒否log、counter、captureでpacket条件を特定し、必要最小限のpermitと明確な削除条件をreviewします。

  • 対象機器・interface・VRF/VLAN
  • 取得日時・timezone・software version
  • 変更前後の同一command出力
  • 期待値・実測値・判定者
  • 異常時の停止条件とrollback結果

関連する仕組みを次に確認する

定義だけで終わらせず、隣接する仕組みと障害切り分けへ進みます。

まとめ:通信要件を具体的なACEへ変換し、暗黙denyまで試験する

通信要件を具体的なACEへ変換し、暗黙denyまで試験することが結論です。構成図、設定・command、正常時と異常時の結果を同じ条件で保存し、第三者が判断を再現できる状態にしてください。

最近の記事
お知らせ