~/.ssh/authorized_keys ファイルを保護するには?

~/.ssh/authorized_keys ファイルを保護するには?

公開鍵認証が有効なコンピュータがあります。どこかに認証キーがあります~/.ssh/authorized_keys

誤って私のユーザー(rootアクセス権なし)を使用して悪意のあるスクリプト/プログラムを実行したことが心配です。スクリプトは自動的に変更される可能性があるため、~/.ssh/authorized_keys攻撃者はそのユーザーへのリモートアクセスを永久に取得し、システムをさらに攻撃する可能性があります。

  1. ~/.ssh/authorized_keys認証キー()のデフォルトの場所にセキュリティ上の問題がありますか?

  2. 各ユーザーの認証キーをより安全な方法で保存する別の方法があります(たとえば、新しいホストを許可するにはrootアクセスが必要です)。

答え1

このシステムへのルートアクセス権がある場合は、次のコマンドを使用してSSHファイルとディレクトリを変更できないようにすることができます。chattr注文する、例えば:

sudo chattr +i ~/.ssh/authorized_keys
sudo chattr +i ~/.ssh

これにより、認証キーファイルの変更、名前の変更、削除、または上書きを防ぐことができます。ルートのみが不変フラグを設定解除できるため、通常のユーザーとして実行するスクリプトがファイルにauthorized_keysキーを挿入するのを防ぎます。

答え2

sshd 構成ファイルには次のオプションがあります。AuthorizedKeysFile

トークンを使用するには、次のように設定できます。

AuthorizedKeysFile /etc/sshd.keyfiles/%u.key

次の手順は、このフォルダをPuppet / Ansible / etcシステムに追加し、フォルダ内のすべてのファイルの変更を追跡することです。

答え3

"mount --bind"を使ってsshがホームフォルダをなりすますのを防ぐ方法は?テストを実行し、デフォルトフォルダを別のフォルダ以外のハードドライブにマウントしました。 ssh-copy-idコマンドを使用した後、クライアントのキーを/home/.ssh/authorized_keysに正しくインポートし、「sudo chmod 755〜」を使用してホームフォルダのアクセス権を変更した後、魅力のように動作しましたが、もう機能しませんではありません。パスワードを入力する必要があります。

関連情報