Я отвечаю за несколько серверов в моем университете. Все эти машины настроены на взаимодействие с сервером 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
учетной записью на одном из серверов, за которые я отвечаю: моя попытка подключения по SSH была успешно аутентифицирована для локального root
пользователя, но домашний каталог был взят из LDAP как /home/root
. Кроме того, я обнаружил, что можно аутентифицироваться как root с учетными данными LDAP root
на любом сервере, т. е. если аутентификация для локального пользователя root
не удалась, пробуется LDAP root
, и, если пароль правильный, пользователь входит в систему как суперпользователь.
Я считаю, что это не очень безопасно, и неоднозначность двух root
учетных записей должна быть устранена. Однако, по мнению нашего ИТ-отдела, 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
модульpam_min_uid
на 1 (или выше), чтобы root не мог войти в систему (необходимо сделать для каждой службы) - измените фильтр поиска PAM LDAP (
pam_filter
), чтобы исключить пользователей (напримерpam_filter (uidNumber>=1)
, , или вы можете изменить базу/область действия
Любой из последних двух вариантов может подойти вам лучше всего. Вам также может потребоваться внести некоторые изменения в локальную конфигурацию PAM, чтобы локальная учетная запись root pam_unix
могла успешно пройти, если pam_ldap
она не сработает (например, ordering и required/required/sufficient).