LDAP ルートアカウントの使用を禁止する方法

LDAP ルートアカウントの使用を禁止する方法

私は大学でいくつかのサーバーを担当しています。これらのマシンはすべて、集中ユーザー ログインを可能にするために私の部門の LDAP サーバーと通信するように構成されています。この LDAP サーバーには、次のユーザーがいますroot:

# getent passwd | grep root
root:x:0:0:root:/root:/bin/bash
root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false

root最近、私が担当しているサーバーの 1 つでアカウントに関する問題が発生しました。SSH 接続の試行はローカルrootユーザーに対して正常に認証されましたが、ホーム ディレクトリは LDAP から として取得されました/home/root。さらに、LDAP の資格情報を使用してどのサーバーでも root として認証できることが分かりましたroot。つまり、ローカルに対する認証がroot失敗した場合は、LDAProotが試行され、パスワードが正しい場合は、ユーザーはスーパーユーザーとしてログインします。

これはあまり安全ではないので、2 つのアカウントの曖昧さは取り除く必要があると思いますroot。ただし、当社の IT 部門によると、LDAP はroot必要です。

LDAP からアカウントをフィルターして、rootそれによる認証を禁止するにはどうすればよいですか?pam_ldap.soと、いくつかの ldap ディレクティブを使用しています/etc/nsswitch.conf

答え1

方法はいろいろありますが、ここでは簡単な方法をいくつか紹介します。

  • inを no に/etc/ssh/sshd_config変更しますPermitRootLogin(これは通常良い考えであり、管理にはsu/を使用しますsudo)。もちろん、これは SSH にのみ影響します。
  • さまざまな PAM 構成ファイルでpam_listfileモジュールを使用して、特定のアカウントを明示的に許可または拒否します (サービスごとに実行する必要があります)
  • さまざまな PAM 設定ファイルでpam_ldapモジュールをpam_min_uid1 (またはそれ以上) に設定して、root がログインできないようにします (サービスごとに実行する必要があります)
  • PAM LDAP検索フィルタ(pam_filter)を修正して、ユーザーを除外するか(例:pam_filter (uidNumber>=1))、ベース/スコープを修正できる場合があります。

最後の 2 つのうちのいずれかが、あなたに適しているかもしれません。また、ローカル PAM 構成にいくつかの調整を加えて、ローカル ルート アカウントが失敗したpam_unix 場合に成功できるようにする必要がある場合pam_ldapもあります (順序付けや required/requisite/sufficient など)。

関連情報