この節では、PAM のフレームワークを完全に機能させるために必要な作業について説明します。特に、PAM 構成ファイルに関連するセキュリティのいくつかの問題について注意する必要があります。
どのように PAM を使用すればユーザーのサイトに最適であるかを決定するために、次の問題から始めます。
何が必要か、特にどのモジュールを選択するかを決定します。
特別な注意が必要なサービスを確認します。適宜、OTHER を使用します。
モジュールを実行する順番を決定します。
そのモジュールに対する制御フラグを選択します。
モジュールに必要な任意のオプションを選択します。
ここで、構成ファイルを変更する前に考慮すべき問題を示します。
すべてのアプリケーションを指定しなくてもいいように、モジュールタイプごとに OTHER エントリを使用します。
sufficient 制御フラグと optional 制御フラグのセキュリティの意味を考慮します。
モジュールに関連するマニュアルページを参照して、各モジュールがどのように機能するか、どのオプションが使用できるか、およびスタック中のモジュール間の相互作用を理解します。
PAM 構成ファイルの構成を間違えたり壊したりすると、スーパーユーザーでもログインできなくなる可能性があります。sulogin は PAM を使用しないので、スーパーユーザーは、マシンをシングルユーザーモードでブートして問題を解決しなければなりません。
/etc/pam.conf ファイルの変更後、スーパーユーザーとしてログインしている間にできるだけ調査します。変更によって影響を受けるコマンドは、すべてテストします。たとえば、新しいモジュールを telnet サービスに追加した場合、telnet コマンドを使用して、行なった変更が期待どおりに動作しているかどうかを確認します。
スーパーユーザーになります。
使用される制御フラグやオプションを決定します。
モジュールについては、「PAM モジュール」を参照してください。
新しいモジュールを /usr/lib/security にコピーします。
モジュールファイルの所有者が root で、そのアクセス権が 555 になるように、アクセス権を設定します。
PAM 構成ファイル /etc/pam.conf を編集して、このモジュールを適切なサービスに追加します。
構成ファイルが間違って構成されていた場合などのために、システムをリブートする前にテストすることは非常に重要です。システムをリブートする前に、rlogin、su、および telnet を実行します。サービスが、システムがブートするときだけに生成されるデーモンの場合は、システムをリブートしなければ、モジュールが正しく追加されていることを確認できません。
PAM 構成ファイルから「rlogin auth rhosts_auth.so.1」エントリを削除します。これによって、rlogin セッション中、‾/.rhosts ファイルは読み込まれなくなります。したがって、リモートシステムからローカルシステムへの認証されていないアクセスを防ぐことができます。‾/.rhosts ファイルまたは /etc/hosts.equiv ファイルの存在またはその内容にかかわらず、すべての rlogin アクセスにはパスワードが必要になります。
‾/.rhosts ファイルへの承認されていない他のアクセスを防ぐには、rsh サービスも無効にする必要があります。サービスを無効にする最良の方法は、/etc/inetd.conf からサービスエントリを削除することです。PAM 構成ファイルを変更しても、サービスを無効にはできません。
/etc/syslog.conf を編集して、次の PAM のエラー報告に関するエントリを追加します。
syslog デーモンを再起動するか、SIGHUP シグナルをこのデーモンに送信して、PAM のエラー報告を有効にします。
次の例では、警戒メッセージはすべてコンソールに表示されます。致命的なメッセージは root に電子メールで送信されます。情報メッセージとデバッグ用メッセージは、/var/log/pamlog ファイルに追加されます。
auth.alert /dev/console auth.crit 'root' auth.info;auth.debug /var/log/pamlog |
ログ内の各行は、タイムスタンプ、メッセージを生成したシステム名とメッセージ自身からなります。pamlog ファイルには、大量の情報が記録される可能性があります。