🗊Использование LDAP в инфраструктуре интернет-компании Сергей Скворцов

Категория: Образование
Нажмите для полного просмотра!
Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №1Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №2Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №3Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №4Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №5Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №6Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №7Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №8Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №9Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №10Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №11Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №12Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №13Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №14Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №15Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №16Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №17Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №18Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №19Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №20Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №21Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №22Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №23Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №24Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №25Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №26Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №27Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №28Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №29Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №30Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №31Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №32Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №33Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №34Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №35Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №36Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №37Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №38Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №39Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №40Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №41Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №42Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №43Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №44Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №45Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №46Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №47Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №48Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №49Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №50Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №51Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №52Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №53Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №54Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №55Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №56Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №57Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №58Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №59Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №60Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №61Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №62Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №63Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №64Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №65Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №66Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №67Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №68Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №69Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №70

Содержание

Вы можете ознакомиться и скачать Использование LDAP в инфраструктуре интернет-компании Сергей Скворцов. Презентация содержит 70 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Использование LDAP в инфраструктуре интернет-компании
Сергей Скворцов
Описание слайда:
Использование LDAP в инфраструктуре интернет-компании Сергей Скворцов

Слайд 2


Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №2
Описание слайда:

Слайд 3





Служба каталогов
Служба каталогов (Directory Service) 
Централизованное (единое) хранилище
Хранит ресурсы – один или более классов, есть набор свойств (атрибутов)
Иерахическое (tree) представление
Описание слайда:
Служба каталогов Служба каталогов (Directory Service) Централизованное (единое) хранилище Хранит ресурсы – один или более классов, есть набор свойств (атрибутов) Иерахическое (tree) представление

Слайд 4





Что такое LDAP?
Lightweight Directory Access Protocol
Облегчённый вариант DAP (входит в X.500)
Кратенько: RFC 4510..4533, плюс ещё ~10..20
Но это не страшно!
Кто читал весь стандарт SQL?
А всё RFC по DNS?
Это бинарный протокол (TCP тоже такой :)
Описание слайда:
Что такое LDAP? Lightweight Directory Access Protocol Облегчённый вариант DAP (входит в X.500) Кратенько: RFC 4510..4533, плюс ещё ~10..20 Но это не страшно! Кто читал весь стандарт SQL? А всё RFC по DNS? Это бинарный протокол (TCP тоже такой :)

Слайд 5





Глобальные сущности
Directory Information Model (DIM)
Набор схем, которые описывают классы и атрибуты
Directory Information Tree (DIT)
Собственно хранилище ресурсов (directory entries) – объектов и aliases (грубо: symlinks)
Описание слайда:
Глобальные сущности Directory Information Model (DIM) Набор схем, которые описывают классы и атрибуты Directory Information Tree (DIT) Собственно хранилище ресурсов (directory entries) – объектов и aliases (грубо: symlinks)

Слайд 6





Концепции: классы
Каждый объект относится как минимум к одному классу. Классы наследуются.
Два вида:
Структурные (structural) 
Вспомогательные (auxiliary)
Содержат обязательные (MUST) и вспомогательные (MAY) атрибуты
Описание слайда:
Концепции: классы Каждый объект относится как минимум к одному классу. Классы наследуются. Два вида: Структурные (structural) Вспомогательные (auxiliary) Содержат обязательные (MUST) и вспомогательные (MAY) атрибуты

Слайд 7





Пример: класс
objectclass (
   0.9.2342.19200300.100.4.5
   NAME 'account'
   SUP top STRUCTURAL
   MUST userid
   MAY ( description $ seeAlso $
         localityName $ organizationName $
         organizationalUnitName $ host
       )     )
Описание слайда:
Пример: класс objectclass ( 0.9.2342.19200300.100.4.5 NAME 'account' SUP top STRUCTURAL MUST userid MAY ( description $ seeAlso $ localityName $ organizationName $ organizationalUnitName $ host ) )

Слайд 8





Концепции: атрибуты
Атрибут определяется через:
Имя и OID-идентификатор
Синтаксис (syntax)
Правила (matching rules)
Сравнения, поиска подстроки
Упорядочивания (сортировки)
Тип значения: множественное или единственное (SINGLE)
Описание слайда:
Концепции: атрибуты Атрибут определяется через: Имя и OID-идентификатор Синтаксис (syntax) Правила (matching rules) Сравнения, поиска подстроки Упорядочивания (сортировки) Тип значения: множественное или единственное (SINGLE)

Слайд 9





Пример: атрибут
attributetype ( 2.5.4.9
  NAME ( 'street' 'streetAddress' )
  DESC 'RFC2256: street address of object'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
)
Описание слайда:
Пример: атрибут attributetype ( 2.5.4.9 NAME ( 'street' 'streetAddress' ) DESC 'RFC2256: street address of object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )

Слайд 10





Схема(-ы)
Схема задаёт набор атрибутов и классов
Набор загружаемых файлов схем образуют схему DIT (или просто DIM).
Схемы есть:
Предопределённые (системные)
Внешние (application)
Ваши собственные
Описание слайда:
Схема(-ы) Схема задаёт набор атрибутов и классов Набор загружаемых файлов схем образуют схему DIT (или просто DIM). Схемы есть: Предопределённые (системные) Внешние (application) Ваши собственные

Слайд 11





И снова про DS
Cтруктурированное, иерархическое хранилище
Оптимизация на массовое чтение,
редкие записи
Это НЕ реляционная модель!
Может быть разбито на поддеревья
Рассчитано на распределённое
использование (referrals)
Описание слайда:
И снова про DS Cтруктурированное, иерархическое хранилище Оптимизация на массовое чтение, редкие записи Это НЕ реляционная модель! Может быть разбито на поддеревья Рассчитано на распределённое использование (referrals)

Слайд 12





DS на пальцах
Аналог – DNS
Но! DNS – это простая lookup служба
Служба каталогов – куда круче!
Некоторая симметрия
Реплики и поддеревья – зоны
DNS записи как объекты
Master и slave сервера
И т.п.
Описание слайда:
DS на пальцах Аналог – DNS Но! DNS – это простая lookup служба Служба каталогов – куда круче! Некоторая симметрия Реплики и поддеревья – зоны DNS записи как объекты Master и slave сервера И т.п.

Слайд 13





Кусочек дерева
o=company
  ou=users
    cn=vpupkin
    ...

DN: cn=vpupkin,ou=users,o=company
Описание слайда:
Кусочек дерева o=company ou=users cn=vpupkin ... DN: cn=vpupkin,ou=users,o=company

Слайд 14





Картинка
Описание слайда:
Картинка

Слайд 15





Кусочек дерева
o=company
  ou=users
    cn=vpupkin
    ...

DN: cn=vpupkin,ou=users,o=company
Описание слайда:
Кусочек дерева o=company ou=users cn=vpupkin ... DN: cn=vpupkin,ou=users,o=company

Слайд 16





LDIF – текстовый формат
dn: uid=vpupkin,ou=users,o=company
objectClass: person
objectClass: inetLocalMainRecipient
cn: Vasily Pupkin
userPassword: {SSHA}XXXXXX
mail: vasya@pupkin.ru
Описание слайда:
LDIF – текстовый формат dn: uid=vpupkin,ou=users,o=company objectClass: person objectClass: inetLocalMainRecipient cn: Vasily Pupkin userPassword: {SSHA}XXXXXX mail: vasya@pupkin.ru

Слайд 17





Схема расширяема
Решить, надо ли вам это
Достаточно:
Прочесть раздел «Extending Schema»
RFC 4512, и немного других :)
Зарегистрировать OID в IANA
Описание слайда:
Схема расширяема Решить, надо ли вам это Достаточно: Прочесть раздел «Extending Schema» RFC 4512, и немного других :) Зарегистрировать OID в IANA

Слайд 18





Стандартные классы
Системные:
organization       organizationalUnit      groupOfUniqueNames 
Пользователи:
account   inetOrgPerson      inetLocalMailRecipient
Сеть:
domain     ipHost     ipNetwork      bootableDevice     ieee802Device 
UNIX-related:
posixAccount     posixGroup     sudoRole    ldapPublicKey
Описание слайда:
Стандартные классы Системные: organization organizationalUnit groupOfUniqueNames Пользователи: account inetOrgPerson inetLocalMailRecipient Сеть: domain ipHost ipNetwork bootableDevice ieee802Device UNIX-related: posixAccount posixGroup sudoRole ldapPublicKey

Слайд 19





Что ещё важного?
Поиск – через т.н. фильтры
Достаточно мощный язык запросов
Расширения протокола через controls
Примеры: Paged Results, Modify Password
Безопасность
TLS, SASL, и т.п.
Описание слайда:
Что ещё важного? Поиск – через т.н. фильтры Достаточно мощный язык запросов Расширения протокола через controls Примеры: Paged Results, Modify Password Безопасность TLS, SASL, и т.п.

Слайд 20


Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №20
Описание слайда:

Слайд 21





Поставленные цели
Единое центральное хранилище
Управление учётными записями сотрудников
Управление почтой (aliases, листы рассылки)
Учёт сетевых ресурсов (сетей, хостов)
Единая, прозрачная аутентификация и авторизация
Конфигурация (в т.ч. ACL) для приложений
Описание слайда:
Поставленные цели Единое центральное хранилище Управление учётными записями сотрудников Управление почтой (aliases, листы рассылки) Учёт сетевых ресурсов (сетей, хостов) Единая, прозрачная аутентификация и авторизация Конфигурация (в т.ч. ACL) для приложений

Слайд 22





Цель: управление доступом
Единая точка управления доступом:
К host’ам по SSH; управление sudoers
К веб-ресурсам: intranet, wiki, bugzilla, otrs, SVN, webdav-folders, внутренние приложения…
К прочим ресурсам: SMTP/IMAP/POP3;
KVM / IPMI, …
К почтовым рассылкам (в т.ч. архивам – через IMAP shared folders)
Описание слайда:
Цель: управление доступом Единая точка управления доступом: К host’ам по SSH; управление sudoers К веб-ресурсам: intranet, wiki, bugzilla, otrs, SVN, webdav-folders, внутренние приложения… К прочим ресурсам: SMTP/IMAP/POP3; KVM / IPMI, … К почтовым рассылкам (в т.ч. архивам – через IMAP shared folders)

Слайд 23





Цель: инвентаризация
Отправная точка для инвентаризации:
Информация о хостах, сетях
Ссылки во внешние системы учёта
Точка синхронизации с DNS:
DNS-зоны доменов генерятся частично из LDAP
Мониторинг:
Начальную информацию берёт из LDAP
(без всяких auto-discovery)
Описание слайда:
Цель: инвентаризация Отправная точка для инвентаризации: Информация о хостах, сетях Ссылки во внешние системы учёта Точка синхронизации с DNS: DNS-зоны доменов генерятся частично из LDAP Мониторинг: Начальную информацию берёт из LDAP (без всяких auto-discovery)

Слайд 24





Выбор software
OpenLDAP
Стабильный, быстрый, функциональный
Opensource
Альтернативы
Novell eDirectory; Microsoft Active Directory
Apache Directory Server; Fedora Directory Server
И ещё чуть меньше десятка
Описание слайда:
Выбор software OpenLDAP Стабильный, быстрый, функциональный Opensource Альтернативы Novell eDirectory; Microsoft Active Directory Apache Directory Server; Fedora Directory Server И ещё чуть меньше десятка

Слайд 25





Реализация: сервера
Master-серверы:
FreeBSD 7.1; OpenLDAP 2.4.16
2 сервера в MirrorMode
CARPed
Consumer-серверы в отдельных ДЦ
чтение локально
записи перенаправляются на masters
Описание слайда:
Реализация: сервера Master-серверы: FreeBSD 7.1; OpenLDAP 2.4.16 2 сервера в MirrorMode CARPed Consumer-серверы в отдельных ДЦ чтение локально записи перенаправляются на masters

Слайд 26





Типичный LDAPified host
OS: *nix (у нас в массе FreeBSD)
pam_ldap – PAM смотрит сначала в LDAP:
nss_ldap – интеграция NSS с LDAP
users, groups, passwd
openssh+LPK – SSH-ключ смотрится в атрибуте sshPublicKey учётной записи пользователя
sudo+ldap – sudoers полностью находится в LDAP; локальный sudoers у нас запрещён
Описание слайда:
Типичный LDAPified host OS: *nix (у нас в массе FreeBSD) pam_ldap – PAM смотрит сначала в LDAP: nss_ldap – интеграция NSS с LDAP users, groups, passwd openssh+LPK – SSH-ключ смотрится в атрибуте sshPublicKey учётной записи пользователя sudo+ldap – sudoers полностью находится в LDAP; локальный sudoers у нас запрещён

Слайд 27





DIT крупным планом
cn=company-log
o=company
  ou=users
  ou=groups
  ou=mail
  ou=networks
  ou=sites
Описание слайда:
DIT крупным планом cn=company-log o=company ou=users ou=groups ou=mail ou=networks ou=sites

Слайд 28





Учётные записи: DIT
o=company
  ou=users
    cn=vpupkin
    ...
    ou=retired
    ou=locked
    ou=system
Описание слайда:
Учётные записи: DIT o=company ou=users cn=vpupkin ... ou=retired ou=locked ou=system

Слайд 29





Учётные записи: типы
ext-user
person, inetOrgPerson, inetLocalMailRecipient, extraPerson
uid, cn, givenName, sn, mail, userPassword, icqNumber, jabber, birthday
plain-user
+ organizationalPerson, intraPerson
title, roomNumber, telephoneNumber, shirtSize
account-user
+ posixAccount, shadowAccount, ldapPublicKey, intraAccount
uidNumber, gidNumber, loginShell, sshPublicKey, loginClass
Описание слайда:
Учётные записи: типы ext-user person, inetOrgPerson, inetLocalMailRecipient, extraPerson uid, cn, givenName, sn, mail, userPassword, icqNumber, jabber, birthday plain-user + organizationalPerson, intraPerson title, roomNumber, telephoneNumber, shirtSize account-user + posixAccount, shadowAccount, ldapPublicKey, intraAccount uidNumber, gidNumber, loginShell, sshPublicKey, loginClass

Слайд 30





Почта: DIT
o=company
  ou=mail
    dc=spylog.ru
      ou=aliases
        cn=mOrketing
      ou=lists
        cn=changes
            cn=read
            cn=write
Описание слайда:
Почта: DIT o=company ou=mail dc=spylog.ru ou=aliases cn=mOrketing ou=lists cn=changes cn=read cn=write

Слайд 31





Почта: пример
dn: cn=changes, ou=lists, dc=spylog.ru,ou=mail,o=company

objectClass: nisMailAlias
rfc822MailMember: vasya@pupkin.ru
owner: uid=vpupkin,ou=users,o=company
Описание слайда:
Почта: пример dn: cn=changes, ou=lists, dc=spylog.ru,ou=mail,o=company objectClass: nisMailAlias rfc822MailMember: vasya@pupkin.ru owner: uid=vpupkin,ou=users,o=company

Слайд 32





LDAP + SMTP
SMTP-auth пользователей – через LDAP
Exim, при получении письма для домена dc=XXX,ou=mail,обрабатывает целевой адрес:
В ou=lists (атрибут rfc822MailMember): обрабатывает как рассылку – в т.ч. передаётся в Cyrus в shared folder
В ou=aliases (атрибут rfc822MailMember): раскрывает как почтовый алиас
В ou=users (атрибут mailLocalAddress): передаёт в Cyrus в соотв. папку
Описание слайда:
LDAP + SMTP SMTP-auth пользователей – через LDAP Exim, при получении письма для домена dc=XXX,ou=mail,обрабатывает целевой адрес: В ou=lists (атрибут rfc822MailMember): обрабатывает как рассылку – в т.ч. передаётся в Cyrus в shared folder В ou=aliases (атрибут rfc822MailMember): раскрывает как почтовый алиас В ou=users (атрибут mailLocalAddress): передаёт в Cyrus в соотв. папку

Слайд 33





LDAP + IMAP
Аутентификация пользователей – через LDAP
Специальный Perl-backend (в отдельном consumer-сервере) ловит всё изменения в дереве и отражает их в Cyrus
slapd-perl(5)
Cyrus::IMAP::Admin
При добавлении пользователя или при  добавлении атрибута mail, содержащего домен, который находится в dc=XXX,ou=mail – в Cyrus создаётся соответствующий почтовый ящик.
Описание слайда:
LDAP + IMAP Аутентификация пользователей – через LDAP Специальный Perl-backend (в отдельном consumer-сервере) ловит всё изменения в дереве и отражает их в Cyrus slapd-perl(5) Cyrus::IMAP::Admin При добавлении пользователя или при добавлении атрибута mail, содержащего домен, который находится в dc=XXX,ou=mail – в Cyrus создаётся соответствующий почтовый ящик.

Слайд 34





LDAP + IMAP: рассылки
При добавлении рассылки в ou=lists,dc=XXX,ou=mail создаётся соотв. shared folder в Cyrus
При изменении прав на рассылку (добавление/удаление пользователей из дочерних объектов cn=read, cn=write) – соответственно обновляются ACL на shared folder’е
Описание слайда:
LDAP + IMAP: рассылки При добавлении рассылки в ou=lists,dc=XXX,ou=mail создаётся соотв. shared folder в Cyrus При изменении прав на рассылку (добавление/удаление пользователей из дочерних объектов cn=read, cn=write) – соответственно обновляются ACL на shared folder’е

Слайд 35





Учёт сетей
Сети – их много!
Много внутренних (10.0.0.0/8)
Немало внешних (выделенных в RIPE)
Их надо учитывать, хранить в едином месте:
Основные параметры (адрес и маску)
RIPE-данные
VLAN, routing, etc.
Описание слайда:
Учёт сетей Сети – их много! Много внутренних (10.0.0.0/8) Немало внешних (выделенных в RIPE) Их надо учитывать, хранить в едином месте: Основные параметры (адрес и маску) RIPE-данные VLAN, routing, etc.

Слайд 36





Сети: DIT
o=company
  ou=networks
    cn=10.0.0.0/8
      cn=10.99.0.0/16
    cn=88.55.66.0-88.55.66.255
    ...
Описание слайда:
Сети: DIT o=company ou=networks cn=10.0.0.0/8 cn=10.99.0.0/16 cn=88.55.66.0-88.55.66.255 ...

Слайд 37





Сети: пример
dn: cn=10.99.0.0/16,…,ou=networks,o=company

objectClass: ipNetwork, intraNetConfig
ipNetworkNumber: 10.99.0.0
ipNetmaskNumber: 255.255.0.0
vlanNumber: 555
defaultRoute: 10.99.0.1
owner: uid=vpupkin,ou=users,o=company
Описание слайда:
Сети: пример dn: cn=10.99.0.0/16,…,ou=networks,o=company objectClass: ipNetwork, intraNetConfig ipNetworkNumber: 10.99.0.0 ipNetmaskNumber: 255.255.0.0 vlanNumber: 555 defaultRoute: 10.99.0.1 owner: uid=vpupkin,ou=users,o=company

Слайд 38





Сайты (sites)
Сайт – это scope of administration
Содержит ресурсы, объединённые по логическому (corp, devel, infra) или проектному (hosting, spylog) принципу
Ресурсы:
хосты, группы доступа,
настройки для приложений
Описание слайда:
Сайты (sites) Сайт – это scope of administration Содержит ресурсы, объединённые по логическому (corp, devel, infra) или проектному (hosting, spylog) принципу Ресурсы: хосты, группы доступа, настройки для приложений

Слайд 39





Сайты: DIT
o=company
  ou=sites
    ou=foobar
    ou=hosting
    ou=infra
    ou=spylog
    ...
Описание слайда:
Сайты: DIT o=company ou=sites ou=foobar ou=hosting ou=infra ou=spylog ...

Слайд 40





Типичный сайт: DIT
o=company,ou=sites,ou=foobar
   ou=hosts
   ou=groups
		  ou=shellusers
		  ou=web
   ou=virtual
   ou=sudoers
Описание слайда:
Типичный сайт: DIT o=company,ou=sites,ou=foobar ou=hosts ou=groups ou=shellusers ou=web ou=virtual ou=sudoers

Слайд 41





Хосты
Хостов ещё больше чем сетей
Их часто просто теряют
Выделяют повторно одни и те же ip-адреса
Не всегда ясна связь с реальным железом, со складским учётом и бухгалтерией
Инвентаризация – нужна!
Хочется хранить доп. параметры (carp vhid)
Описание слайда:
Хосты Хостов ещё больше чем сетей Их часто просто теряют Выделяют повторно одни и те же ip-адреса Не всегда ясна связь с реальным железом, со складским учётом и бухгалтерией Инвентаризация – нужна! Хочется хранить доп. параметры (carp vhid)

Слайд 42





Сайты: хосты
o=company,ou=sites,ou=foobar
   ou=hosts
		  ou=jails
        cn=www01.int.foobar.ru
		  ou=mgmt
        cn=x0666.mgmt
		  ou=carp
Описание слайда:
Сайты: хосты o=company,ou=sites,ou=foobar ou=hosts ou=jails cn=www01.int.foobar.ru ou=mgmt cn=x0666.mgmt ou=carp

Слайд 43





Хост: mainhost
dn: cn=x0666,ou=mgmt,ou=hosts, ou=foobar,ou=sites,o=company

objectClass: device,ieee802Device,ipHost,intraHost
cn: x0666.mgmt
ipHostNumber: 10.99.10.4
macAddress: 00:35:1A:15:17:42
hostType: main
datacenterServerID: srv_01018
l: ДЦ Алтуфьево
Описание слайда:
Хост: mainhost dn: cn=x0666,ou=mgmt,ou=hosts, ou=foobar,ou=sites,o=company objectClass: device,ieee802Device,ipHost,intraHost cn: x0666.mgmt ipHostNumber: 10.99.10.4 macAddress: 00:35:1A:15:17:42 hostType: main datacenterServerID: srv_01018 l: ДЦ Алтуфьево

Слайд 44





Хост: jailhost
dn: cn=www01.int.foobar.ru,ou=jails,ou=hosts, ou=foobar,ou=sites,o=company

objectClass: ipHost, intraHost
cn: www01.int.foobar.ru
ipHostNumber: 10.99.20.2
hostType: jail
owner: cn=x0666,ou=mgmt,ou=hosts,ou=foobar,ou=sites,o=company
manager: uid=vpupkin,ou=users,o=company
Описание слайда:
Хост: jailhost dn: cn=www01.int.foobar.ru,ou=jails,ou=hosts, ou=foobar,ou=sites,o=company objectClass: ipHost, intraHost cn: www01.int.foobar.ru ipHostNumber: 10.99.20.2 hostType: jail owner: cn=x0666,ou=mgmt,ou=hosts,ou=foobar,ou=sites,o=company manager: uid=vpupkin,ou=users,o=company

Слайд 45





Хосты и DNS
Хосты заводятся в LDAP одной командой
# ldap_ctl --create --host XXX …
Далее – перегенерятся зоны:
# dns_ctl
--process foobar.zone
--process 10.99.10.0-24
Думаем (!), коммитим в SVN, выкатываем обновления на authorative NS servers
Описание слайда:
Хосты и DNS Хосты заводятся в LDAP одной командой # ldap_ctl --create --host XXX … Далее – перегенерятся зоны: # dns_ctl --process foobar.zone --process 10.99.10.0-24 Думаем (!), коммитим в SVN, выкатываем обновления на authorative NS servers

Слайд 46





Хосты и DNS
Если откуда-то надо срочно понять что это за хост:
# host –t TXT www01.int.foobar.ru
www01.int.foobar.ru descriptive text
"manager: uid=vpupkin,ou=users,o=company“
www01.int.foobar.ru descriptive text
"mainhost: cn=x0666,ou=mgmt,ou=hosts,
ou=foobar,ou=sites,o=company"
Описание слайда:
Хосты и DNS Если откуда-то надо срочно понять что это за хост: # host –t TXT www01.int.foobar.ru www01.int.foobar.ru descriptive text "manager: uid=vpupkin,ou=users,o=company“ www01.int.foobar.ru descriptive text "mainhost: cn=x0666,ou=mgmt,ou=hosts, ou=foobar,ou=sites,o=company"

Слайд 47





Группы доступа
Группы доступа - самый популярных способ в реализации авторизации
Контроль доступа к:
Хостам (по SSH)
Веб-приложениям (например, всё Apache-based)
Используем класс groupOfUniqueNames
Описание слайда:
Группы доступа Группы доступа - самый популярных способ в реализации авторизации Контроль доступа к: Хостам (по SSH) Веб-приложениям (например, всё Apache-based) Используем класс groupOfUniqueNames

Слайд 48





Сайты: хосты
o=company,ou=sites,ou=foobar
   ou=groups
		  ou=shellusers
         cn=mgmt-dev
		  ou=web
         cn=bugzilla
Описание слайда:
Сайты: хосты o=company,ou=sites,ou=foobar ou=groups ou=shellusers cn=mgmt-dev ou=web cn=bugzilla

Слайд 49





Группа: пример
dn: cn=mgmt-dev,ou=shellusers,ou=groups, ou=foobar,ou=sites,o=company

objectClass: groupOfUniqueNames
cn: mgmt-dev
uniqueMember: uid=vpupkin,ou=users,o=company
description: Доступ на dev mainhosts
Описание слайда:
Группа: пример dn: cn=mgmt-dev,ou=shellusers,ou=groups, ou=foobar,ou=sites,o=company objectClass: groupOfUniqueNames cn: mgmt-dev uniqueMember: uid=vpupkin,ou=users,o=company description: Доступ на dev mainhosts

Слайд 50





PAM
/etc/pam.d/sshd , /etc/pam.d/system
# auth
auth    sufficient	/usr/local/lib/pam_ldap.so	
				no_warn try_first_pass
auth    required	pam_unix.so
				no_warn try_first_pass
# account
account required	/usr/local/lib/pam_ldap.so
		ignore_authinfo_unavail ignore_unknown_user
account required	pam_unix.so

/etc/nsswitch.conf
passwd: cache files ldap
Описание слайда:
PAM /etc/pam.d/sshd , /etc/pam.d/system # auth auth sufficient /usr/local/lib/pam_ldap.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account account required /usr/local/lib/pam_ldap.so ignore_authinfo_unavail ignore_unknown_user account required pam_unix.so /etc/nsswitch.conf passwd: cache files ldap

Слайд 51





nss_ldap
/usr/local/etc/nss_ldap.conf
base	ou=users,o=company
uri	ldap://ldap.company.ru 
binddn	uid=pam,ou=virtual,ou=foobar,ou=sites,o=company
bindpw	26a9e1b8df74606eaafa2dde8f8964c1

pam_login_attribute	uid
pam_member_attribute uniqueMember

pam_groupdn	cn=mgmt-dev,ou=shellusers,ou=groups,
ou=foobar,ou=sites,o=company

sudoers_base ou=sudoers,ou=foobar,ou=sites,o=company
Описание слайда:
nss_ldap /usr/local/etc/nss_ldap.conf base ou=users,o=company uri ldap://ldap.company.ru binddn uid=pam,ou=virtual,ou=foobar,ou=sites,o=company bindpw 26a9e1b8df74606eaafa2dde8f8964c1 pam_login_attribute uid pam_member_attribute uniqueMember pam_groupdn cn=mgmt-dev,ou=shellusers,ou=groups, ou=foobar,ou=sites,o=company sudoers_base ou=sudoers,ou=foobar,ou=sites,o=company

Слайд 52





OpenSSH
/usr/local/etc/ssh/sshd_config
UseLPK		yes
LpkLdapConf	/usr/local/etc/nss_ldap.conf
LpkServers 	ldap://ldap.company.ru
LpkForceTLS	yes
LpkUserDN		ou=users,o=company

LpkBindDN		uid=pam,ou=virtual,ou=foobar,ou=sites,o=company
LpkBindPw		26a9e1b8df74606eaafa2dde8f8964c1
Описание слайда:
OpenSSH /usr/local/etc/ssh/sshd_config UseLPK yes LpkLdapConf /usr/local/etc/nss_ldap.conf LpkServers ldap://ldap.company.ru LpkForceTLS yes LpkUserDN ou=users,o=company LpkBindDN uid=pam,ou=virtual,ou=foobar,ou=sites,o=company LpkBindPw 26a9e1b8df74606eaafa2dde8f8964c1

Слайд 53





Sudo + LDAP
Sudo – стандарт де-факто для контроля выдачи привилегий (в т.ч. под root’ом)
Настройки файла sudoers можно хранить в LDAP
Почти без потери функциональности
При этом для надёжности локальный файл sudoers можно просто запретить читать
Описание слайда:
Sudo + LDAP Sudo – стандарт де-факто для контроля выдачи привилегий (в т.ч. под root’ом) Настройки файла sudoers можно хранить в LDAP Почти без потери функциональности При этом для надёжности локальный файл sudoers можно просто запретить читать

Слайд 54





Сайты: sudoers
o=company,ou=sites,ou=foobar
   ou=sudoers
		  cn=defaults
		  cn=root@mgmt-dev
		  cn=%www@dev-web
Описание слайда:
Сайты: sudoers o=company,ou=sites,ou=foobar ou=sudoers cn=defaults cn=root@mgmt-dev cn=%www@dev-web

Слайд 55





Sudo: defaults
dn: cn=defaults,ou=sudoers, ou=foobar,ou=sites,o=company

objectClass: sudoRole
cn: defaults
sudoOption: !env_reset
sudoOption: ignore_local_sudoers
Описание слайда:
Sudo: defaults dn: cn=defaults,ou=sudoers, ou=foobar,ou=sites,o=company objectClass: sudoRole cn: defaults sudoOption: !env_reset sudoOption: ignore_local_sudoers

Слайд 56





Sudo: пример
dn: cn=root@mgmt-dev,ou=sudoers, ou=foobar,ou=sites,o=company

objectClass: sudoRole
cn: root@mgmt-dev
sudoCommand: ALL
sudoHost: x0666.mgmt
sudoOption: !authenticate
sudoRunAs: root
sudoUser: vpupkin
Описание слайда:
Sudo: пример dn: cn=root@mgmt-dev,ou=sudoers, ou=foobar,ou=sites,o=company objectClass: sudoRole cn: root@mgmt-dev sudoCommand: ALL sudoHost: x0666.mgmt sudoOption: !authenticate sudoRunAs: root sudoUser: vpupkin

Слайд 57





Виртуальные пользователи
В LDAP пользователь – это тот, кто:
Есть как объект в DIT
Имеет пароль в атрибуте userPassword
Как следствие он:
Может делать bind к DIT
Т.е. получает доступ к дереву с некими правами
Описание слайда:
Виртуальные пользователи В LDAP пользователь – это тот, кто: Есть как объект в DIT Имеет пароль в атрибуте userPassword Как следствие он: Может делать bind к DIT Т.е. получает доступ к дереву с некими правами

Слайд 58





Сайты: вирт. users
o=company,ou=sites,ou=foobar
   ou=virtual
		  uid=inventory-bot
		  uid=pam
		  uid=wiki-bind
		  uid=jabber-notifier
Описание слайда:
Сайты: вирт. users o=company,ou=sites,ou=foobar ou=virtual uid=inventory-bot uid=pam uid=wiki-bind uid=jabber-notifier

Слайд 59





Вирт. user: пример
dn: uid=pam,ou=virtual, ou=foobar,ou=sites,o=company

objectClass: account, simpleSecurityObject
uid: pam
userPassword: {SSHA}TgTWBI+nMOOYC8OMLIZaHufQjFDsS2UHzbx12Q==
description: PAM binding
Описание слайда:
Вирт. user: пример dn: uid=pam,ou=virtual, ou=foobar,ou=sites,o=company objectClass: account, simpleSecurityObject uid: pam userPassword: {SSHA}TgTWBI+nMOOYC8OMLIZaHufQjFDsS2UHzbx12Q== description: PAM binding

Слайд 60





Apache + LDAP: Subversion
AuthBasicProvider ldap
AuthType          Basic
AuthName          "Subversion"
AuthLDAPBindDN	uid=apache-svn,ou=virtual,ou=devel,ou=sites,o=company
AuthLDAPBindPassword    09a5f58cdd4fbd038d86703d0984d604
AuthLDAPURL	ldaps://ldap.company.ru/ou=users,o=company?uid?sub

AuthLDAPGroupAttribute	uniqueMember
AuthLDAPGroupAttributeIsDN	on
Require ldap-group
		cn=subversion,ou=groups,ou=devel,ou=sites,o=company
AuthLDAPRemoteUserAttribute	uid
AuthzLDAPAuthoritative	on

AuthzSVNAccessFile	/usr/local/etc/subversion/access.conf
Описание слайда:
Apache + LDAP: Subversion AuthBasicProvider ldap AuthType Basic AuthName "Subversion" AuthLDAPBindDN uid=apache-svn,ou=virtual,ou=devel,ou=sites,o=company AuthLDAPBindPassword 09a5f58cdd4fbd038d86703d0984d604 AuthLDAPURL ldaps://ldap.company.ru/ou=users,o=company?uid?sub AuthLDAPGroupAttribute uniqueMember AuthLDAPGroupAttributeIsDN on Require ldap-group cn=subversion,ou=groups,ou=devel,ou=sites,o=company AuthLDAPRemoteUserAttribute uid AuthzLDAPAuthoritative on AuthzSVNAccessFile /usr/local/etc/subversion/access.conf

Слайд 61





OpenLDAP: подсистемы
OpenLDAP Software 2.4 Administrator's Guide
Backend - hdb
Overlays:
accesslog – протоколирование изменений (в отдельное поддерево)
unique – гарантия уникальности объекта:
uid, uidNumber, mail, mailLocalAddress,
ipHostNumber
memberof – автоматические backlink ссылки
Описание слайда:
OpenLDAP: подсистемы OpenLDAP Software 2.4 Administrator's Guide Backend - hdb Overlays: accesslog – протоколирование изменений (в отдельное поддерево) unique – гарантия уникальности объекта: uid, uidNumber, mail, mailLocalAddress, ipHostNumber memberof – автоматические backlink ссылки

Слайд 62





OpenLDAP: ACL
Rule-based Access Control Lists - очень мощный синтаксис
«Access Control», slapd.access(5)
Можно делать тесты
slapacl(8)
Есть экспериментальные ACI - контроль доступа на уровне объекта(ов), когда ACL хранятся прямо в дереве. Не рекомендую.
Описание слайда:
OpenLDAP: ACL Rule-based Access Control Lists - очень мощный синтаксис «Access Control», slapd.access(5) Можно делать тесты slapacl(8) Есть экспериментальные ACI - контроль доступа на уровне объекта(ов), когда ACL хранятся прямо в дереве. Не рекомендую.

Слайд 63





OpenLDAP: репликация
Replication:
LDAP Sync Replication
Delta-syncrepl replication
N-Way Multi-Master replication
MirrorMode replication
Syncrepl Proxy
Мы используем MirrorMode
Есть куда расти
Описание слайда:
OpenLDAP: репликация Replication: LDAP Sync Replication Delta-syncrepl replication N-Way Multi-Master replication MirrorMode replication Syncrepl Proxy Мы используем MirrorMode Есть куда расти

Слайд 64





Инструментарий
Command line forever!
ldapsearch, ldapadd, ldapmodify, ldapdelete, …
ldapvi – вся мощь Vim для LDAP!
Apache Directory Studio – Java GUI
Внутренние разработки:
ldap_ctl, perl backends, …
Описание слайда:
Инструментарий Command line forever! ldapsearch, ldapadd, ldapmodify, ldapdelete, … ldapvi – вся мощь Vim для LDAP! Apache Directory Studio – Java GUI Внутренние разработки: ldap_ctl, perl backends, …

Слайд 65


Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №65
Описание слайда:

Слайд 66





Где использовать LDAP ?
Все реализации LDAP оптимизированы на массовые чтения (в отличии от SQL)
Dynamic Directory Services – это извращение
Хорошая репликация
Время «запрос-ответ» можно уменьшать
Это служба каталогов, а не lookup сервис (в отличии от DNS)
Т.е. удобство схем, мощный поиск
Описание слайда:
Где использовать LDAP ? Все реализации LDAP оптимизированы на массовые чтения (в отличии от SQL) Dynamic Directory Services – это извращение Хорошая репликация Время «запрос-ответ» можно уменьшать Это служба каталогов, а не lookup сервис (в отличии от DNS) Т.е. удобство схем, мощный поиск

Слайд 67





Почему не SQL ?
SQL – это реляционная модель
out-of-box:
Много полезных и de-facto стандартных схем
Аудит, репликация
Стандартный протокол – много software и hardware его умеют
Это служба каталогов, а не lookup сервис (в отличии от DNS)
Т.е. удобство схем, мощный поиск
Описание слайда:
Почему не SQL ? SQL – это реляционная модель out-of-box: Много полезных и de-facto стандартных схем Аудит, репликация Стандартный протокол – много software и hardware его умеют Это служба каталогов, а не lookup сервис (в отличии от DNS) Т.е. удобство схем, мощный поиск

Слайд 68





Где мы не используем LDAP
Хранение в LDAP полностью зон DNS
Есть схемы: DNSZone, DNSDomain2
Поддерживается в BIND, PowerDNS
Очень неудобно править *YMMV
Интеграция с DHCP
Пока не было нужно, возможно будет для PXE
Описание слайда:
Где мы не используем LDAP Хранение в LDAP полностью зон DNS Есть схемы: DNSZone, DNSDomain2 Поддерживается в BIND, PowerDNS Очень неудобно править *YMMV Интеграция с DHCP Пока не было нужно, возможно будет для PXE

Слайд 69





Что в планах
Хранение в LDAP корпоративных PGP Keys
gnupg 2.x так умеет
Реализация шаблонов (templates) для заведения учётной записи / её upgrad’а
PKI – хранить внутренние SSL-сертификаты
Описание слайда:
Что в планах Хранение в LDAP корпоративных PGP Keys gnupg 2.x так умеет Реализация шаблонов (templates) для заведения учётной записи / её upgrad’а PKI – хранить внутренние SSL-сертификаты

Слайд 70


Использование LDAP в инфраструктуре интернет-компании  Сергей Скворцов, слайд №70
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию