ベスト プラクティス

  • 適切なドメイン コントローラーにパスワード同期をインストールします。  ドメイン パスワードと UNIX パスワードとの同期の整合性を確保するには、パスワード同期をプライマリ ドメイン コントローラーにインストールする必要があり、さらに Windows 2000 ドメインの場合は、ドメインにあるすべてのドメイン コントローラーにインストールする必要があります。

    • ドメインにドメイン コントローラーを追加した場合は、新しいドメイン コントローラーに速やかにパスワード同期をインストールし、その他のドメイン コントローラーと一致するように構成する必要があります。

    • ドメイン コントローラーからパスワード同期を削除する必要がある場合は、パスワード同期をアンインストールする前にそのサーバーをメンバー サーバーに降格させる必要があります。

  • パスワード ポリシーの整合性を確保します。  一方向のみのパスワード同期を提供している場合、パスワードの同期元であるコンピューターのパスワード ポリシーは、パスワードの同期先であるコンピューターのパスワード ポリシーと、すべての領域で最低限でも同程度の制限であることを確認します。たとえば Windows から UNIX への同期を構成する場合、Windows のパスワード ポリシーは、パスワードの同期先である UNIX コンピューターのパスワード ポリシーと少なくとも同程度の制限が必要です。双方向の同期をサポートしている場合、パスワード ポリシーの制限は両システムで同程度であることが必要です。パスワード ポリシーの整合性が維持されていないと、制限の弱いシステムでユーザーがパスワードを変更した場合に、パスワードの同期が失敗する可能性があります。あるいは、そのパスワードがシステムのポリシーに準拠していないにもかかわらず、制限の強いシステムでパスワードが変更される場合があります。

    Windows ユーザーが、パスワードの同期先である UNIX システムでの特別なパスワード制限について理解していることを確認してください。たとえば、いくつかの UNIX のバージョンは、最大 8 文字までの長さのパスワードをサポートしています。既定の Windows のパスワード ポリシーとこれらの UNIX の制限との互換性を最大限に活用するためには、UNIX の全システムでそれ以上の長さのパスワードをサポートしていることが確実ではない限り、パスワードは 7 文字または 8 文字にする必要があります。

  • ユーザーのパスワードを可能な限り保護するようにパスワード同期を構成します。

    次の推奨事項に従って、最適なセキュリティを維持します。

    • パスワードを同期させるユーザーを、明示的に一覧表示します。パスワードを同期できるユーザーを最も効果的に管理するには、UNIX ホストにある sso.conf の SYNC_USERS 一覧で ALL キーワードを使用しないでください。その代わりに、パスワード同期が許可または禁止される各ユーザーを明示的に示します。パスワード同期を実行する Windows ベースのコンピューターで、PasswordPropAllow グループを作成し、パスワードを同期するユーザーのアカウントを追加します。詳細については、「ユーザー アカウントに対するパスワード同期を制御する」を参照してください。

    • 使用不可の UNIX アカウントに対するパスワードは同期させません。UNIX のバージョンの中には、使用不可のユーザー アカウントのパスワードを変更することにより、そのアカウントが有効になってしまうものがあります。その結果、ユーザーが使用不可のアカウントを UNIX コンピューター上に持ち、そのコンピューターが Windows コンピューターとパスワードを同期させるように構成されている場合、ユーザーまたは管理者がそのユーザーの Windows パスワードを変更することにより、UNIX アカウントが有効になることがあります。これを防ぐには、PasswordPropDeny グループを使用して使用不可の UNIX アカウントに対する同期を禁止します。

      さらに管理者は、UNIX アカウントを使用不可にする際に sso.conf にある SYNC_USERS エントリを使用して、そのアカウントに対するパスワード同期を禁止する必要があります。

    • 管理者のパスワードを同期させることを避けます。Windows Administrators グループのメンバーに対するパスワード、あるいは UNIX のスーパーユーザーまたは root アカウントのパスワードを同期させないでください。

    • [パスワード同期 - プロパティ] ダイアログ ボックスの [構成] タブにある [Windows から NIS (Active Directory) へのパスワード同期] を有効にするときに、Windows Server 2003 Service Pack 1 (SP1) 互換性チェックを実行します。エンタープライズでのユーザー アカウント パスワードのセキュリティを保護するために、パスワード同期を使用して、Windows Server 2003 SP1 以降のリリースを実行していないフォレスト内のすべてのドメイン コントローラーを識別することを強くお勧めします。

      パスワード同期を使用すると、[Windows から NIS (Active Directory) へのパスワード同期] で [有効にする] を選択したときに、互換性チェックの許可を求めるメッセージが表示されます。フォレスト内のすべてのドメイン コントローラーに Windows Server 2003 SP1 以降のリリースがインストールされていると、承認されていないビューアーにユーザー パスワードのハッシュが公開されるリスクが、大幅に削減されます。Windows Server 2003 SP1 が、フォレスト内のすべてのドメイン コントローラーについて最小限の機能レベルになっていない場合、ドメイン上の認証されたユーザーは、アカウントが Active Directory ドメイン サービス (AD DS) に移行されている UNIX ユーザーのパスワード ハッシュを確認できます。

      承認されていないユーザーが AD DS 内の UNIX ベースのユーザー アカウントに対するパスワード ハッシュを解除した場合、そのアカウントに対する Windows ベースのパスワードはセキュリティで保護されなくなります。

パスワード同期をインストールすると、ローカルの Administrators グループおよび Domain Administrators グループのメンバーが PasswordPropDeny グループに追加され、これらのユーザーのパスワードは同期されなくなります。ユーザーを Administrators グループまたは Domain Administrators グループのどちらかに追加した場合、そのユーザーを PasswordPropDeny グループにも必ず追加してください。

UNIX ベースの全システムで sso.conf ファイルにある SYNC_USERS ステートメントを変更して、スーパーユーザーのパスワードが同期されないようにします。

  • 既定のポート番号および暗号化キーを使用しません。  既定のポート番号および暗号化キーを変更せずに使用した場合、攻撃者は偽の UNIX ホストをセットアップしてパスワードを盗み出すことが可能になります。パスワード同期に使用するポート番号および暗号化キーは、パスワードと同様の慎重さで保護する必要があります。

  • sso.conf ファイルを保護します。  各 UNIX ホストにある sso.conf ファイルには、セキュリティを脅かすために使用される恐れのある重要な情報が含まれています。ファイルのモード ビット マスクを 600 に設定することを推奨します。

  • TEMP_FILE_PATH で指定されるディレクトリが適切に保護されていることを確認します。  パスワード同期によって UNIX ホスト上に作成される一時ファイルには、攻撃者がシステムのセキュリティを脅かすために使用する恐れのある情報が含まれています。このため、sso.conf にある TEMP_FILE_PATH が参照するディレクトリの読み取りアクセス権は root アカウントにのみ割り当て、その他のユーザーはディレクトリにアクセスできないようにする必要があります。

  • ログ ファイルが適切に保護されていることを確認します。  UNIX ホストでは、syslogd デーモンを使用して、同期操作で発生したメッセージがログに記録されます。作成されたログには、パスワードが同期されたユーザーの名前およびパスワード伝達が失敗したコンピューターなどの情報が含まれています。これらのログ ファイルを保護し、管理者のみが参照できるようにする必要があります。

  • パスワード同期デーモンの構成を変更した後は、デーモンを再起動します。  パスワード同期デーモンの構成ファイル (sso.conf) に変更を加えた場合は、デーモンを停止して再起動し、構成の変更を有効にする必要があります。

  • ユーザー名の大文字と小文字の区別を正しく処理できるようにシステムを構成します。  Windows と UNIX のユーザー名が大文字と小文字の違いを含めて完全に一致していることを要求する厳密なポリシーが適用されていない場合は、sso.conf ファイル内の CASE_IGNORE_NAME オプションが 1 (既定) に設定されていることを確認します。UNIX ユーザー名には、大文字と小文字の区別があります。したがって、ユーザー名が完全に一致しない場合は、パスワード同期デーモンが Windows ユーザー名と UNIX ユーザー名を関連付けることができないため、パスワードが正しく同期されない可能性があります。

  • パスワード ファイルの種類と名前が一致していることを確認します。  パスワード同期デーモンを構成する際に、(USE_SHADOW で指定された) パスワード ファイルの種類と、(FILE_PATH で設定された) パス名が相互に適切であることを確認します。たとえば、ほとんどのシステムでは、USE_SHADOW が 0 に設定されている場合 (パスワード ファイルを使用して同期を行う場合)、FILE_PATH オプションは /etc/passwd に設定されている必要があります。また、USE_SHADOW が 1 に設定されている場合 (shadow ファイルを使用する場合) は、FILE_PATH オプションが /etc/shadow に設定されている必要があります (IBM AIX システムの場合、shadow ファイルのパスと名前は /etc/security/passwd です)。