支社のVPNサブネットがASA上で「セキュリティレベル0か100か」と誰かが尋ねますが、その質問にはすでに誤りが含まれています。セキュリティレベルはローカルインターフェースの属性であり、インターフェース設定で0から100の範囲で割り当てられます。トンネル経由で届くリモートサブネットは、crypto mapがどう書かれていても、レベルを取得しません。だからこの質問に数値の答えはありません。

実用的な次の問いのほうが有益です。どのポリシーが支社をサーバーへ通し、どのポリシーが支社をファイアウォール自体から遠ざけるのか、という問いです。これは二つの答えであり、以下の手順で切り分けます。

セキュリティレベルはインターフェースに属する

show running-config interface を実行すると、物理インターフェースやVLANインターフェースごとに security-level が表示され、トンネルグループやcrypto mapの下には表示されません。上位から下位への既定の許可はこれらのインターフェース間で評価されるため、その数値は属するパス上のインスペクションと暗黙ACLの動作を変えます。

復号されたVPNフローでは、入口は依然としてトンネルが終端するoutsideインターフェースであり、出口はサーバーへ向かうinsideインターフェースです。何かに触れる前に両方を書き留めてください。この一手間だけで混乱の大半が消えます。抽象的な信頼の問いがインターフェースの組に変わるからです。

ACLバイパスには名前の付いた境界がある

sysopt connection permit-vpn は、VPNトラフィックがACLを無視すると言うときに人々が半分だけ覚えている設定です。実際にVPNトラフィックに該当する通信ではインターフェースACLを飛ばしますが、9.xのパラメータガイドはグローバルな例外を宣言するのではなく、インターフェースと方向で範囲を限定しています。

記憶から推論する前に、何が設定されているかを確認してください:

  • show running-config all sysopt で、既定値以外の行だけでなく実際の値を確認します。
  • show running-config access-group で、どのACLがどのインターフェースと方向に適用されているかを確認します。
  • show vpn-sessiondb detail l2l で、セッションが実際にどのトンネルグループとフィルターを使っているかを確認します。

VPNアクセスを厳しくするためにこの設定を無効にするのは、影響範囲の大きい変更です。該当するすべてのVPNフローを再び外側のACLに従わせるため、通常は、質問された支社とは無関係な形で稼働中のトンネルが壊れます。

セッションに付随するフィルターを読む

トンネルごとの実際の制御はVPNフィルターです。グループポリシーやユーザー名が参照するACLで、復号後かつ暗号化前に適用されます。ユーザーレベルのフィルターはグループレベルの値を上書きするため、同じトンネルグループの二人でも実効アクセスが異なることがあります。

優先順位は推測せずに確認してください。show running-config group-policy <name> はグループの値を示し、show running-config username <name> はユーザーごとの値があるかどうかを示します。両方がある場合はユーザーの値が優先されます。そのうえで、そのACLのエントリを、関心のあるフローと、フィルターが評価する方向で比較してください。

アプリケーションサーバーを許可するフィルターは、管理について何も語りません。それらは別のパス上の別のルールです。

許可を一つと拒否を一つ検証する

ユーザーの報告を待たずに判断を見る最速の方法はPacket-tracerです。復号側のフローを渡し、通過するACL、NAT、インスペクションの各段階を名指しさせます。

  1. packet-tracer input outside tcp 10.20.30.10 49152 10.0.5.20 443 detailed
  2. 結果の行を読みます。パケットを許可または破棄したACLが示されます。
  3. insideインターフェース上の管理用宛先で繰り返し、拒否を確認します。
  4. 変更のたびにもう一度繰り返し、変更前と変更後の両方の状態を記録します。

次に実際のトラフィックで検証します。支社からのアプリケーション要求を一つ成功させ、ASAへのSSH試行を一つ失敗させます。Packet-tracerはパスをモデル化し、実際のフローがモデルの一致を証明します。

機能させた変更を元に戻す

修正がACLバイパスの無効化やフィルターの拡大だった場合は、以前の設定を保管してください。変更前に保存した影響対象の show run キャプチャがあれば復元できます。ASAの設定は行指向なので、戻すとは古い行を再入力することで、ファイルを復元することではありません。

インターフェースの組、実効フィルター、Packet-tracerで示されたACL名、変更した正確なコマンドを記録します。その記録があれば、次のレビューは信頼レベルの議論ではなく五分の確認で済みます。

関連記事