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