2026年6月24日
2026年6月24日
Cisco ASA の運用ベストプラクティス|管理アクセス・ACL整理・ログ・更新と変更管理
Cisco ASA を安定して安全に運用するための柱は、「管理アクセスを専用の経路と送信元に限定する」「ソフトウェアを脆弱性情報に合わせて計画的に更新する」「ACL をオブジェクトで整理し、ヒット数で棚卸しする」「syslog と時刻同期で証跡を残す」「変更前のバックアップと切り戻し手順を用意する」の5つです。この記事では、ASA ソフトウェアを CLI で管理している環境を想定し、設定例と確認コマンドを交えて日常の運用で見直すべき点を説明します。
前提:製品の位置付けとサポート状況を確認する
Cisco は次世代ファイアウォールとして Secure Firewall Threat Defense(旧 Firepower Threat Defense、FTD)を中心に製品展開しており、同じハードウェアで ASA ソフトウェアを動かせる機種もあります。手元の ASA がどの機種・どのソフトウェアバージョンで、販売終了やサポート終了の告知が出ていないかを最初に確認してください。サポートが終わった機器では、脆弱性が見つかっても修正版が提供されないため、運用の工夫だけでは補えません。最新の状況は Cisco の製品ページと End-of-Life 告知で確認してください(2026年10月現在)。
show version
show inventory
管理アクセスを限定する
ASA の管理画面(ASDM)や SSH は、攻撃者にとって魅力的な入口です。近年も、ASA の VPN や Web 関連のサービスを狙った深刻な脆弱性が公表され、実際の悪用も報告されています。管理アクセスは次の方針で絞ります。
- 管理用インターフェース(または専用の管理セグメント)からだけ受け付け、outside からは許可しない
- 送信元は管理端末のアドレス範囲に限定する
- Telnet は使わず、SSH はバージョン2のみ
- 共有の enable パスワードに頼らず、個人ごとのアカウントで AAA 認証を行う(可能なら RADIUS/TACACS+ と連携)
! 管理セグメント 192.0.2.0/24 からだけ SSH と ASDM を許可する例
ssh 192.0.2.0 255.255.255.0 management
http server enable
http 192.0.2.0 255.255.255.0 management
ssh version 2
ssh timeout 10
aaa authentication ssh console LOCAL
username ops-admin password your-strong-password privilege 15
設定例のパスワードはダミーです。実際には十分な長さのものを使い、パスワード管理ツールで保管してください。設定ファイル内の事前共有鍵などを暗号化して保存したい場合は、マスターパスフレーズを設定して password encryption aes を有効にする方法があります。マスターパスフレーズを失うと復号できなくなるため、保管方法を決めてから有効にします。
使っていない機能(使っていないリモートアクセス VPN や Web サービスなど)は無効にし、攻撃面を減らします。
ソフトウェア更新を計画的に行う
Cisco のセキュリティアドバイザリ(PSIRT)は定期公開とは別に、重大な脆弱性が見つかると随時公開されます。次のような流れを日常業務に組み込みます。
- 自社の機種とバージョンに関係するアドバイザリを定期的に確認する(Cisco の Software Checker などのツールも利用できます)
- 影響する機能を自社で使っているかを確認する(VPN を使っていなければ影響しない脆弱性もある)
- 修正済みバージョンを選び、リリースノートで既知の問題や移行時の注意点を読む
- フェイルオーバー構成では、手順書に従ってスタンバイ機から更新し、切り替えて動作を確かめてからもう一方を更新する
緊急度の高い脆弱性で、ベンダーや公的機関から侵害の痕跡の確認を求められている場合は、更新だけでなく案内に沿った調査も行ってください。
ACL をオブジェクトで整理する
ASA ではインターフェースにセキュリティレベル(0〜100)があり、ACL を適用しない状態では高いレベルから低いレベルへの通信が許可されます。インターフェースに ACL を適用すると、その ACL の内容が優先され、末尾には暗黙の拒否があります。ASA 8.3 以降では、ACL には NAT 変換前の実アドレスを書く点も、古い設定例を参考にするときの注意点です。
ルールが増えたときに見通しを保つには、IP アドレスやポートを直接書かず、オブジェクトとオブジェクトグループで名前を付けます。
object network WEB-SRV
host 10.10.20.10
object-group service WEB-PORTS tcp
port-object eq 80
port-object eq 443
access-list OUTSIDE_IN extended permit tcp any object WEB-SRV object-group WEB-PORTS
access-list OUTSIDE_IN extended deny ip any any log
access-group OUTSIDE_IN in interface outside
末尾に deny ip any any log を明示しておくと、拒否された通信が syslog に記録され、許可漏れの調査が楽になります。
ヒット数で棚卸しする
show access-list で各行のヒット数(hitcnt)を確認できます。長期間ヒットしていない許可ルールは、不要になったか、上の行に隠れている可能性があります。削除する前に remark で用途と担当者を書き、一時的に inactive キーワードで無効化して様子を見る方法もあります。
通信の確認は packet-tracer とキャプチャで
「通らない」という問い合わせへの対応では、推測でルールを足す前に、ASA がその通信をどう処理するかを確認します。
! 外部から公開サーバーへのHTTPSを模擬して、どこで止まるかを確認
packet-tracer input outside tcp 203.0.113.50 40000 198.51.100.10 443 detailed
! 実際のパケットを一時的にキャプチャ
capture CAP-WEB interface outside match tcp host 203.0.113.50 host 198.51.100.10 eq 443
show capture CAP-WEB
no capture CAP-WEB
packet-tracer は ACL・NAT・インスペクションなど各段階の判定を順に表示するため、どの設定が原因かを特定しやすくなります。キャプチャは機器のメモリを使うため、調査が終わったら削除します。ほかに show conn(セッション)、show xlate(NAT 変換)、show asp drop(内部で破棄された理由の統計)も切り分けに役立ちます。
ログと時刻同期で証跡を残す
ログは機器内のバッファだけでなく、外部の syslog サーバーや SIEM に送ります。時刻がずれているとインシデント調査で他の機器のログと突き合わせられないため、NTP の設定も同時に行います。
ntp server 192.0.2.123
logging enable
logging timestamp
logging buffered warnings
logging trap informational
logging host inside 192.0.2.50
informational レベルでは接続の確立・終了も記録されるため、ログ量が多くなります。syslog サーバーの容量と保存期間を決めたうえでレベルを選びます。ACL で拒否された通信(メッセージ ID 106023 など)、設定変更、ログイン失敗の記録を監視対象にすると、異常に早く気付けます。
変更前のバックアップと切り戻し
ASA の CLI での変更は入力した時点で動作中の設定に反映され、write memory で保存するまで起動時の設定には書き込まれません。この性質を踏まえ、次の手順で事故を減らします。
- 変更前に running-config を外部(SCP/TFTP サーバーや ASDM のバックアップ機能など)に保存する
- 変更内容と切り戻し用のコマンドを事前に手順書に書く
- リモートから管理アクセスに関わる変更をするときは、保存前の状態に戻せるよう再起動の予約(
reload in)を使う方法がある。問題がなければ予約を取り消して保存する - 本番の前に、検証機やラボ環境で同じ変更を試す
- 変更後に
show running-configの差分と、業務通信の疎通を確認してから保存する
フェイルオーバー構成では、アクティブ機で行った変更がスタンバイ機に同期されるかを show failover で確認します。
まとめ
- 機種とソフトウェアのサポート状況を確認し、サポート終了機は更新計画を立てる
- 管理アクセスは管理セグメントと特定の送信元に限定し、個人アカウントと SSHv2 を使う
- セキュリティアドバイザリを定期的に確認し、影響を判断して計画的に更新する
- ACL はオブジェクトで整理し、末尾に拒否ログを置き、ヒット数で棚卸しする
- 調査は packet-tracer とキャプチャで行い、ログは NTP と組み合わせて外部へ送る
- 変更前にバックアップと切り戻し手順を用意し、保存前に疎通を確認する