Управление LDAP

Важно

LDAP сервер и его пользователи никак не соотносятся с локальными администраторами Ubilling.
В статье никак не описана настройка самого LDAP. Здесь подразумевается: что сервер уже настроен и обладает какой-то структурой групп, заполнеными dc и прочим.
Так же не будет никаких описаний по настройке radius авторизации на самом железе.

Основное описание

Тестовая площадка:

  • ubuntu 16.04
  • slapd с поддержкой MemberOf
  • freeradius

Модуль предназначен для управления пользователями на LDAP сервере.
Текущий функционал:

  1. Создание\удаление пользователей
  2. Смена паролей
  3. Назначение привелегий, через принадлежность к тем или инным группам
  4. Создание и удаление групп влияет только на локальную БД и никак не влияет на наличие групп в самом LDAP.

Установка:

  1. Все нужные файлы лежат в docs/ldapmgr. Файлы с расширением ldif это шаблоны
  2. Распаковать все файлы в одну папку на LDAP сервере. В моем случае это /opt/ldap_scripts
  3. Сделать chmod 777 /opt/ldap_scripts/*
  4. Исправить ldapmgr.ini и scripts.ini под свои реалии
  5. Сделать вызов users.php в crontab. В идеале запускать его раз в минуту
  6. Требует включеного LDAPMGR_ENABLED в alter.ini

Связка с freeradius

Если вы хотите что бы LDAP пользователи могли подключаться к вашему сетевому оборудованию то выбор не велик: radius или tacacs. Для себя я выбрал freeradius потому что больше с ним знаком. Вот пример как можно ограничивать доступ к управлению оборудования в зависимости от принадлежности к группе. Все имена групп лишь пример, вы можете использовать любые удобные вам названия.

  • Пользователь должен принадлежать к группе radius иначе авторизация не пройдет
  • Пользователь должен принадлежать к группе superadm или operators. От этого зависит уровень прав.
/etc/freeradius# cat users

DEFAULT		Ldap-Group != 'radius', Auth-Type := Reject

DEFAULT		Ldap-Group == "superadm"
	 	Cisco-AVPair = "shell:priv-lvl=15",
		dlink-Privelege-Level = 5,
		Huawei-Exec-Privilege = 15,
		User-Service-Type = Shell-User

DEFAULT		Ldap-Group == "operators"
		Cisco-AVPair = "shell:priv-lvl=1",
		dlink-Privelege-Level = 3,
		Huawei-Exec-Privilege = 16,
		User-Service-Type = Shell-User
ldapmgr.txt · Последние изменения: 2018/03/04 18:34 — l1ght
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki