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失敗した場合はLDAPが試行され、rootパスワードが正しい場合はユーザーはスーパーユーザーとしてログインします。

私はこれが非常に安全ではなく、両方のrootアカウントを明確に区別する必要があると思います。しかし、私たちのIT部門によると、LDAPがroot必要だという。

root認証の使用を無効にするためにLDAPでアカウントをフィルタリングするにはどうすればよいですか?pam_ldap.so一部のLDAPディレクティブを使用しています/etc/nsswitch.conf

答え1

いくつかの方法があります。以下はいくつかの簡単な方法です。

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

最後の2つのうちの1つが最適です。ローカルルートアカウントがpam_unix 失敗した場合pam_ldap(たとえば、注文と必須/必須/十分)、成功するようにローカルPAM設定を調整する必要があるかもしれません。

関連情報