web-dev-qa-db-ja.com

パスワードなしのsudoを持つansibleユーザーがいるのは安全ですか?

Ansibleは初めてです。これまでに見たほとんどのVPSプロビジョニングガイドは次のとおりです。

  1. rootがログインできないようにする
  2. ssh(パスワードではない)でのみログインできる新しいユーザーを作成する
  3. passwordless Sudo権限を使用して、新しいユーザーをwheelグループに追加します

(1)と(2)は理解できますが、(3)は理解できません。

確かにパスワードなしSudorootとしてログインするのと同じですか?メリット(便利さ)はわかりましたが、これは非常に安全ではありませんか?

管理者はさまざまな方法でネットワークを運用しているので、これは「主観的」であると言えるかもしれませんが、これは非常に一般的な慣例であり、さまざまな公式のansible docsやホスティング会社が発行するガイドにも示されています。それは常識に反します。その背後にあるロジックは何ですか?

10
lonix

サービスアカウントがパスワードなしのSudoを実行できる場合、そのアカウントへのアクセスを保護する必要があります。

アカウントにnotを設定し、パスワードを設定し、sshキーのみを使用してログインすると、ssh秘密キーも同様に安全に保つことができます。

18
Michael Hampton

(2)で作成した新しいユーザーは、パスワードではなく、SSHキーでのみログインできます。 SSHキーは、間接的なルートアクセスを提供します。したがって、これはキーでrootログインを許可することと同じです。

アカウントにはパスワードがないため、Sudoにパスワードを要求させることはできません。また、Ansibleはコマンドを実行できる必要があります。キーと同じ場所に追加のパスワードを入力しても、セキュリティは向上しません。

4
RalfFriedl

問題は、ansibleは管理者と自動化のためのものであるため、スクリプトを実行するためにパスワードを入力する必要がある場合は、実際には最善の方法ではありません。また、Sudoのパスワードをファイルまたはデータベースに保存することは安全ではなく、プレイブックを実行するたびに取得することもできます。したがって、パスワードなしのSudoとsshキーを使用した認証の組み合わせは、プレイブックを実行してセキュリティを確保し、適切な問題を回避するための最良の方法です。また、あなたは管理者であり、プレイブックでプログラミングする内容を知っています。したがって、プレイブックはサーバーを破壊することはできません。

2
NicoKlaus