0

PAM に問題があります。PAM を使用して認証する tomcat webapp があります。インストール中に、/etc/pam.d に /etc/pam.d/sshd ファイルへのシンボリック リンクを作成します。これは常に機能しています。

最近、ユーザーが各リクエストを認証する方法を追加しました (JSESSIONID Cookie を使用するのではなく)。これが追加されたのは、一部のデータを定期的に監視アプリケーションにバッチロードする必要があり、Basic Auth を使用するのが簡単だったからです。

Web サービスを繰り返し (1 秒間に 10 回など) curl すると、ときどき PAM が失敗します。これは約 500 回に 1 回発生しますが、私のクライアントは数回に 1 回発生すると主張しています (リモートで実行されていることに注意してください。ただし、それが重要な理由はわかりません)。

シンボリックリンクされた pam 構成を次の最小構成に置き換えました。

#%PAM-1.0
auth        sufficient    pam_unix.so audit
auth        required      pam_deny.so

これも /etc/syslog.conf に追加しました

*.debug /var/log/debug.log

debug.log には、該当するログ メッセージのみが含まれています。

Mar 12 09:49:32 arques java: pam_unix(foo:auth): unable to obtain a password
Mar 12 09:49:32 arques java: pam_unix(foo:auth): auth could not identify password for [root]

これをさらにデバッグするにはどうすればよいですか? 私が試してみました:

  1. 異なるホストの使用。真新しいインストールである
  2. nscd サービスをオフにしました
4

1 に答える 1

1

認証に PAM を使用する Java アプリケーションでも同様の問題が発生しています。今のところ、CentOS 6.4 の分散 Java PAM バインディング実装に問題があると推測しています。私はそのシステムにアクセスできなくなったので (ただし、まだこの問題を解決しようとしています)、JDK のバージョンなどの詳細を提供することはできません。

私の最終的な解決策は、PAM を厳しく取り締まることでした。

#%PAM-
auth   sufficient pam_debug.so

これをより明確にするために、代わりに「pam_permit.so」を使用できます。基本的にはそれだけです。有効なユーザーは、パスワードの有無にかかわらず認証されます。うーん。

私はより良い答えを研究し続けています。

于 2013-06-12T07:56:52.137 に答える