ISA Server 2004 の各ログを SQL Server 2005 に記録する方法

! OS + 認証環境の準備

  1. Active Directory 環境を構築する。
  2. SQL Server 2005 と ISA Server 2004 をインストールするマシンをそれぞれドメインに参加させる。この二つは同一のマシンでもいいけれど、サービスの起動タイミングの問題があり、スタートアップ スクリプトやサービスの依存関係を手動で設定する必要が発生する。もちろん ISA は外に晒されるものなので、セキュリティ的問題もある。なので、できるだけ混在させないほうがいい。

! SQL Server 2005 のインストールと設定

  1. SQL Server 2005 をきわめて普通にインストール。サービスの動作する権限は、適当な Active Directory ユーザー アカウントを指定する。インスタンスも無名で OK。このとき、他の環境に SQL Server Management Studio が無ければ、これも一緒にインストールしておく。
  2. ログを保存する DB を作成。名称はなんでも良いがわかりやすく。今回は "ISA_DB" と名づけた。
  3. ISA サーバー用のログオンを作成。ログオンの権限を ISA Server 2004 用のコンピュータにも与えなくてはならないので、ログオンは Active Directory グループを指定する。(すなわち、あらかじめ Active Directory グループを作成すること。)
  4. ログオンへ ISA_DB へのアクセス権を与える。めんどくさいので、DB_OWNER を与えた僕はだめだめです。恐らく書き込み、読み込みができれば大丈夫なはず。
  5. ISA Server 2004 のインストール メディアを開き、.SQL の拡張子で保存されている二つの SQL Query を ISA_DB 上で実行する。

! ISA Server 2004 のインストールと設定

  1. ISA Server 2004 を普通にインストール。
  2. SQL Server 2005 の ODBC ドライバをインストール。
  3. ISA Server 2004 のコンピュータを先ほど作成した SQL Server のアクセスグループに登録。
  4. ODBC を使い SQL Server 2005 へのシステム DSN を作成。
  5. ISA の管理 から 監視の構成 を開き、ログ タブを選択。Firewall ログを Web プロキシ ログの設定があるので、それを SQL Server を参照するよう設定。その際、暗号化のチェックボックスがあるが、使用するには証明書を発行して設定する必要があるので、チェックをはずす。権限にはユーザー アカウントを指定し、そのアカウントに SQL Server アクセス用のグループを登録しておく。

! 確認

  1. ODBC 接続のテストをしてみる。
  2. ログ設定のテストを実行してみる。
  3. SQL Managemente Studio から select * from FirewallLog と打ってその結果を確認する。

! 課題

  1. 証明書を使った暗号化の設定方法を確認する。
  2. ISA_DB への権限を絞る。

! うまく設定できないと

  1. SQL Server へログの保存ができないので、ISA Server の Firewall サービスが起動できないか、起動してもほっとくと落ちる。