可能であれば、Linuxでユーザーの動的認証を生成する方法を知りたいです。
サーバーは定期的にユーザーのパスワードを変更し、ユーザーはプログラム(トークンなど)を使用して正しいパスワードを検索して入力します。
答え1
まさにあなたが探しているわけではありませんが、このようなシナリオでOTPWが使用されているのを見ました。 PAMモジュールを介してLinuxシステムと統合される完全なソフトウェアパッケージです。
抜粋
OTPWパッケージは、使い捨てパスワードジェネレータ
otpw-gen
と2つの確認ルーチンで構成されており、otpw_prepare()
POSIXotpw_verify()
システムなどのプログラムに簡単に追加できますlogin
。ftpd
PAM(Pluggable Authentication Method)インターフェイスをサポートするプラットフォームには、適切なラッパーも含まれます。このように拡張されたログインソフトウェアは、安全でないネットワーク回線を介して合理的に安全なユーザー認証を可能にします。ユーザーは紙のパスワードのリストを持っています。この方法は、紙リストの盗難と最後の文字を置き、競合する攻撃を効果的に防ぐために設計されています。使い捨てパスワードの暗号化ハッシュは、確認のためにユーザーのホームディレクトリに保存されます。
状況に応じて、PAMのインストールについて詳しく説明する適切なページの指示に従ってください。
抜粋
システムがプラグイン認証モジュール[Mor01、XSSO]をサポートしている場合は、共有ライブラリをコンパイルして
pam_otpw.so
他のPAMモジュールがあるディレクトリ(通常はLinuxの下/lib/security/
)にコピーします。次に、PAMシステム管理者ガイドの指示に従って、OTPWを使用するアプリケーションのPAM設定ファイルを編集します。pam_otpw.so
認証およびセッションコンポーネントを提供します。認証コンポーネントは使い捨てパスワードを要求して確認し、セッションコンポーネントはログインが成功するたびに通知を印刷し、まだ使用していないパスワードが残っているかどうかを通知します。Secure Shellを介してシステムにログインするときにこれら2つのコンポーネントを使用するには、次の行を追加する
/etc/pam.d/sshd
必要があります。auth required pam_otpw.so session optional pam_otpw.so
OpenSSH 3.4 の例では、バージョンが PAM サポートでコンパイルされていることを確認し、次の
/etc/ssh/sshd_config
行を追加する必要があります。UsePrivilegeSeparation no PAMAuthenticationViaKbdInt yes
OpenSSHにPAM認証を有効にするには(通常は最初に試みる独自のホストベースまたは公開鍵方式の代わりに)
“ssh -o PreferredAuthentications=keyboard-interactive”
。