クライアントのセキュリティを強化するグループポリシー設定基礎から分かるグループポリシー再入門(7)

標的型攻撃の登場によってセキュリティ対策は変わったといわれる。しかし、これまでのセキュリティ対策が無駄ということではない。基本となる対策はこれからも重要なのである。今回も「グループポリシー」で可能なセキュリティ設定を確認しよう。

» 2015年06月19日 05時00分 公開
[国井傑(Microsoft MVP for Directory Services)株式会社ソフィアネットワーク]
「基礎から分かるグループポリシー再入門」のインデックス

連載目次

まだまだできる! クライアントでのセキュリティ設定

 コンピューターにセキュリティ対策を行う場合、少々乱暴な言い方になるかもしれないが、サーバーやクライアントを問わず「できることは全部やる」というのが基本になる。本連載第5回「セキュリティの強化に役立つグループポリシー設定」ではサーバーで可能なセキュリティ設定、そして本連載第6回「グループポリシーでアプリケーションの実行を制御する」ではクライアントで可能なセキュリティ設定のうち、アプリケーションの実行に関して紹介した。

 今回は、一つでも多くのセキュリティ対策を実装できるように、アプリケーション実行制御以外のクライアントに対して有効なグループポリシー設定項目を紹介したい。

クライアントのパスワード設定を安全に運用する

 パスワードは、さまざまなデータにアクセスするための“要”となるとても大事な情報である。実際、不正利用を避けるために、会社や組織内で「パスワードをきちんと管理しましょう」と従業員に呼び掛けているところも多い。

 しかし、その呼び掛けがどこまで浸透しているのかを確認することは難しいため、個々人にパスワードの管理をお任せするのは不安な管理者もいるだろう。そのような場合には、管理者としてパスワードの管理をある程度強制的に運用できるように、グループポリシーを活用することをお勧めしたい。

 グループポリシーでは、パスワードの設定と利用に関する二つの大きな設定項目を利用できる。

 一つは「パスワードのポリシー」で、パスワードとして設定可能な文字列を定義できる。

 もう一つは「アカウントロックアウトのポリシー」で、パスワードの入力を一定回数間違えると、自動的にそのユーザーでのサインイン(ログオン)をできなくする(アカウントロックする)機能だ。

 これらの設定は「グループポリシーの管理」管理ツールを起動し、「Default Domain Policy」グループポリシーオブジェクト(GPO)を右クリックしたメニューから「編集」を選択して表示されるGPOの編集画面から次の項目を開いて行う。

パスワードのポリシー/アカウントロックアウトのポリシーの設定

  • 「コンピューターの構成」−「ポリシー」−「Windowsの設定」−「セキュリティの設定」−「アカウントポリシー」

 「アカウントポリシー」には、「パスワードのポリシー」と「アカウントロックアウトのポリシー」の設定が入っている(画面1)。

画面1 画面1 「パスワードのポリシー」(画面上)と「アカウントロックアウトポリシー」(画面下)の設定項目

 「パスワードのポリシー」の設定項目である「パスワードの有効期間」は、デフォルトで「42日」に設定されている。このポリシーにより、ユーザーは42日ごとにパスワード変更が強制される。パスワードの定期的な変更については、さまざまな意見があると思うが、会社で定めたセキュリティポリシーに合わせて適切な日数を設定しよう。

 その他、「パスワードの長さ」では7文字以上のパスワードを強制したり、「パスワードの履歴を記録する」では過去24回以内に設定したパスワードを再利用できない(つまり、同じパスワードを使い回しができない)ようにしたりするなどの設定を組み合わせることができる。

 もう一つの「アカウントロックアウトのポリシー」の設定項目である「アカウントのロックアウトのしきい値」には、デフォルトで何も値が入っていない。そこで、前出の画面1では筆者が「10回ログオンに失敗」と設定した。これは10回パスワードを間違えると、その後に正しいパスワードを入力してもサインインが受け付けられないという設定になる。この設定を利用すれば、総当たりで正しいパスワードを突き止めようとする攻撃を防ぐことができるだろう。

 なお、パスワードの入力を一定回数間違え、「アカウントロックアウトのポリシー」でロックされてしまったユーザーは、「Active Directoryユーザーとコンピューター」管理ツールなどを使うことでロックを解除することができる。設定方法は以下の記事を参考にしてほしい。

 本連載第1回「グループポリシーの仕組み、理解できていますか?」でも紹介したが、「パスワードのポリシー」と「アカウントロックアウトのポリシー」は、必ずドメインにリンクされるGPOから設定する必要がある。そのため、一般にはデフォルトでドメインにリンクされている「Default Domain Policy GPO」を使って、二つのポリシーを設定すると覚えておくとよいだろう。

ローカルにパスワードを保存しないようにする

 ドメインに参加しているコンピューターは、サインイン時にドメインコントローラーとの通信によってパスワードが正しいかどうかを確認される。入力したパスワードが正しいと確認されると、サインインの成功と同時にローカルのディスク内にパスワードが保存(キャッシュ)される。

 このような仕組みにより、次回以降のサインインの際、クライアントがドメインコントローラーと通信できない状態でも、保存されたパスワードとの比較で入力したパスワードが正しいかどうかが確認される(図1)。

図1 図1 パスワードキャッシュの仕組み

 ところが、この仕組みを利用することにより、平文ではないものの、パスワードが自分のコンピューター内に残ったままになってしまうという課題がある。もし、パスワードを自分のコンピューター内に残したくないのなら、次のGPOの設定項目を利用しよう。

ローカルにパスワードを保存しない設定

  • 「コンピューターの構成」−「ポリシー」−「Windowsの設定」−「セキュリティの設定」−「ローカルポリシー」−「セキュリティオプション」−「対話型ログオン:キャッシュする過去のログオン数」

 「対話型ログオン:キャッシュする過去のログオン数」項目は、数値で設定する。デフォルトでは(OS種類によって異なるが)10ユーザー分のパスワードをキャッシュする。この設定を少なくすることで、キャッシュするパスワードの数を少なくすることができる。

 このときに注意してほしいのが、キャッシュするパスワードの数を「ゼロ(0)」に設定してしまうことだ。キャッシュするパスワードをゼロにすれば、パスワードが全くキャッシュされなくなるので、最大のセキュリティ効果が期待できる。

 しかし、前述の通り、ドメインコントローラーと通信できない状態ではパスワードが正しいことを確認できなくなるため、サインイン自体ができなくなってしまうのである。例えば、持ち運んで利用する機会の多いノートPCでは、外出先などでサインインができないために、PCを使えなくなる事態も発生するだろう。

 少なくとも設定を「1」にして、普段、自分がサインインするときのパスワードだけはキャッシュされるようにしておくことをお勧めする。

管理者グループのメンバーを制限する

 「Administrators」グループや「Domain Admins」グループなど、管理者グループのメンバーとなったユーザーは、Active Directoryの管理者としてさまざまな作業を行うことができる。もし、管理者グループに不適切なユーザーが含まれると、すぐに不正アクセスにつながってしまうだろう。そのため、管理者グループのメンバーになっているユーザーを監視し、不適切なユーザーが管理者として登録されることがないようにしていくことが大事である。

 グループポリシーでは「制限されたグループ」項目を利用することで、グループのメンバーとなるユーザーをグループポリシーで定義できる。「制限されたグループ」項目には監視対象となるグループを追加し、さらにグループのメンバーとなるユーザーを追加する(画面2)。

グループのメンバーを制限する設定

  • 「コンピューターの構成」−「ポリシー」−「Windowsの設定」−「セキュリティの設定」−「制限されたグループ」

画面2 画面2 「制限されたグループ」に「Domain Admins」グループのメンバーとして「Administrator」ユーザーが追加された様子

 以上の設定により、Active Directoryグループのメンバー構成が監視されるようになる。もし、グループのメンバーが変更されたとしても、自動的にグループポリシーで設定したメンバー構成に戻るようになる。

 ただし、この設定を利用するときに注意しなければならないのは、デフォルトで設定は一度しか適用されないことだ。例えば、マルウエアなどによってグループのメンバーが変更された場合、一度目はグループポリシーによって元に戻されるが、二度目は元に戻ることはない。そのため、毎回確実にグループポリシー設定が適用されるように、次のGPO設定も同時にしておくとよい。

グループのメンバー構成を監視する設定

  • 「コンピューターの構成」−「ポリシー」−「管理用テンプレート」−「システム」−「グループポリシー」−「セキュリティポリシーの処理を構成する」

 「セキュリティポリシーの処理を構成する」項目で「グループポリシーオブジェクトが変更されていなくても処理する」にチェックを入れることで、5分ごとにグループのメンバーが監視されるようになる(画面3)。

画面3 画面3 「セキュリティポリシーの処理を構成する」項目の設定

 なお、グループのメンバー構成を監視する間隔として「5分」が長いのであれば、グループポリシー設定が更新される間隔を短くすることも可能だ。その場合は、次のGPO項目を利用する。

グループポリシーの更新間隔の設定

  • 「コンピューターの構成」−「ポリシー」−「管理用テンプレート」−「システム」−「グループポリシー」−「ドメインコントローラーのグループポリシーの更新間隔を設定する」

 「ドメインコントローラーのグループポリシーの更新間隔を設定する」項目で分数を入力することで、更新の最小間隔を1分から設定できる。ただし、あまり頻繁にグループポリシーを更新すると、ドメインコントローラーそのもののパフォーマンスにも影響する可能性があるので注意してほしい。

 ここまで、クライアントのセキュリティ強化に利用可能なグループポリシー設定を見てきた。ここで紹介した設定は、いずれも不正アクセスの防止に有効だが、どんな攻撃にも対応できるわけではない。

 冒頭でも述べたが「できることは全部やる」というスタンスで、さまざまな設定/機能を組み合わせて強化していくことが、セキュリティ対策の基本的な考え方である。こうした基本を踏まえ、今回のグループポリシーでのセキュリティ設定を活用してほしい。

「基礎から分かるグループポリシー再入門」バックナンバー

筆者紹介

国井 傑(くにい すぐる)

株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(ADFS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。