PaloAltoのCaptivePortalの詳細動作と設計ガイド

スポンサーリンク
スポンサーリンク

PaloAltoのCaptivePortal

PaloAltoではWebブラウザでのユーザ認証をさせることができます。

CaptivePortalとは、規格ではありませんが、いわゆる「Web認証」のことを指す一般的な名称になりつつあります。つまり、NW通信を行う前にブラウザでIDパスワードを入力させるネットワーク認証のことです。

PaloAltoでのCaptivePortalの動作は以下の通りです。

[CaptivePortalの動作]

  1. PCが任意のhttpサイト(例えばwww.yahoo.co.jp)へアクセスを試みる
  2. PaloAltoがその通信をCaptivePortalポリシーのルールに照らし合わせ、「Action=web-form」に該当する場合はそのhttpセッションをジャックし、PCへHTTPステータスコード302 (Moved) を返し、自身のCaptivePortal認証画面へとHTTPリダイレクトさせる。
  3. PCが認証画面へhttp GETコマンドでアクセスする

Web認証でもよくある問題ですが、最初にアクセスするサイトがhttpsの場合はそもそもセッションジャック自体ができないので、リダイレクトができないので注意が必要です。

特定のセグメント(Seg.A)だけ認証をさせる場合、以下の実装が考えられます。

[CaptivePortalポリシー]

  1. Src=Seg.A, Dst=any, Service=http, URLcategory:computer-and-internet-security Action=no-captive-portal
  2. Src=Seg.A, Dst=any, Service http, Action=web-form
  3. Src=any, Dst=any, Service any, Action=no-captive-portal

1番目のルールではトレンドマイクロ等のパターンアップデートを許可させます。なお、注意点として、CaptivePortalではApp識別のルールは書けません

また、同一送信元IPからほぼ同時に複数のtcp:80のアクセスがある場合、最初の1つだけがHTTPリダイレクトとなり、その後1秒間はリダイレクトされず、TCP Resetでセッションを切られます。なので、バックグラウンドで動くウィルスパターンのアップデート等は除外しておくのがよいでしょう。

また、CaptivePortalポリシーはセキュリティポリシーより先に検査されます。Action=web-formに該当する通信は、認証が成功した場合は無視され、セキュリティポリシーに従いアクセス制御します。

CaptivePortalポリシーと組み合わせのセキュリティポリシーとして

Src=Seg.A, User=unknown, Dst=any, Service=any, Action=Deny

を最初に入れておけば、Seg.Aの端末は認証成功するまでは(http以外も)通信ができないようになります。

PaloAltoの勉強については以下書籍がお薦めです。

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク