Назад | Перейти на главную страницу

Как разрешить пользователям и / или группам доступ только к определенным клиентским машинам, подключенным к серверу openldap?

Я действительно хотел бы выяснить, как я могу разрешить пользователям и / или группам доступ к определенным клиентским машинам, которые все подключены к серверу OpenLDAP. Я хотел бы сделать это независимо от того, сидит ли пользователь прямо перед самой клиентской машиной или он / она использует SSH. И последнее, что я хотел бы иметь возможность управлять всем этим с сервера OpenLDAP, а не с клиента, если это возможно.

Спасибо алекс

Не думаю, что у вас получится сделать это без изменения клиентских конфигураций. Однако после того, как все клиентские компьютеры будут настроены, вы сможете управлять этим с сервера LDAP.

Один из способов добиться этого:

  1. Напишите access_ldap.conf файл, который содержит это, и поместите его /etc/security:

    +:root:ALL
    -:ALL EXCEPT (the_group_that_has_access):ALL
    

    Есть access.conf файл в /etc/security/ но это обычно включается в некоторые системные правила в /etc/pam.d, поэтому его труднее редактировать, поскольку вы должны гарантировать, что системные демоны могут «входить в систему», поэтому вы не можете заблокировать всех, кроме одной группы, без написания правил для системных пользователей. С отдельным файлом проще.

    Обратите внимание, что круглые скобки вокруг имени группы указывают на то, что имя на самом деле является именем группы (pam_access.so ищет группу, если не может найти пользователя, и по этой причине круглые скобки могут быть названы излишними, но это «правильный» способ обозначения групп).

    Кроме того, первая строка в любом случае предоставляет доступ к root. Вы можете захотеть добавить и других пользователей / группы, так как любой, кто не указан в этом файле, будет заблокирован второй строкой.

  2. Вы хотите login и ssh в пользу этой новой конфигурации, но другие службы должны работать как раньше. Для этого отредактируйте login и sshd файлы в /etc/pam.d чтобы содержать эту строку:

    account  required     pam_access.so accessfile=/etc/security/access_ldap.conf
    

Таким образом, только члены данной группы смогут получить доступ к компьютеру через ssh или логин. Членством в группах и, следовательно, доступом к компьютерам можно управлять в LDAP.

Æ-DIR

Это практически тот вариант использования, для которого было разработано мое собственное решение, полностью основанное на бесплатном программном обеспечении:

Æ-DIR - Каталог авторизованных лиц

В основном системы / службы являются членами групп обслуживания, и вы определяете, какие группы пользователей имеют право входа в группу обслуживания.

Это немного косвенное обращение, реализованное с помощью списков ACL OpenLDAP, предоставляющих доступ для чтения пользователям и группам, и особенно атрибуты пользователей, необходимые для входа в систему. Чтобы избежать распространенного недоразумения: вы просто будете поддерживать записи LDAP для изменения прав доступа; ACL OpenLDAP статичны.

Честно говоря, вам нужно настроить в клиенте LDAP одну вещь: учетные данные системы, либо bind-DN ​​и пароль, либо сертификат клиента TLS.

Потребуется время, чтобы понять концепции и смоделировать данные в соответствии с вашими требованиями к управлению доступом. И совершенно уверен, что он не выполнит все ваши пожелания относительно контроля доступа.

P.S .: Я хотел бы услышать о людях, имеющих большие установки с контролем доступа к хосту на основе сетевые группы потому что я хотел бы узнать, можно ли написать инструмент автоматической миграции для преобразования сетевая группа отображается в Æ-DIR aeSrvGroup.

FreeIPA

FreeIPA имеет аналогичные цели, и они реализуют так называемую политику HBAC и некоторые другие для достижения этой цели. Насколько я понимаю, вам придется использовать sssd с бэкэндом IPA, чтобы использовать весь набор функций. sssd это точка применения политики.

Извините, я недостаточно знаком с их онлайн-документами, и поэтому у меня нет хороших ссылок на документацию, кроме Обзор документации FreeIPA.