SSH アクセスは許可しますが、特定の IP セットへのルートアクセスを制限します。

SSH アクセスは許可しますが、特定の IP セットへのルートアクセスを制限します。

すべてのユーザーがSSHを正常に使用できるようにしたいと思います。とは別にIPアドレスセットに基づいてルートアクセスを制限したいと思います。したがって、ユーザーはどこからでもログインできますが、peterホストとのみログインできます。paullaryroota.b.c.dq.r.s.t

  • sshd_configAllowUsersこの操作には機能しません。何でも指定するには、すべてのユーザーを指定する必要があります。
  • マニュアルページで提案する方法とは異なり、AllowGroupsユーザーがホワイトリストに登録されていても無条件に確認されますAllowUsers。したがって、root以外のユーザーをグループに追加し、そのグループをホワイトリストに追加しようとすると、AllowGroups認証はまだ失敗します。これは、ルートが有効な許可グループに属していないためです。
  • sshd_configDenyUsers拒否されるルートIPアドレスのセットをホワイトリストに追加できる場合は、この方法が有効になる可能性があります。 IPが1つしかない場合は、おそらく!通信会社と連携します。
  • optionsauthenticated_keysファイルのキーセクションを使用してこれを実行できます。そしてルートパスワードを完全に無効にします。問題は、ファイルがシステムポリシーではなく、他の(rootアクセス)ユーザーが上書きできることです。現在、これは私が持っている最良の選択ですが、気に入らない。さらに、私がルートパスワードを破ると、私のグループの誰かが私に本当に怒っています。 (私がルートパスワードを変更しないと、他の人は任意のIPパスワードを使用してルート経由でログインできます。)
  • 私はPAMを使って、特にを通じてこれを試しましたが、pam_listfile私のアプローチはまったく機能しないようです。

    auth       required     pam_sepermit.so
    auth       required     pam_listfile.so file=/etc/root-whitelist.txt sense=allow item=rhost apply=root
    auth       include      password-auth
    

    許可されたIPアドレスはファイル内にroot-whitelist.txt1行ずつ表示されます。ルールがわからない否定的なリストにないIPアクセス。

このpam_listfile方法を使用できますか?私が間違っているのですか?もっと良い方法がありますか?

ベストアンサー1

私の同僚は私に/u/meuhと同じ方向を指示しましたが、少し異なる方法で指示しました。

Match Address "172.24.*.33"
  PermitRootLogin yes
Match Address "192.168.1.18,192.168.1.20"
  PermitRootLogin yes

おすすめ記事