SSHキーペア認証と連携して動作しますが、パスワードがない場合は、パスワードを要求せず、間違ったパスワードが提供された場合にログインに失敗するようにシステムを設定する方法を探したいと思います。
私たちはSSHキーをデフォルト値に設定したいと思います。パスワード認証を強制できることはわかっていますが、これによりキーペア認証が終了します。キーペアが設定されていないか失敗した場合にのみパスワードを強制的に適用できますか?
なぜ? (説明を求める)
CIS9 5.3 権限アップグレードの構成
CIS9 5.3.4 ユーザーがアップグレードパスワードを提供する必要があるかどうかを確認する (自動)
だから私の考えはプレッツェルのようにねじれて申し訳ありません。これはsshとsudoのアップグレードです。 RHEL 9 で sudo アップグレードを使用してパスワードを強制的に適用すると、SSH に対するパスワードレス認証が中断されます。
テスターから:
新しいRHEL 9.x VMを設定した後、そのユーザーを即座にsudoとして使用することはできません。セクション5.3.4に問題があります。 - (ユーザーがアップグレードするにはパスワードを入力する必要があります(自動)| /etc/sudoers.d)
セクション5.3.4のこの部分は構成プロセスと競合します。一部の分析の後、ユーザーは14日後に自動的に削除されるため、このセクションを削除/説明することをお勧めします。 Active Directoryに参加した後、追加のsudoers権限を取得します。
ロールが実行されると、ユーザーはsudoパスワードを使用する必要があります。設計上、一時ユーザーアカウントにはパスワードがなく、代わりにSSHキーを使用します。
答え1
質問を編集した後、質問の文脈に応じて回答が変更されました。可能な限り、次のアドレスに質問を残してください。https://security.stackexchange.com/
ここでのセキュリティ要件は、コマンドを効果的に議論することですsudo
。実際にはSSHに関するものではありません。
sudo
ユーザーが追加の権限を取得できるようにするために使用するコマンド。たとえば、一般ユーザーは通常ドライブをマウントまたは変更できません/etc/
。このコマンドを使用すると、より多くのタスクを実行するためのsudo
アクセス権を付与できます。root
このように権限を追加することを「権限エスカレーション」といいます。
sudo
したがって、このセキュリティ要件は、コマンドがユーザーにパスワードを要求する必要があることを示します。
ここで発生する問題は、システムにパスワードを入力しなくても実行its-user
できるユーザー(?という名前)があることです。sudo
これは、ユーザーが仮想マシンを自動的にプロビジョニングするために使用されるために設定されます。ターミナルに誰もいないので、パスワードを尋ねることは仕事をやめて永遠に待ちます。
行間を読み取るには、このユーザーはAnsibleスクリプトの一部としてsudoコマンドを実行する必要があります。
私の最初の反応は、Ansibleスクリプトをこのように設定する必要があるかどうか疑問でした。ヒントがありますここたぶん、sudoを必要としないようにAnsibleスクリプトを変更することもできます。become
私はAnsibleの専門家ではないので、必要なのかわかりませんsudo
。
sudo
次に、この初期段階の正確な目的を絞り込むことができるかどうかを見てみましょう。このユーザーがパスワードなしで目的の操作を実行できるようにするのではなく、ユーザーがパスワードなしで特定の/etc/sudoers
コマンドを実行できるように変更できます。
次に、これをロックするためのより良い措置を講じることができることを確認してください。おそらく、最後の操作の実行中にAnsibleスクリプトが自分でロックすることができます。
他のすべての方法が失敗した場合は、これが問題かどうかを尋ねたいと思います。そうかもしれないし。これはセキュリティの問題に近いです。
ユーザーが手動ログインなしで自動化された使用のみを目的としている場合は、あまり気にしません。しかし、おそらく監査役を満足させるためにそうしているかもしれません。