TMG で Azure の Virtual Network に接続できるか挑戦中 (未完) の続編です。
Windows Azure Virtual Network VPN with TMG 2010 という記事を見て、TMG で接続するための手順が細かに紹介されていたので、もう一度やってみようと思ってシンプルな構成にしてチャレンジしてみました。
こちらは未完になっていないので接続後のオンプレミスと Azure 間のデータ授受まで試せました。
Read the rest of this entry »
Archive for the ‘TMG 2010’ tag
PPPoE と TMG 2010 を使って Windows Azure Virtual Network に接続
TMG の Data Packager で VPN のログを取得
TMG (Threat Management Gateway) 2010 はMicrosoft Forefront Threat Management Gateway Best Practices Analyzer Tool に含まれている Data Pakager を使用することで VPN 接続のログを取得することができます。
Azure の Virtual Network (VPN) を NAT の後ろにある TMG で接続できないものかと試行錯誤しているのですが、接続ができない原因のログをとるために使いたかったので使用方法を少しまとめてみたいと思います。
以下の技術情報を参考にさせていただいています。
Using TMG Data Packager to Troubleshoot Exchange Web, Lync Web and SharePoint connectivity
How TMG Data Packager can assist you troubleshooting VPN Site to Site Issues
TMG で Azure の Virtual Network に接続できるか挑戦中 (未完)
挑戦中なだけでうまく接続ができていないのですが…。
# NAT の後ろに配置した TMG で Virtual Network に接続できた方がいらっしゃいましたらコメントを頂けると嬉しいです。
MSDN 上の情報としては以下になるようです。サポートされているデバイスの情報なども記載されています。
About VPN Devices for Virtual Network
フォーラムも開かれているようですのでこちらも定期的に確認をすると良さそうです。
Windows Azure Virtual Machines Virtual Network
IP Sec についてはこちらの情報がわかり易いです。
T10:IPSec ~技術概要とセキュアなネットワークの実現手法~ 第一部IPsecの基本とリモートアクセスへの応用
TMG にグローバル IP を割り当てた状態で、接続するための手順がこちらで詳細に説明されています。素晴らしい!!
Windows Azure Virtual Network VPN with TMG 2010
この辺も参考で
Azure Connect UP but can not route accross
Custom pre-shared key
PPTP を使用して TMG で VPN 接続
PPTP を使用して TMG で VPN 接続した際の作業内容をメモとして。
TMG でキャッシング + リバースプロキシを設定
TMG はプロキシの機能を備えていますので、キャッシング + リバースプロキシとして設定をすることが可能です。
今日はその設定をまとめてみたいと思います。
Read the rest of this entry »
Edge On TMG を Exchange 2010 SP1 で構築
Edge on TMG (TMG と Exchange エッジ トランスポートの共存環境) を Exchange 2010 SP1 で構築するための方法をまとめてみたいと思います。
今回は以前構築した Exchange 2010 RU4 + TMG 2010 SP1 の環境を使用しいます。
■エッジ トランスポートに Exchange Server 2010 SP1 を適用
まずは、Exchange Server 2010 SP1 を適用してます。
- Exchange Server 2010 SP1 を実行します。
- [アップグレード用 Exchange 言語オプションの選択] をクリックして、言語オプションを選択します。
言語オプションの選択ですが、[DVD に含まれる言語のみをアップグレードする] を選択してアップグレードをしようとすると以下のメッセージが表示され、失敗となります。
言語パックは、現在のサーバーにインストールされており、Exchange バイナリでアップグレードする必要があります。
アップグレード操作で言語バンドルを指定してください。
ヘルプを参照するにはここをクリックしてください…
http://technet.microsoft.com/ja-JP/library/ms.exch.err.default(EXCHG.141).aspx?v=14.1.218.11&e=ms.exch.err.Ex28883C&l=0&cl=cpアップグレードの場合、[DVD に含まれる~] は使えないようですので以下のURL から言語パックバンドルをダウンロードして、[言語バンドルからすべての言語をアップグレードする] を使用して、言語オプションを指定するようにします。
Microsoft Exchange Server 2010 SP1 言語パック バンドル - 言語オプションの選択が終了したら、[Microsoft Exchange Server アップグレードのインストール] をクリックします。
- [次へ] をクリックします。
- [使用許諾契約書に同意します。] を選択して、[次へ] をクリックします。
- 前提条件のチェックが実行されます。
エッジ トランスポートと TMG が共存している場合、以下のエラーが発生します。
‘IsaManagedCtrl’ () プロセス (ID: 3256) で開かれているファイルがあるため、アップグレードを続行できません。
プロセスを閉じてセットアップを再起動してください。
ヘルプを参照するにはここをクリックしてください…
http://technet.microsoft.com/ja-JP/library/ms.exch.err.default(EXCHG.141).aspx?v=14.1.218.11&e=ms.exch.err.Ex28883C&l=0&cl=cp[IsaManagedCtrl] ですが、[Microsoft Forefront TMG Managed Control] サービスになります。
インストール時にはこのサービスを停止した状態にしておきます。 - [アップグレード] をクリックしてアップグレードを実行します。
- アップグレードが完了したら、[終了] をクリックします。
- 再起動後に、[Microsoft Forefront TMG Managed Control] サービスを開始しようとしたところ以下のエラーが発生してしまい、サービスを起動することができませんでした…。
サーバーを再起動しても状況は変わらず、TMG 2010 の管理コンソールを確認すると、[電子メール ポリシー] でエラーが発生してしまっています。
TMG 2010 SP1 ですが、Exchange 2010 SP1 には対応していないバージョンとなっています。
Exchange 2010 SP1 に対応させるためには TMG 2010 SP1 RU1 を適用する必要があります。
Forefront TMG 2010 Service Pack 1 用のソフトウェア更新プログラム 1
■TMG 2010 SP1 RU1 の適用
TMG 2010 SP1 RU1 をダウンロードして適用し、Exchange 2010 SP1 に対応させてみたいと思います。
- TMG 2010 SP1 RU1 を実行してインストーラーを起動します。
- [次へ] をクリックします。
- [使用許諾契約書に同意します] を選択し、[次へ] をクリックします。
- [次へ] をクリックします。
# 今回は TMG の管理者としてログオンしているので、ログオンユーザーで接続が可能です。 - [インストール] をクリックして、SP1 RU1 を適用します。
- [完了] をクリックします。
- [はい] をクリックしてサーバーを再起動します。
以上で SP1 RU1 の適用は完了です。
[Microsoft Forefront TMG Managed Control] サービスも起動して、[電子メール ポリシー] のエラーも出力されなくなっています。
# [Microsoft Forefront TMG Managed Control] サービスは手動起動しないとちょっと調子悪かったりしましたが…。
Exchange 2010 の現時点の最新版は Exchange 2010 SP1 RU1 ですが、このバージョンでも [電子メール ポリシー] は起動しました。
Exchange Server 2010 Service Pack 1 用の更新プログラムのロールアップ 1 (KB2407028)
Edge on TMG を Exchange 2010 SP1 で構築する場合、TMG を SP1 RU1 にしないと正常に機能が起動しないので注意する必要がありそうです。
Exchange 2010 と TMG 2010 の共存環境の構築
Exchange Server 2010 のエッジ トランスポートサーバーと Threat Management Gateway (TMG) 2010 は共存することが可能になっています。
TMG 2010 では [電子メール ポリシー] という設定があります。
上記のダイアログにも表示されているようにこの機能を使用するためには Forefront Protection 2010 for Exchange (FPE) と Exchange のエッジ トランスポートサーバーをインストールしている必要があります。
この構成は以下の 3 種類のソフトで構成されます。
- Exchange Server 2010 エッジ トランスポート
- Forefront Protection 2010 for Exchange Server
- Forefront Threat Management Gateway 2010
自宅の検証環境にも TMG とエッジ トランスポートは構築されているのですが、常時起動しているサーバーで起動するにはリソースが足りていないので、複数の物理サーバーで実行しています。
検証環境のサーバー増強で一台でTMG とエッジを実行できる環境を構築できそうなので、この環境の構築方法をまとめてみたいと思います。
# メモリが 2GB はないと検証環境として動かすのも少し厳しいかと。 AD LDS が 2 インスタンス、SQL Server Express、TMG、Exchange 2010 が動作しますので。
FPE に関してはオプションではなく必須コンポーネントとなっています。
エッジ トランスポート + TMG の構成で電子メール アドレスポリシーを設定しようとしても以下のエラーとなり、電子メール ポリシーが動作しません。
■Exchange 2010 エッジ トランスポートのインストール
まずは、エッジ トランスポートをインストールします。
Exchange 2010 の現時点の最新版は、[Exchange Server 2010 SP1] となっています。
最近、[TMG 2010 SP1 Software Update 1] の提供が開始されました。
Software Update 1 for Microsoft Forefront Threat Management Gateway (TMG) 2010 Service Pack 1
こちらの Overview に以下の記載があります。
- Support for Exchange 2010 SP1
あまり意識していなかったのですが、 Update 1 から Exchange 2010 SP1 をサポートとなっています。
Update 1 に関しては、現時点では日本語版の提供がされていません。
そのためエッジ トランスポートに関しては Exchange 2010 RU4 で構築をしています。
エッジ トランスポートのインストールに関しては通常のインストールと変わりませんのでインストール手順の概要のみ記載しておきます。
- システムのプロパティを開き、[このコンピューターのプライマリ DNS サフィックス] を設定します。
- コマンドプロンプトで以下のコマンドを実行して必要となる機能をインストールして、再起動します。
ServerManagerCmd ?ip D:ScriptsExchange-Edge.xml - Exchange 2010 のセットアップを起動してエッジ トランスポートの役割をインストールします。
- Exchange 2010 RU4 をインストールします。
Exchange Server 2010 用の更新プログラムのロールアップ 4 (KB982639)
■Forefront Protection 2010 for Exchange のインストール
次に FPE をインストールします。
Exchange 2010 のインストーラーを起動すると FPE 2010 のインストールというメニューがあります。
これをクリックすると、Download Center の FPE のダウンロードサイトが開きます。
TMG のインストーラーにも FPE のインストールメニューがあります。
こちらをクリックすると、FPE のインストールが開始されます。
TMG のインストーラーには FPE のインストールモジュールが含まれていますので、FPE をインストールする場合にはこちらを使った方が楽かと。
FPE のインストールも通常のインストールと同じですので概要を。
■Threat Management Gateway 2010 のインストール
最後に TMG をインストールします。
こちらもインストールの概要を。
- [準備ツールの実行] をクリックして、TMG に必要な役割/機能をインストールします。
- TMG のインストールを開始します。
- TMG 2010 SP1 をインストールします。
Microsoft Forefront Threat Management Gateway (TMG) 2010 Service Pack 1
以上で、Exchange 2010 のエッジトランスポートと TMG の共存環境の構築は完了です。
インストールですが、
- Forefront Threat Management Gateway 2010
- Exchange Server 2010 エッジ トランスポート
- Forefront Protection 2010 for Exchange Server
の順番でも構築することは可能です。
FPE は、Exchange を保護するものになりますので、エッジ トランスポート導入後にインストールする必要がありますが。
通常であればエッジトランスポートの受信/送信コネクタは [Exchange Management Console] から作成することになりますが共存環境で電子メール ポリシーを有効にすると、TMG の管理コンソールで設定をすることになるようです。
電子メールのゲートウェイとして使用できるようにするための設定は別の投稿でまとめたいと思います。
TMG 2010 のログ キューについて
TMG 2010 のログ キューについて少しまとめてみたいと思います。
TMG 2010 になりログキューという設定が追加されました。
Forefront TMG ログを構成する
ログ キューの構成
TMG Large Logging Queue: No More SQL Lockdowns?
■ログ キューとは
TMG はログの出力処理による負荷が高くなる、出力先が応答なしの状態になった場合にログの内容をバイナリ形式で
キューとして出力します。
この際、ログ キューを [Large Logging Queue (LLQ)] として特定のディレクトリに出力を行います。
TMG では、ログは SQL Server に蓄積していくことができるのですが、ログの蓄積先の SQL Server が停止している状態や、ファイルとして出力している場合は、ログファイルの出力先の容量が枯渇してしまった場合などにログキューが使用されます。
ログの出力先が正常に使用できるようになると、ログ キューの内容を最終的なログに出力する処理が再開されます。
ファイアウォール製品ですので、証跡管理のためログは重要な要素となります。
そのため、ログが出力できない場合でもその間のログをロストしないようにするためキューに出力がされているのだと思います。
■ログ キューの出力先の設定
ログ キューの出力先ですが、TMG の管理コンソールの、[ログ & レポート] の [ログ キューの構成] で変更することが可能です。
デフォルトでは、[%ProgramFiles%Microsoft Forefront Threat Management GatewayLogs] に出力される設定となっています。
■ログ キューの基本的な動作
日本語のドキュメントは見当たらなかったのですが、TechNet に以下の情報が記載されています。
Overview of the Logging Improvements in Forefront Threat Management Gateway (TMG)
この中に、[Logging Queue] としてログ キューの基本的な動作概要図が記載されています。
ログ キューを [Binary LLQ Data] として出力をして、[ISA Control] が [Log Database] に格納するという流れになっています。
大まかに書くとログ キューが使用されると以下のような経路で DB に格納がされます。
- Binary LLQ Data
これは、ログ キューのディレクトリに出力される、拡張子が [LLQ] のファイルになります。
ログ キューが使用されると、このファイルがログ キュー用のディレクトリに出力されるようになります。
私の環境だと、1 分間で 3 ファイルほど出力がされていました。
そのため、ログ キューの使用が開始されると、ログが使用できるようになるまでかなりのファイルが生成されるようになります。 - ISA Control
ISA Control と書かれていますが、TMG の [Microsoft Forefront TMG コントロール] サービスのことになります。
# サービス名は TMG になっても isactrl だったりするのですが。
ログ キューをログ DB に格納する処理はこのサービスが実施しています。
TMG のコアなサービスになるので、依存関係がかなり多いです。
- Log Database
これは SQL Server のデータベースになります。
TMG をインストールすると [MSFW] というインスタンスが作成されます。
このインスタンスにログ用の DB が作成され、その DB にログが格納されていきます。
ファイアウォール ポリシーと、Web アクセス ポリシーのログは独立した DB に日付単位で格納されます。
■ログ キューの動作を確認してみる
ログ キューの動作を確認してみるのは簡単にできます。
ログで使用している SQL Server のインスタンスのサービスを停止することで、ログに出力が行えなくなりますのでログ キューが使用されるようになります。
サービスから停止してもよいのですが、TMG の管理コンソールからも停止することができます。
TMG のサービスで、サービスが [SQL Server Express] となっているものが、ログに使用しているインスタンスになりますので、このサービスを停止します。
# MSFW のインスタンスが停止されます。
そうすると、ログが SQL Server に格納できなくなりますので、ログがログ キューに出力されるようになります。
ログ キューを使用しているかどうかは、[ログ & レポート] の [ログの状態を表示] から確認することができます。
キューが使われていると以下の状態になります。
# ログの状態が [キューを使用中] になっているとログ キューが使用されています。
SQL Server を起動するとキューがデータベースに書き込まれるようになりますので、ログの状態が以下のようになります。
# 正常な状態ですと、[準備完了] となっています。
■ログ キューがロックしてしまう
原因はわかっていないのですが、ログ キューのファイルが稀にロックしてしまいキューから DB に書き込みが行われなくなることがあります。
TMG コントロールサービスがキューファイルを開いたままになってしまい、処理が継続されない状態になるようです。
# キューとして残っているファイルの更新日時が一番古いファイルがロックされてしまっているファイルになるはずです。
Process Explorer からも [mspadmin.exe] (Microsoft Forefront TMG コントロール サービス) がファイルを使用していることを確認できます。
この状態になった場合、一度 TMG コントロールのサービスを停止してロックしてしまっているファイルを削除し、サービスを開始することでDB への書き込みが再開されます。
# ロックしてしまったファイルが存在していると DB への書き込みが再開されないのですよね…。
FCS のようなウイルススキャンソフトでファイルをロックしてしまっているのかと思っていたのですが、TMG 用に推奨されているスキャンの除外設定をしても現象が発生してしまったのですよね。
プロセスとしても mspadmin.exe がファイルを開いているので、内部的に処理が進んでいないように見受けられるのですが。
TMG コントロールサービスを停止すると TMG のサービスが停止してしまうので、この方法で解消するのは現実問題としては結構難しいですよね。
ログ用のインスタンスを停止して、ログキューのディレクトリを変更することで稀にロックが解除されることもあるのですが、確実な方法ではないのですよね。
これについてはもう少し情報を集めていきたいと思います。
# ファイルがロックしていない状態でもキューが蓄積されていることがあるので、単純にスペックが足りていないだけかもしれませんが。
ログ キューをロックしてテストをしたい場合は、以下のコマンドを PowerShell で実行することで、ファイルをロックすることができます。
# 改行されている箇所は 1 行で実行します。
$file = Get-Item "C:Program FilesMicrosoft Forefront Threat Management GatewayLogs*.llq" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 $fs = New-Object System.IO.FileStream($file, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read, [System.IO.FileShare]::None) # ファイルのロックを解除するタイミングで実行 $fs.Close()
ログキューが蓄積されすぎると、サーバーの再起動時に TMG のサービスが起動しないことがありますので少し気を付ける必要があると思います。
# ロックダウンモードが働いているのかもしれませんが。
TMG は日本語の情報をあまり見かけないので、情報集めるのも結構大変ですね…。
2010/10/12 追記
TMG 2010 SP1 RU1 を適用したところ、私の環境では解消されました。
Forefront TMG 2010 Service Pack 1 用のソフトウェア更新プログラム 1
この更新プログラムには、以下の修正が含まれていますのでこの対応で現象が解消されているかもしれません。
Forefront TMG 2010 SP1 はローカル SQL Server データベースにログを書き込めない