無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

F.23. パスワード検査

passwordcheck モジュールは CREATE ROLE または ALTER ROLE によって設定したユーザのパスワードを検査します。 パスワードが弱すぎると考えられた場合、パスワードは拒絶されてコマンドはエラーで終わります。

このモジュールを有効にするには、 postgresql.conf 中の shared_preload_libraries '$libdir/passwordcheck' を追加して、サーバを再起動してください。

ソースコードの変更により、このモジュールをユーザの用途に適合できます。 例えば、パスワード検査のため CrackLib を使用できます。 これに必要な作業は Makefile 中の 2行のコメントアウトを外してモジュールを再構築することだけです。 (ライセンスの理由から CrackLib をデフォルトで組み込むことができません。) CrackLib がなくても、モジュールはパスワードの強度に関する幾つかの単純な規則を強制します。 ユーザはこの規則を、適切となるように修正または拡張できます。

注意

暗号化されないパスワードが、ネットワークを送信されること、サーバログに記録されることおよびデータベース管理者に盗聴されることを防ぐために、 PostgreSQL はパスワードの一方向暗号化をユーザに提供できます。 この機能を使用して、多くのクライアントプログラムはサーバへ送信する前にパスワードを暗号化できます。

一方向暗号化されたパスワードは復号できないので、これが passwordcheck モジュールの有効性の限界となります。 この理由により、高度のセキュリティが要求される場合、 passwordcheck は推奨されません。 データベース内部に保存したパスワードに依存するよりは、Kerberos のような外部の認証方法を使用した方が安全です( 第19章 参照)。

その他の方法として、一方向暗号化されたパスワードを拒否するために passwordcheck を修正できます。 しかし、この方法ではパスワードが平文のテキストとして送信されるため、ユーザに多大なセキュリティリスクを負担させます。


powered by SEO.CUG.NET