• 【BYOD】デバイス認証ができるようになった WS 2012 R2 ADFS -テスト手順書公開

    Active Directory の最新情報をキャッチアップ!

    クラウド時代の Active Directory 次の一手シリーズ 第1回~6回 公開中!

    第 1 回 Active Directory の位置づけ
    第 2 回 Active Directory ドメイン サービスの新しい役割
    第 3 回 Active Directory フェデレーション サービスの役割 解説編
    第 4 回 Active Directory フェデレーション サービスの役割 構築編
    第 5 回 認証のためのプロキシ Web Application Proxy
    第 6 回 Microsoft Azure Active Directory とは

    既にご存知の方も多いと思いますが、Windows Server 2012 R2 に実装されている Active Directory Federation Service では、デバイス認証/認可が行えるようになりました。

    でも Active Diretory に精通している方は、こう思うはずです。

    「あれ?ドメイン参加するってことが、そもそもデバイス認証だよね?」

    するどい!!おっしゃるとおりです。

    実は、新しいデバイス認証機能は、ドメインに参加していないデバイスを対象にできるのです。

    この機能を Workplace Join と言います。

    Windows Server 2012 R2 の AD FS と、Windows 8.1 または iOS の組み合わせで実現可能な機能です。

    Workplace Join を使用すると、ドメインに参加していないデバイス(Win8.1/iOS)を Active Directory に登録し、ドメイン内のリソースにアクセスする際にデバイスで認証することができます。つまり、登録されていないデバイスからのアクセスを拒否できるわけです。

    Web Application Proxy(旧称 AD FS Proxy)と併用すれば、社外からのアクセスにも利用することができるため、BYOD シナリオの幅が広がります。

    Workplace Join および Web Application Proxy をテストするには、

    • Active Directory Domain Service
    • Active Directory Federation Service
    • Active Directory Certificate Service

    にある程度精通している必要があり、未経験の方にはshou難しいと思われます。

    そこで、これらのテスト環境を Hyper-V 仮想マシン上で構築するための手順書を作成しました。

    手順書を入手するには、以下のサイトから Windows Server 2012 R2 プレビュー版ダウンロード にユーザー登録してください。

    650260_Windows_Server_2012_R2

    ユーザー登録が完了すると、ダウンロードが始まると同時に、登録の際に使用した Microsoft アカウント(Windows Live ID)に以下のようなメールが届きます。黄色く塗りつぶしたところをクリックしていただくと、当該ドキュメントをダウンロードできます。

    image image

    ぜひチャレンジしてください!

    AD FS の基本的な勉強にも最適です。

  • 【IDM】Windows Server 2012 R2 の Web Application Proxy ってナニするためのもの? Device Registration Service との関係は?

    Active Directory の最新情報をキャッチアップ!

    クラウド時代の Active Directory 次の一手シリーズ 第1回~6回 公開中!

    第 1 回 Active Directory の位置づけ
    第 2 回 Active Directory ドメイン サービスの新しい役割
    第 3 回 Active Directory フェデレーション サービスの役割 解説編
    第 4 回 Active Directory フェデレーション サービスの役割 構築編
    第 5 回 認証のためのプロキシ Web Application Proxy
    第 6 回 Microsoft Azure Active Directory とは

    Windows Server 2012 R2 に新しく実装された機能の1つに Web Application Proxy があります。

    非常に地味~な名称のため、正直なところあまり目立たないのですけどね。

    Web Application Proxy とは何かといえば、ぶっちゃけ、リバースプロキシーです。

    リバースプロキシーなんて古くからあるテクノロジーですから、中には「何を今さら !?」と思われる方もいらっしゃるかもしれません。マイクロソフトもその昔 MS PROXY という製品を販売していましたし、その後継製品として現在は超高機能な Forefront UAG(Unified Access Gateway)を持っています。

    なのに、なぜ今さら Web Application Proxy なのかといえば、これがマイクロソフトの「デバイス&サービス戦略」においてとても重要な位置を占めているからです。

    Windows Server 2012 R2 に実装されている Web Application Proxy の最大の特徴とは何かといえば、

    AD FS による事前認可機能

    これにつきます。

    さまざまなリバースプロキシー製品が Active Directory ドメインサービスに「認証依頼」を飛ばすことができますが、Web Application Proxy は AD FS に「依頼」を飛ばすことができます。

    Web Applicaiton Proxy と AD FS の連携による認可処理は、社内へのアクセスに先立って行われるため「事前認可」と呼んでいます。

    この機能により、ユーザーがインターネットから社内リソースアクセスする前に、「ユーザー認証」するだけでなく AD FS から発行されたクレームを使用して「認可」することができるのです。

    ここでちょっとだけ整理しておきましょう。

    • ユーザー認証でできること
    • ユーザーIDとパスワードの正当性チェック
    • ユーザーが所属しているセキュリティグループの正当性チェック
    • ユーザー認可でできること
    • ユーザーのさまざまな属性によるアクセス可否判定

    「認可」では、ユーザーが持っている属性を使ってアクセス可否を判定することができるため、きめの細かな制御が可能です。

    ユーザー属性は通常 Active Directory に格納されていますが、AD FS は標準で SQL Server に格納された情報を検索できるため、例えば人事データベースが SQL Server で構築されていれば、それらの情報も判定基準として利用できるということです。

    アクセス制御のための複雑なビジネスロジックを大量のセキュリティグループによって実現することは、とても大変ですし面倒です。

    しかし、ユーザー属性をアクセス制御の判定基準に利用できれば、今まで以上に要望実現への距離を短縮することができます。

    「え?それだけ?なんかピンとこないな。」

    そう思われた方も多いでしょう。

    当然、話はこれだけでは終わりません。

    Windows Server 2012 R2 には新たに「DRS:Device Registration Service(デバイス登録サービス)」という機能が実装されました。

    これはその名の通り、ユーザーのデバイス(PCやタブレット)を Active Directory に登録するためのサービスです。

    これはドメイン参加とは違いますので気を付けてください。

    ドメインに参加した PC は、AD ドメインによる「デバイス認証」がサポートされることに加え、「ドメインのポリシーを強制適用」したり「管理者がリモートから管理」することができます。

    しかし、DRS によってドメインに登録されたデバイスは、ADドメインによって「デバイス認証」のみが行われます。

    デバイスを登録したからといって、ドメインのポリシーが適用されたり、管理者がリモートから入り込むということはできません。

    では、なんのためのデバイス登録なのか。。。

    実は、DRS は AD FS と連携して動作しています。

    ということは、デバイスが AD ドメインで認証の結果、デバイスのクレーム(デバイスの属性)が発行されます。

    ちなみに、デバイスを登録する処理のことを、Windows 8.1 では Workplace Join と呼んでいます。

    「デバイスのクレームが発行される」と聞いて、先の Web Application Proxy の AD FS 連携と結び付けられた方はすばらしいです。

    デバイスクレームが発行されるということは、Web Application Proxy を通過する際に ユーザーに対する認可に加えてデバイスに対する認可も行えるということです。

    つまり、ユーザーが正しく認可されても、デバイスが認可されなければ社内にアクセスすることができません。

    従来、これと同じことを行うためには、サードパーティ製品を導入する必要がありました。

    しかも、個人デバイスは Active Directory に登録されていないため、別途管理DBを用意してメンテナンスしなければなりませんでした。

    でも、今後新しく構築する際にはその必要はありません。

    Workpalce Join を使用すれば、ユーザーは自分自身で社内 AD にデバイス登録が行えます。

    しかも、何か特別なアプリケーションやドライバーをインストールする必要はなく、OS 標準機能で行えてしまうのです。

    必要な証明書は、Workplace Join したときに自動的にインストールされます。

    もちろん、誰でも彼でもデバイス登録ができてしまうことは危険ですので、DRS に登録要求ができるユーザーやユーザーグループを制限することもできます。

    その辺のアクセス制御は AD FS を使用してきめ細かに行えます。

    いかがでしょう?

    ちょっと評価してみたくなりましたよね?

    ただ、構築のために求められるスキルは、かなり難易度が高いです。

    なので、手順書を用意しました。

    手順書を入手していただくには、まずは Windows Server 2012 R2 評価版ダウンロードを行ってください。

    http://technet.microsoft.com/ja-jp/evalcenter/dn205286.aspx

    評価版ダウンロードを開始してからすこしすると、「ダウンロードありがとう」的なメールが送られてきます。

    ※すでに評価版をお持ちの方はダウンロードを途中で止めてしまっても大丈夫です

    そのメールの中に、手順書へのリンクが書かれています。

    ぜひ Windows Server 2012 R2 評価版を使用して、手順を実施してみてください。

    感動していただけるはずです。

    一歩先の Active Directory の使い方によっていただければ幸いです。

  • 【Management】System Center Essentials 管理コンソールからWindows Vista へのリモートアシスタンスで接続するとエラー

    今週は、富山と新潟に出張に出てきました。出張は嫌いではないのですが、なぜか体重が増えるのが難点です。日曜から高松に移動し、しかも旧友に会う約束もあり....チャレンジングではありますが生ビール3杯/日以下を目標とします。

    さて、リモートアシスタンスという機能があることはご存知のとおりです。ターミナルサービス機能で接続し、シャドウセッション機能を使用してネットワークの向こう側のユーザーとコンソールを共有するという優れものです。

    System Center Essentials や Operations Manager を使用すると、管理コンソールから直接リモートアシスタンス機能を使用してリモートのサーバーやクライアントに接続することができます。この機能を使用して、クライアントのメンテナンスや、簡単な操作説明なんかが行えます。

     (クリックで拡大)

    が、次の条件で実行すると、���下に示すエラーが発生します。

    • Windows Vista 上に管理コンソールをインストールしている
    • Windows Server 2008 上に管理コンソールをインストールしている

    アプリケーション: C:\Windows\pchealth\helpctr\binaries\helpctr.exe
    パラメータ: -FormStartHelp -url
    hcp://CN=Microsoft%20Crporation,L=Redmond,S=Washington,C=US/Rem
    ote%20Assitance/Escalation/Unsolicited/SCEUnsolicitedRCUIhtm
    -ExtraArgument
    NOVICECOMPUTER=<ホスト名>&NOVICEUSERID=

    エラーメッセージ: 指定されたファイルが見つかりません。

    これは、helpctr.exe という Windows XP や Windows Server 2003 で使用されていたプログラムが Windows Vista や Windows Server 2008 には含まれていないからです。

    Winodws Vista や Windows Server 2008 では、新たに、msra.exe というリモートアシスタンスプログラムが実装されています。ためしに、2008 か Vista のコマンドプロンプトから msra.exe を実行してみてください。以下のような画面が表示されます。

    (クリックで拡大)

    ここで、発行された招待状か相手のIPアドレスを指定してリモートアシスタントサーバー(RAServer.exe)に接続します。

    それはそれとして、Essentials 経由で接続するにはどうしたらよいのか?ということですが、msra.exe をタスクとして登録しておく必要があります。

    本来は管理パックにきちんと組み込まれている必要があるのですが、現時点では....

    では、タスクとして登録してみましょう。

    Essentials の管理コンソールを開き、「作成」画面に移動したら、[作成]-[管理パックオブジェクト]-[タスク] をクリックし、画面右側のアクションペインから [新しいタスクの作成] をクリックします。

    (クリックで拡大)

    タスクの種類として、[コンソール タスク]-[コマンド ライン] を選択し、[次へ] をクリックします。

    (クリックで拡大)

     タスクの名前と、このタスクを有効にするコンピュータグループを入力します。グループは「Windowsコンピュータ」でよいでしょう。こうすることで、すべてのWindows コンピュータがターゲットになります。

    (クリックで拡大)

    次に実行するコマンドを指定します。msra.exe のオプションとして /offerra で接続先のコンピュータ名を指定することができます。Essentials では、画面に示すように変数で指定することができます。

    (クリックで拡大)

    以上で設定は完了です。

    タスクを作成後、管理コンソールの「コンピュータ」画面に移動すると、以下のように作成したタスクがアクションペインに追加されていることがわかります。

    今後は、ここをクリックすればリモートアシスタンスを起動することができます。

     

  • XP Mode と Active Directory ドメインの関係 その2 - ドメインへの参加方法と差分ディスクの結合

    前回に引き続き、XP Modeについて掘り下げていきたいと思います。前回の投稿は以下です。

    XP ModeとActive Directoryドメインの関係…とタイトルに入れているのにとっても重要なことを書き忘れていました。

    XP Modeはドメインに参加することはできるのか?

    という点です。

    答えから先に書いておきますと、YES です。

    【参考 Virtual PC チームのBLOG】
    Networking and Using Windows XP Mode
    http://blogs.technet.com/windows_vpc/archive/2009/09/26/networking-and-using-windows-xp-mode.aspx

    ただ、ドメインに参加する前に以下の点を考慮しておきましょう。

    • 本当にドメインに参加する必要があるか?
    • ドメイン利用のライセンス条件を満たしているか?

    この上記2点については後で振れるとして、XP Mode をドメインに参加させる手順について以下に書いておきます。

    実は、XP Modeのドメイン参加って、ちょいと面倒なんです。参加させた後の処理が多くて…。

    ※くれぐれも早まって以下の操作を行わないでください!絶対に最後まで読んでください!

    1.ネットワークアダプタの種類を変更する

    既定では、XP Mode は仮想ネットワークアダプタとして「共有ネットワーク(NAT)」を使用します。

    image

    Virtual PC に詳しい方はご存じのとおり、このタイプの仮想ネットワークアダプタでは、Virtual PCに実装されたNATによってアドレス変換が行われ、ホスト側のインターフェースを通して外部との通信を行います。

    XP Mode 自身の IPアドレスは Virtual PC の DHCP機能によって自動的に割り振られます。

    image

    このままでは、ドメインコントローラーとファイル共有やWEB等の通信を行うことは可能ですが、ドメインに参加することはできません。なぜならば、NATを介して通信しているため、ドメインコントローラーからXP Mode が1台のコンピューターとして参照できないからです。

    そこで、ネットワークアダプタの種類を、共有ネットワーク(NAT)からブリッジモードへと変更します。ブリッジモードとは、ホストコンピュータに実装されているネットワークアダプターを、そのままゲストOSのアダプターとして使用するモードです。物理的には1枚のネットワークカードをホストコンピューターと共有することになりますが、外部から見ればホストコンピュータとは独立したコンピューターとして見えます。

    ブリッジモードに変更するには、アダプターの種類を以下の赤枠で囲んだように<ネットワークカードの名前>に変更します。

    image

    2.IPアドレス等の設定

    ネットワークカードの種類の変更はXP Modeの稼働中に行えますし、再起動の必要はありません。変更したら、いつものようにIPアドレスやデフォルトゲートウェイ、DNSサーバーのアドレスを変更してください。物理PCの設定を全く変わりません。

    3.ドメインへの参加

    ドメインへの参加も、物理PCの設定と変わりません。いつものように参加すればOKです。

    image

    以上でドメインに参加できました。

    しかーし、これで終わりではありません!

    4.Domain Users にXP Mode への「ターミナルサービスログオン権限」を与える

    実は、ここで少しはまりました(恥)。

    XP Modeにログオンするには、「ローカルログオン」権限を持っているだけではだめです。「ターミナル���ービスを通したログオン」権限が必要です。権限が無い場合、監査ログには以下のイベントが残されます。「ログオンの種類:10」とは「ターミナルサービスへのログオン」のことです。

    image

    以下の画面ショットは、XP Mode の ローカルグループポリシー(デフォルトの状態)です。デフォルトでは、Domain Users が、「ターミナルサービスを通したログオン」権限を持っていないことがわかります。

    image

    よって、以下のいずれかの方法で「ターミナルサービスを通したログオン」権限を与える必要があります。

    • XP Modeの「Remote Desktop Users」グループに、Domain Users を含める
    • ローカルグループポリシーで、Domain Users に対するターミナルサービスを通したログオン権限を与える
    • ドメインのポリシーで、Domain Users に対するターミナルサービスを通したログオン権限を与える

    ここでは「Domain Users」と書いてますが、もちろん別のグループでも構いません。要は、XP Modeにログオンさせたいドメインユーザーに対して「ターミナルサービスを通したログオン」権限を与えればよいのです。

    5.XPモードの差分ディスクを結合する

    まだ終わりではありません!

    以下の投稿でも書いたように、「ドメインに参加した」という事実は「差分ディスク」に保存されているからです。

    そうです。XP Modeに対する環境変更は、Windows7にログオンしているユーザー単位に「差分ディスク」として保存されています。よって、ドメインに参加したという事実を、Baseとなるディスクに埋め込む必要があります。絵にすると、以下のような感じです。

    image 

    image 

    そのためには、ドメインに参加操作を行ったユーザーの差分ディスクを、ベースとなるディスクに結合します。具体的には以下の操作を行います。

    XP Modeをシャットダウンします。ただし、スタートメニューには「シャットダウン」が出てこないので、XP Modeのウィンドウにある[Ctrl+Alt+Del] をクリックしてセキュリティウィンドウを開きましょう。表示されたセキュリティウィンドウに[シャットダウン]がありますので、これをクリックしてください
    image

    [スタートメニュー]ー[すべてのプログラム]-[Winodws Virtual PC]-[Windows Virtual PC] を起動してください

    [Windows XP Mode] が[電源切断]状態になっていることを確認して、[右クリック]-[設定]を選択
    image

    [設定]ウィンドウが開くので、設定一覧から[ハードディスク1]を選択し、右側のペインの[変更]ボタンをクリック
    image

    [仮想ハードディスクの変更]画面で[仮想ハードディスクの結合]をクリック
    image

    親ファイルと結合した結果を、どこに置くか選択します。選択肢は2つで、「既存の親ファイルを置き換える」か「別の新しいファイルとして保存するか」から選択できます。ひとまず「既存の親ファイル(Windows XP Mode Base.vhd)」は残しておきたいので、[新しいファイル]を選択して、別の場所に保存しましょう。
    image 

    ちなみに、[親ファイル]を選択して結合を開始しようとすると、以下のように「読み取り専用である」旨のエラーが表示されます。もし、本当に親ファイルを直接置き換えるのであれば、事前に親ファイルへの書き込み権限を取得し、[読み取り専用]属性を解除しておく必要があります。
    image

    結合が完了すると、以下のメッセージが表示されます。
    image

     6.超重要!XP Modeのハードディスクの再設定と[読み取り属性]の付加

    まだまだ終わりではありません!

    ハードディスクの結合を実行すると、この操作を実行したユーザーの環境は、以下のように設定されます。

    差分ディスクの設定が無くなり、たったいま結合したディスクを直接使用するように設定されていることがわかります。

    このままにしておくと、このユーザーがXP Modeを使用するたびに、親ディスクが更新されてしまうことになり、ほかのユーザーに影響が出ます。影響とは…XP Modeが使えなくなるということです。

    それではまずいので、このユーザーのハードディスクの設定を、元のように差分ディスクを使用するように設定しなおします。

    Windows XP Mode の設定画面から、[ハードディスク1]を選択します

    [作成]ボタンをクリック
    image

    [差分]をクリック
    image

    差分ディスクのファイル名と、保存場所を指定します。名前は既定の「Windows XP Mode」としてもよいですし、変更しても構いません。保存場所は、規定値のままでよいです。
    image

    [次へ]をクリックすると、「結合に使用した既存の差分ディスクがが存在する」旨のメッセージが表示されますが、上書きでよいでしょう。心配であれば、既存の差分ディスクをリネームしておきましょう。
     image

    親ディスクのパスを聞いてくるので、先ほど作成した親ディスクを指定しましょう。親ディスクをTMP等に保存した場合には、事前に「ちゃんとした場所」に移動しておきましょう。[作成]ボタンをクリックすれば、設定は完了です。
    image

    ハードディスクの設定画面が、以下のようになっていればOKです。
    image

    新しい親ディスクを読み取り専用にする
    image

    ⑨ 新しい親ディスクのアクセス権を変更する

    ひとまずこれで、ドメインに参加した状態の親ディスクを用意できました。

    めでたしめでたし…と言いたいところなのですが…考えれば考えるほど運用上の問題が山積でして…
    以下に現時点で解決できていない大きな問題点を挙げておきます。
    Windows XP Modeの設定をデフォルトプロファイルに埋め込めない

    作成したWindows XP Modeの設定は、デフォルトプロファイルに埋め込むなどして、他のユーザーでも使用できるようにしておく必要があります。でないと、ユーザーごとに上記「6.」の操作を行う必要があります。これでは事実上、運用にならないですよね…。

    3日間、かかりっきりで調べているのですが…なかなかうまくいかず…

    ちなみに、本件に関しては以下の2点をテストしました。

    • 新しく作成した親ディスクを既存の親ディスク(Windows XP Mode Base.vhd)と入れ替え、新しくログオンしたユーザーでWindows XP Modeの初期設定を実施したが、正常に完了しなかった
    • 正常に動作しているユーザーのプロファイルを、デフォルトプロファイルに複製。VMCXファイルとVMCファイルの中に書かれているパスには、%UserProfile% を使用して書き換えたが、うまく動作しない

    どなたか…うまくいったという方、ご連絡を!

  • 【Windows7/Vista】ポップアップメッセージを送りたい(net send あらため msg.exe)

    image

    ユーザーやドメイン内のコンピューターにポップアップメッセージを送付する場合に重宝していた net send コマンドは、Vista以降 msg.exe という新しいコマンドに置き換わっています。

    知ってました?実は、私は全く知りませんでした…(恥)。やっぱり現場を離れるとだめですなぁ…。

    image

    で、Msg.exe コマンドの良いところは、ターミナルサービス(リモードデスクトップサービス)に対応している点です!

    以下の画面では、管理者がセッション番号「1」でログオンしていることがわかります。

    image

    この場合には、以下のように入力します。

    C:\> msg 1 “大変大変!!サーバーが死んだよ!”

    image

    またはセッション名を使用して、以下のように書いてもOKです。

    C:\> msg rdp-tcp#0 “大変大変!!サーバーが死んだよ!”

    対話ログオンセッションに対して送付する際には、Console を使用します。

    C:\> msg Console “大変大変!!サーバーが死んだよ!”

    もちろん、メッセージはログオンしていなくても表示されます。

    面白いのは、/w オプションが用意されていることです。このオプションを使用すると、相手がポップアップメッセージのOKボタンをクリックするまで処理を止めることができます。

    で、リモートコンピュータにメッセージを送る場合には1点注意がありまして、それについては次の投稿で。

    ※2010/4/6 19:34 エラー発生時に対処法を投稿しました
    【Management】Msgコマンドを使用すると「セッション名の取得エラー5」