⑥WebVPN 有効化(詳細版)


ここは 「どのインターフェースで AnyConnect(WebVPN)を受け付けるか」 を有効化するステップです。
外から見た「VPNの入り口」を ASA のどの口(outside など)にするか決めます。

1. 基本イメージ

  • ①で:webvpn 配下に AnyConnect の .pkg を登録
  • ④⑤で:トンネルグループ、グループポリシーを作成
  • ⑥で:outside インターフェースで WebVPN を “受け付け可能” にする

外側インターフェース名が outside だとすると、最小構成はこれです:

conf t
 webvpn
  enable outside
  ! anyconnect enable は①で済んでいれば不要(なければここでもOK)
  anyconnect enable
 exit
write memory
  • enable outside
    → outside インターフェースの IP アドレス宛に HTTPS でアクセスしたとき、
    WebVPN ポータル / AnyConnect 接続を受け付けるようにするスイッチです。

2. ポート番号の設定(通常は443のままでOK)

デフォルトでは TCP 443番 で待ち受けます。
もし「443は他の用途で使っている」「8443で受けたい」などあれば、webvpn 配下でポートを変更できます。

conf t
 webvpn
  port 443       ! デフォルト(明示してもOK)
  ! 例:8443に変えたい場合
  ! port 8443
 exit
write memory
  • クライアント接続時の URL はポートと合わせて
    https://<outside IP or FQDN>:8443/ のようになります。

注意:ASA の「管理用 HTTPS(ASDM)」のポートとバッティングしないように設計します。
(管理用 HTTPS は http server enable / http 0.0.0.0 0.0.0.0 inside など別設定)

3. 証明書(サーバ証明書)の関連付け(超重要)

実運用では、外部公開する FQDN 例:vpn.example.com に対して
正しい証明書 を割り当てるのがベストです(自己署名でも動作はしますが警告が出る)。

  1. 事前に証明書(trustpoint)を ASA にインポート or 作成
  2. 今回はssl-trustpoint-VPN という名前で作成済みとする
  3. どのインターフェースでその証明書を使うか指定:
conf t
 ssl trust-point ssl-trustpoint-VPN outside
exit
write memory

これで:

  • クライアントが https://vpn.example.com/ にアクセス
  • outside の IP アドレスに来た HTTPS を、ssl-trustpoint-VPN の証明書で応答

という流れになります。

FQDN(CN / SAN)と実際にアクセスするホスト名が一致していないと、
ブラウザや AnyConnect で「証明書の名前が一致しない」警告が出ます。

4. WebVPN 全体の典型設定例(ここまでの総まとめ)

conf t
 webvpn
  enable outside             ! outside インターフェースで WebVPN 有効化
  port 443                   ! 待ち受けポート(必要なら変更)
  anyconnect enable          ! AnyConnect機能を有効化(①で設定済みなら省略可)

  ! (任意)ポータルバナー
  svc keepalive              ! キープアライブ(バージョンにより表現差あり)
 exit

! 証明書を outside に関連付け
 ssl trust-point ssl-trustpoint-VPN outside

exit
write memory

5. 外側から本当に届くか?ネットワーク側の確認ポイント

⑥で WebVPN 自体は ASA 上で有効になりますが、
外のクライアントから実際に到達できるか はネットワーク設計次第です。

確認ポイント:

outside にグローバルIPが付いているか / もしくはFWでNATされているか

show run interface outside

例:

interface outside
 nameif outside
 security-level 0
 ip address 203.0.113.1 255.255.255.0

外側の上位FW/ルータで

  • 203.0.113.1 宛のルートが正しく通っているか
  • TCP 443(もしくは設定したポート)が通されているか(フィルタにブロックされていないか)

ASA の ACL で outside からの 443 を塞いでいないか

  • outside側で明示的にアクセスリストを掛けている場合は、
    permit tcp any host 203.0.113.1 eq 443 相当が必要になるケースがあります。

6. 動作確認の流れ

ASA側での確認

! WebVPN/AnyConnect 設定の確認
show run webvpn
show webvpn

! SSL証明書の割り当て確認
show run ssl

! セッション確認(接続後)
show vpn-sessiondb anyconnect
show webvpn session

クライアント側からの確認

  1. ブラウザで
    https://<outside IP or FQDN>/
    にアクセスして、Webポータルや AnyConnect ダウンロード画面が出るか確認
  2. AnyConnect クライアントで同じホストへ接続
  3. 接続後、クライアント側で
    • IPアドレス:ipconfig(Windows)
    • 経路:AnyConnect の「ルート」画面 or route print

7. よくあるハマりどころ

  • ブラウザに「サイトに接続できません」
    → outside IP までそもそも到達していない(ルート or FW or NAT 問題)
  • 「セキュリティ証明書が信頼されていない」
    → 自己署名 or FQDN不一致。運用上問題なければテスト用としては可。
  • AnyConnect クライアントだけ繋がらない
    anyconnect enable を忘れている / pkg 登録(①)がされていない
  • ASDM とポートが被っておかしい
    → 管理用 HTTPS のポートと WebVPN のポート設計を見直し
    (片方を 4443 や 8443 に逃がす、など)

まとめ

  • ⑥では 「どのインターフェース&ポートで WebVPN/AnyConnect を受けるか」 を決めて有効化します。
  • webvpn 配下で enable outsideport
    別途 ssl trust-point <name> outside で証明書を紐付けるのがポイント。
  • ここまで終わると、外部クライアントから
    https://<outside IP or FQDN>/ へアクセスして AnyConnect VPN の入口が見えるようになります。