ディレクトリサービスとユーザー認証、ファイル共有、ポリシー管理
多くのサーバーにファイルなどの情報が分散して保存され、それにアクセスするユーザーが増えてくると、そのサーバーやユーザー毎にアクセス制御や細々とした設定を行うのは難しくなってきます。このようなサーバーやユーザーなどの情報をディレクトリサービスに集中して格納することで、一元管理することができます。
以前はNISやNovell Directory Services(現在のNovell eDirectory)などが利用されることがほとんどでしたが、Windows 2000のActive Directoryの登場と共にその勢力図が大きくかわりました。
今回はディレクトリサービスとその関連機能として、Windows Serverの代表する役割の一つでもあるActive Directoryと、オープンソースではOpenLDAP + Sambaを取り上げます。
WindowsでActive Directoryを利用すると、ドメインと呼ばれる単位でユーザー、組織(グループ)、コンピューター、プリンタ、共有フォルダなどさまざまなオブジェクトの情報を管理します。
そしてこれらの情報を利用して、複数のサーバーやクライアントにまたがってユーザー認証(シングルサインオン)をし、ファイル・フォルダへのアクセス制御を行うことができます。
クライアントPCが変わっても同一の設定やホームディレクトリを利用したり、セキュリティポリシーなども統一することができます。
さらにExchangeサーバーのアカウントもActive Directoryに統合されています。
Active Directoryの管理は、Active Directoryサイトとサービス、Active Directoryドメインと信頼関係、Active Directoryユーザーとコンピューター、グループポリシーの管理といったGUIツールを使うことも、PowerShellでコマンドラインから実行することもできます。
Linuxサーバーをメインで使用している環境にWindowsクライアントが存在する場合は、OpenLDAPとSambaを組み合わせてWindows NT 4.0と互換性のあるNTドメインサービスを構築することができます。LinuxサーバーのOSSでWindowsクライアントを扱うには、現在のところこの組み合わせが最強のソリューションと言えると思いますが、Windows統合認証とファイルおよびプリンタ共有を実現するという範囲にとどまり、Active Directoryには遠く及びません。
逆に、サーバー・クライアントを問わず、LinuxをActive Directoryのドメインに参加させることで統合認証を実現するという方法も考えられます。この場合一般的にsambaが使用されていますが、LDAPやkerberosを使用して、直接Active Directoryに参加させることも可能です。
メールサーバーに関しても同様に考えることができます。sendmail、Postfix、qmailはどれでもOpenLDAPを使用する標準的な方法が提供されていますし、やる気さえあれば Active DirectoryをOpenLDAPの代わりに使用することも可能です。
このようにActive Directoryを利用することで、Windowsクライアントの統合管理だけでなく、Linuxクライアント/サーバーの認証も統合することができます。
しかしActive Directoryを採用するとなるとクライアントライセンス(CAL)の費用がかかります。
費用については今後の連載でもう少し深く述べさせていただきますが、Windows Serverを導入してCALを購入するライセンス費用と、無償のLinuxとOpenLDAP、Sambaなどを利用してライセンス費用を抑える代わりに発生する管理コストとの比較をする必要があります。
昨今のセキュリティインシデントにより、クライアント管理は外すことのできない課題です。セキュリティポリシーをどうやって隅々まで徹底させるかについても、判断基準となるでしょう。
Windows Server 2008 R2 Active Directory
Windows PowerShell 2.0
http://www.microsoft.com/japan/windowsserver2008/r2/technologies/powershell.mspx
http://www.microsoft.com/japan/technet/scriptcenter/hubs/msh.mspx