標的型攻撃の登場によってセキュリティ対策は変わったといわれる。しかし、これまでのセキュリティ対策が無駄ということではない。基本となる対策はこれからも重要なのである。今回も「グループポリシー」で可能なセキュリティ設定を確認しよう。
コンピューターにセキュリティ対策を行う場合、少々乱暴な言い方になるかもしれないが、サーバーやクライアントを問わず「できることは全部やる」というのが基本になる。本連載第5回「セキュリティの強化に役立つグループポリシー設定」ではサーバーで可能なセキュリティ設定、そして本連載第6回「グループポリシーでアプリケーションの実行を制御する」ではクライアントで可能なセキュリティ設定のうち、アプリケーションの実行に関して紹介した。
今回は、一つでも多くのセキュリティ対策を実装できるように、アプリケーション実行制御以外のクライアントに対して有効なグループポリシー設定項目を紹介したい。
パスワードは、さまざまなデータにアクセスするための“要”となるとても大事な情報である。実際、不正利用を避けるために、会社や組織内で「パスワードをきちんと管理しましょう」と従業員に呼び掛けているところも多い。
しかし、その呼び掛けがどこまで浸透しているのかを確認することは難しいため、個々人にパスワードの管理をお任せするのは不安な管理者もいるだろう。そのような場合には、管理者としてパスワードの管理をある程度強制的に運用できるように、グループポリシーを活用することをお勧めしたい。
グループポリシーでは、パスワードの設定と利用に関する二つの大きな設定項目を利用できる。
一つは「パスワードのポリシー」で、パスワードとして設定可能な文字列を定義できる。
もう一つは「アカウントロックアウトのポリシー」で、パスワードの入力を一定回数間違えると、自動的にそのユーザーでのサインイン(ログオン)をできなくする(アカウントロックする)機能だ。
これらの設定は「グループポリシーの管理」管理ツールを起動し、「Default Domain Policy」グループポリシーオブジェクト(GPO)を右クリックしたメニューから「編集」を選択して表示されるGPOの編集画面から次の項目を開いて行う。
「アカウントポリシー」には、「パスワードのポリシー」と「アカウントロックアウトのポリシー」の設定が入っている(画面1)。
「パスワードのポリシー」の設定項目である「パスワードの有効期間」は、デフォルトで「42日」に設定されている。このポリシーにより、ユーザーは42日ごとにパスワード変更が強制される。パスワードの定期的な変更については、さまざまな意見があると思うが、会社で定めたセキュリティポリシーに合わせて適切な日数を設定しよう。
その他、「パスワードの長さ」では7文字以上のパスワードを強制したり、「パスワードの履歴を記録する」では過去24回以内に設定したパスワードを再利用できない(つまり、同じパスワードを使い回しができない)ようにしたりするなどの設定を組み合わせることができる。
もう一つの「アカウントロックアウトのポリシー」の設定項目である「アカウントのロックアウトのしきい値」には、デフォルトで何も値が入っていない。そこで、前出の画面1では筆者が「10回ログオンに失敗」と設定した。これは10回パスワードを間違えると、その後に正しいパスワードを入力してもサインインが受け付けられないという設定になる。この設定を利用すれば、総当たりで正しいパスワードを突き止めようとする攻撃を防ぐことができるだろう。
なお、パスワードの入力を一定回数間違え、「アカウントロックアウトのポリシー」でロックされてしまったユーザーは、「Active Directoryユーザーとコンピューター」管理ツールなどを使うことでロックを解除することができる。設定方法は以下の記事を参考にしてほしい。
本連載第1回「グループポリシーの仕組み、理解できていますか?」でも紹介したが、「パスワードのポリシー」と「アカウントロックアウトのポリシー」は、必ずドメインにリンクされるGPOから設定する必要がある。そのため、一般にはデフォルトでドメインにリンクされている「Default Domain Policy GPO」を使って、二つのポリシーを設定すると覚えておくとよいだろう。
ドメインに参加しているコンピューターは、サインイン時にドメインコントローラーとの通信によってパスワードが正しいかどうかを確認される。入力したパスワードが正しいと確認されると、サインインの成功と同時にローカルのディスク内にパスワードが保存(キャッシュ)される。
このような仕組みにより、次回以降のサインインの際、クライアントがドメインコントローラーと通信できない状態でも、保存されたパスワードとの比較で入力したパスワードが正しいかどうかが確認される(図1)。
ところが、この仕組みを利用することにより、平文ではないものの、パスワードが自分のコンピューター内に残ったままになってしまうという課題がある。もし、パスワードを自分のコンピューター内に残したくないのなら、次のGPOの設定項目を利用しよう。
「対話型ログオン:キャッシュする過去のログオン数」項目は、数値で設定する。デフォルトでは(OS種類によって異なるが)10ユーザー分のパスワードをキャッシュする。この設定を少なくすることで、キャッシュするパスワードの数を少なくすることができる。
このときに注意してほしいのが、キャッシュするパスワードの数を「ゼロ(0)」に設定してしまうことだ。キャッシュするパスワードをゼロにすれば、パスワードが全くキャッシュされなくなるので、最大のセキュリティ効果が期待できる。
しかし、前述の通り、ドメインコントローラーと通信できない状態ではパスワードが正しいことを確認できなくなるため、サインイン自体ができなくなってしまうのである。例えば、持ち運んで利用する機会の多いノートPCでは、外出先などでサインインができないために、PCを使えなくなる事態も発生するだろう。
少なくとも設定を「1」にして、普段、自分がサインインするときのパスワードだけはキャッシュされるようにしておくことをお勧めする。
「Administrators」グループや「Domain Admins」グループなど、管理者グループのメンバーとなったユーザーは、Active Directoryの管理者としてさまざまな作業を行うことができる。もし、管理者グループに不適切なユーザーが含まれると、すぐに不正アクセスにつながってしまうだろう。そのため、管理者グループのメンバーになっているユーザーを監視し、不適切なユーザーが管理者として登録されることがないようにしていくことが大事である。
グループポリシーでは「制限されたグループ」項目を利用することで、グループのメンバーとなるユーザーをグループポリシーで定義できる。「制限されたグループ」項目には監視対象となるグループを追加し、さらにグループのメンバーとなるユーザーを追加する(画面2)。
以上の設定により、Active Directoryグループのメンバー構成が監視されるようになる。もし、グループのメンバーが変更されたとしても、自動的にグループポリシーで設定したメンバー構成に戻るようになる。
ただし、この設定を利用するときに注意しなければならないのは、デフォルトで設定は一度しか適用されないことだ。例えば、マルウエアなどによってグループのメンバーが変更された場合、一度目はグループポリシーによって元に戻されるが、二度目は元に戻ることはない。そのため、毎回確実にグループポリシー設定が適用されるように、次のGPO設定も同時にしておくとよい。
「セキュリティポリシーの処理を構成する」項目で「グループポリシーオブジェクトが変更されていなくても処理する」にチェックを入れることで、5分ごとにグループのメンバーが監視されるようになる(画面3)。
なお、グループのメンバー構成を監視する間隔として「5分」が長いのであれば、グループポリシー設定が更新される間隔を短くすることも可能だ。その場合は、次のGPO項目を利用する。
「ドメインコントローラーのグループポリシーの更新間隔を設定する」項目で分数を入力することで、更新の最小間隔を1分から設定できる。ただし、あまり頻繁にグループポリシーを更新すると、ドメインコントローラーそのもののパフォーマンスにも影響する可能性があるので注意してほしい。
ここまで、クライアントのセキュリティ強化に利用可能なグループポリシー設定を見てきた。ここで紹介した設定は、いずれも不正アクセスの防止に有効だが、どんな攻撃にも対応できるわけではない。
冒頭でも述べたが「できることは全部やる」というスタンスで、さまざまな設定/機能を組み合わせて強化していくことが、セキュリティ対策の基本的な考え方である。こうした基本を踏まえ、今回のグループポリシーでのセキュリティ設定を活用してほしい。
株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(ADFS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.