Аппаратные средства и архитектура



Скачать 10.18 Mb.
Pdf просмотр
страница39/68
Дата22.11.2016
Размер10.18 Mb.
Просмотров7297
Скачиваний0
1   ...   35   36   37   38   39   40   41   42   ...   68
Тема
экзамена
LPI 301
Руководство
developerWorks
Краткое описание руководства
Тема 301
Подготовка к экзамену
LPI 301:
понятия, архитектура и модель
Узнайте о понятиях и архитектуре LDAP, о том, как проектировать и внедрять каталог
LDAP, а также о схемах.
Тема 302
Подготовка к экзамену
LPI 301: установка и разработка
Узнайте, как устанавливать, настраивать и использовать программное обеспечение
OpenLDAP.

Тема 303
Подготовка к экзамену
LPI 301: конфигурирование
(Это руководство) Узнайте более подробно о том, как настраивать программное обеспечение OpenLDAP. См. подробные цели
Тема 304
Подготовка к экзамену
LPI 301: использование
Появится в ближайшее время.
Тема 305
Подготовка к экзамену
LPI 301: интеграция и миграция
Появится в ближайшее время.
Тема 306
Подготовка к экзамену
LPI 301: планирование пропускной способности
Появится в ближайшее время.
Для того чтобы сдать экзамен 301 (и получить сертификацию третьего уровня), вы должны:

обладать несколькими годами опыта установки и поддержки Linux на большом числе компьютеров, используемых в различных целях

обладать опытом интеграции с различными технологиями и операционными системами

обладать профессиональным опытом или пройти профессиональную подготовку специалиста Linux корпоративного уровня (включая опыт, полученный при работе в другой роли)

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

уметь использовать инструменты с открытым исходным кодом для проведения измерений, необходимых для планирования пропускной способности и решения проблем с ресурсами

иметь профессиональный опыт применения LDAP для интеграции с сервисами
UNIX® и Microsoft® Windows®, в том числе Samba, Pluggable Authentication Modules
(PAM), электронной почтой и Active Directory

уметь планировать, проектировать, разрабатывать, строить и реализовывать полную среду с использованием Samba и LDAP, а также проводить измерения для планирования производительности и оценки безопасности служб

уметь создавать сценарии на Bash или Perl или знать как минимум один язык системного программирования (например, C)
Институт Linux Professional Institute не дает рекомендаций по каким-либо конкретным материалам и методикам для подготовки к экзаменам, разработанным сторонними лицами.
Об этом руководстве
Добро пожаловать в третье из шести руководств, призванных помочь вам подготовиться к сдаче экзамена LPI 301, - "Конфигурирование". Из этого руководства вы узнаете о конфигурировании сервера LDAP, рассмотрев вопросы управления доступом, обеспечения безопасности, настройки репликации и оптимизации производительности базы данных.
Это руководство организовано в соответствии с целями LPI по этой теме. Условно говоря, чем выше вес цели, тем больше вопросов по этой теме будет на экзамене.

Цели
В таблице 2 подробно перечислены цели этого руководства.
Таблица 2. Конфигурирование: цели экзамена, описанные в этом руководстве
Цель экзамена LPI
Вес
цели
Краткое описание цели
303.2
Списки управления доступом в OpenLDAP
2
Проектирование и внедрение списков управления доступом.
303.3
Репликация LDAP
5
Настройка OpenLDAP для репликации данных между несколькими серверами.
303.4
Обеспечение безопасности каталога
4
Настройка шифрованного доступа к серверу
LDAP и ограничение доступа на уровне брандмауэра.
303.5
Оптимизация производительности сервера
LDAP
2
Оценка текущего уровня производительности вашего сервера LDAP и настройка его на максимальный уровень.
303.6
Конфигурация демона
OpenLDAP
2
Знакомство с основными директивами конфигурационного файла slapd.conf и опциями командной строки демона slapd.
Необходимые условия
Чтобы получить максимум от этого руководства, вы должны обладать глубокими знаниями
Linux и иметь работающую Linux-систему, на которой вы сможете практиковаться в выполнении рассматриваемых задач.
Если ваши базовые знания Linux немного устарели, вы можете сначала познакомиться с руководствами для экзаменов LPIC-1 и LPIC-2
Различные версии программ могут выводить данные в различных форматах, поэтому результаты, полученные вами, могут отличаться от листингов и рисунков, приведенных в этом руководстве.
Требования к системе
Для того чтобы выполнить примеры, приведенные в этом руководстве, вам потребуется рабочая станция под управлением Linux с пакетом OpenLDAP и поддержкой PAM.
Большинство современных дистрибутивов удовлетворяют этим требованиям.
Подготовка к экзамену LPI 301: Тема 303.
Конфигурирование
Профессионал Linux высокого уровня (LPIC-3)
Шон Волберг
, старший сетевой инженер, P.Eng
Описание: В этом руководстве Шон Уолберг поможет вам подготовиться к экзамену института Linux Professional Institute на квалификацию профессионала Linux высокого
уровня (LPIC-3). В этом руководстве, третьем из серии из шести руководств
, Шон расскажет о конфигурировании сервера LDAP (Lightweight Directory Access Protocol), включающем в себя настройку списков контроля доступов, обеспечение безопасности и оптимизацию.
Прочитав это руководство, вы узнаете о конфигурировании сервера LDAP.
Списки управления доступом в LDAP
В этом разделе описывается материал по теме 303.2 экзамена на профессионала Linux высокого уровня (LPIC-3) 301. Эта тема обладает весом 2.
Из этого раздела вы узнаете, как:

Проектировать списки управления доступом LDAP

Узнаете о синтаксисе управления доступом

Предоставлять и отзывать права доступа LDAP
В дереве LDAP могут храниться самые различные данные, такие как телефонные номера, дни рождения или информация о денежных выплатах. Некоторые сведения могут быть публичными, а некоторые могут предназначаться только для определенного круга лиц. Также для различных пользователей могут быть определены различные типы доступов к этой информации. Например, можно указать, что только хозяин записи и администраторы могут изменять телефонный номер, а просматривать его может каждый. Все эти ограничения задаются через списки управления доступом (Access Control Lists, ACLs).
Проектирование списков управления доступом LDAP
Прежде чем приступить к написанию конфигурации, вы должны определить цели, которых вы хотите достичь. Какие разделы дерева каталога будут содержать конфиденциальную информацию? Какие атрибуты необходимо защитить и от кого? Каким образом будет использоваться дерево каталога?
Компоненты ACL
Каждая запись ACL содержит следующую информацию:
1. Какие элементы и атрибуты определены в ACL
2. К кому применяется ACL
3. Какой уровень доступа предоставляется
Регулярные выражения
Регулярные выражения используются для поиска и изменения текста на основе выбранных правил. Вы можете иметь общее представление о том, как может выглядеть текстовый фрагмент, или знать, каким определенным шаблонам он может соответствовать, и на основании этого построить регулярное выражение, которое поможет вам найти необходимый текст. Регулярное выражение, или сокращенно регекс (от англ. regex) состоит из символьных констант и метасимволов, на основе которых строятся различные шаблоны.
Простым регулярным выражением является hello, что соответствует любой строке символов, содержащей шаблон hello.
Вы можете не знать, является ли первая буква строки заглавной, или нет. В этом случае используйте метасимволы
[], соответствующие любому единичному символу из числа заключённых в скобки. Так, регекс
[Hh]ello соответствует как строке hello, так и строке
Hello.
Точка в регулярном выражении соответствует любому единичному символу. Регекс
.ello соответствует строкам
Hello и hello, но также и строкам fellow и cello. Тем не менее,
этот регекс не соответствует строке ello, поскольку точка должна соответствовать какому-либо символу.
Символы
?, * и + соответствуют нулю или одной копии предыдущего символа, нулю или нескольким копиям предыдущего символа, и одной или более копиям предыдущего символа соответственно. Таким образом, регулярное выражение hello+ соответствует строкам hello и helloooooo, но не строке hell.
Регулярные выражения имеют множество различных опций и позволяют вам эффективно находить нужные строки в текстовых файлах. В контексте OpenLDAP регулярные выражения используются для определения общих фрагментов в различающихся именах (Distinguished
Name, DN), таким образом, избавляя от необходимости набирать вручную сотни возможных вариантов.
В условии "what" вы можете указать определенное различающееся имя (DN) объекта, фильтр запроса LDAP, список атрибутов или определенную комбинацию всех вышеперечисленных элементов. Фильтрация по различающимся именам позволит вам выбрать точное значение, такое как ou=People,dc=ertw,dc=com, или значения, соответствующие регулярному выражению (см. раздел "
Регулярные выражения "). С помощью фильтра запроса LDAP можно выбрать определенный класс objectClass или другие атрибуты объекта. Список атрибутов представляет собой список имен атрибутов, разделенных запятыми. Более сложным условием может являться такое условие, как "Все пароли пользователей подразделения ou=People,dc=ertw,dc=com, являющихся администраторами".
При указании учетных записей, к которым применяется запись ACL, вам предоставляется большая гибкость. Обычно для идентификации пользователей используется различающееся имя под названием bindDN, под которым они привязываются к дереву объектов. Каждый элемент LDAP может иметь атрибут userPassword, использующийся для аутентификации определенного пользователя. В некоторых ситуациях вы можете использовать ключевое слово self, соответствующее имени текущего пользователя, выполнившего вход в систему.
Это может оказаться полезным в случаях, когда вы хотите разрешить пользователям редактировать их собственные данные.
Если пользователь не привязан к дереву LDAP, он считается анонимным (anonymous). По умолчанию анонимные пользователи могут просматривать данные каталога, поэтому вы должны решить, стоит ли оставлять им такой доступ. Далее вы можете сгруппировать анонимных пользователей (также как и любых других) по IP-адресам или методу подключения к каталогу LDAP, такому как использование открытых паролей или шифрованное подключение.
После того как вы решили, доступ к каким объектам и кому необходимо предоставить, вы должны определиться с уровнем доступа, который может варьироваться от none (запретить все) до write (разрешить изменения). Также вы можете разрешить пользователю проходить аутентификацию на основе определенной записи, но запретить ее чтение, или, предположим, разрешить выполнять операции чтения (read), поиска (search) и сравнения (compare).
Независимо от настроек ACL любые учетные записи, определенные как rootDN
(пользователи, являющиеся администраторами LDAP), всегда будут иметь полный доступ к соответствующей базе данных. Не существует других способов изменить это поведение, кроме как удалить конфигурацию rootDN из файла slapd.conf.
Синтаксис записей управления доступом
Основная форма записи ACL, представленная в нормальной форме Бэкуса-Наура, имеет следующий вид: access to [ by [ ] [ ] ]+

Нормальная форма Бэкуса-Наура
Нормальная форма Бэкуса-Наура (БНФ) является способом описания синтаксиса языков программирования, данных и протоколов, в том числе синтаксиса ACL. Являясь краткой, и в то же время очень точной, БНФ часто используется при разработке протоколов Интернета.
В нотации БНФ используется конструкция из двух частей, разделенных знаком ::=, который означает, что левая часть может быть заменена элементами, перечисленными в правой части.
Элементы правой части конструкции БНФ, заключенные в угловые скобки (< и >), относятся к элементам левой части, заключенным в такие же скобки.
Элементы, заключенные в квадратные скобки ([ и ]), являются необязательными.
Вертикальная черта (|) означает "одно из нескольких", а символы + и * означают "одно или несколько из предшествующих" и "ничего, одно или несколько из предшествующих" соответственно. Если вы имели дело с регулярными выражениями, вам будут знакомы многие использующиеся здесь обозначения.
контексте описания ACL с помощью БНФ используется следующий синтаксис. Каждая запись ACL состоит из символьной строки "access to", после которой идет условие "what", определенное где-либо в другом месте. Далее идут одна или более строк вида "by
[ ] [ ]", в которых параметры who, access и control определены где-либо в другом месте, причем параметры access и control являются необязательными.
Остальной синтаксис мы рассмотрим в оставшейся части руководства.
Описание условия what
Условие what определяет, какие объекты и атрибуты попадают под действие правила ACL.
Описание синтаксиса этого условия в нотации БНФ представлено в листинге 1.
Листинг 1. Описание синтаксиса условия what в нотации БНФ
::= * |
[dn[.]= | dn.=]
[filter=] [attrs=]
::= regex | exact
::= base | one | subtree | children
::= [val[.]=]
| ,
::= | entry | children
Некоторые из элементов листинга 1, такие как DN и regex, не определены непосредственно в этом фрагменте кода. Формат различающегося имени вам уже знаком, а регулярные выражения лучше всего изучать отдельно от БНФ.
Из листинга 1 видно, что условием what правила ACL может являться либо знак звездочки
(*), который соответствует любому значению, либо комбинация различающегося имени, фильтра поиска LDAP и списка атрибутов. В последнем случае могут использоваться один или несколько из этих трех элементов, поскольку каждый из них заключен в квадратные скобки.
В листинге 2 приведены три условия what, определяющих различающееся имя (DN).
Листинг 2. Три примера условий what
dn.exact="ou=people,dc=ertw,dc=com"
dn.regex="ou=people,dc=ertw,dc=com$"
dn.regex="^cn=Sean.*,dc=com$"
Первому условию удовлетворяет исключительно объект ou=people,dc=ertw,dc=com; эта запись ACL не будет соответствовать ни каким-либо дочерним объектам, таким как cn=Sean Walberg,ou=people,dc=ertw,dc=com, ни родительскому объекту.
Второе условие похоже на первое за исключением того, что в нем используется регулярное выражение и якорь строки – знак доллара ($). Якорь определяет не часть строки, а ее расположение. Знак доллара означает конец строки, и поэтому второму условию удовлетворяет любая строка, оканчивающаяся на ou=people,dc=ertw,dc=com, в том числе строка cn=Sean Walberg,ou=people,dc=ertw,dc=com. Обратите внимание на то, что без использования якоря строка поиска может располагаться в любом месте целевой строки, такой как ou=people,dc=ertw,dc=com,o=MegaCorp.
В последнем примере листинга 2 используется еще один якорь – символ
^, означающий начало строки. Кроме того, в этом примере используется регулярное выражение
.*. Точка означает любой символ, а знак звездочки означает ноль или более предшествующих символов. Таким образом регекс
.* соответствует любой строке, состоящей из нуля или более символов. Объединив все правила, мы увидим, что третьему условию удовлетворяет любая строка, начинающаяся на cn=Sean и оканчивающаяся на dc=com.
Также при определении условия what вы можете использовать фильтры запросов LDAP – наиболее полезное средство для поиска объектов на основе их классов ( objectClass).
Например, условию filter=(objectClass=posixAccount) удовлетворяют все объекты класса posixAccount. Для получения информации об атрибуте objectClass обратитесь к первому руководству этой серии –
Подготовка к экзамену LPI 301: понятия, архитектура и модель
(EN). частью составления условий what является указание атрибутов. Как правило, данный способ используется для указания того, какие конфиденциальные атрибуты, в особенности пароли, могут быть доступны пользователям. Для того чтобы определить правило, относящееся к паролям, укажите атрибут attrs=userPassword.
После того как вы укажете, какие объекты и атрибуты попадают под действие правила ACL, вы должны будете указать пользователей, на которых будет распространяться это правило.
Описание условия who
Доступы предоставляются пользователю на основании различающегося имени DN, которое определяется в момент привязки клиента к каталогу. Обычно поиск различающегося имени производится в дереве каталога, но также этим именем может являться имя rootDN, указанное в файле slapd.conf.
Описание синтаксиса условия who в нотации БНФ представлено в листинге 3.
Листинг 3. Описание синтаксиса условия who в нотации БНФ
::= * | [anonymous | users | self[.]
| dn[.]= | dn.=]
[dnattr=]
[group[/[/][.]]=]
[peername[.
]=
]
[sockname[.

[transport_ssf=]
[tls_ssf=]
[sasl_ssf=]
терминах OpenLDAP называется Security Strength Factor (SSF). Эти опции окажутся более понятными, если вы знакомы с механизмами безопасности, использующимися для подключений к OpenLDAP, такими как защита транспортного уровня (Transport Layer
Security, TLS) и механизм аутентификации Simple Authentication and Security Layer (SASL).
Вы можете использовать различные комбинации всех вышеперечисленных опций. Например, вы можете разрешить изменять пароли только тем пользователям, которые одновременно являются администраторами, подключаются с заданного диапазона IP-адресов и используют определенный уровень шифрования. Вы можете определять и более простые условия; например, вы можете разрешить подключаться к каталогу только существующим в системе пользователям или же предоставлять доступ вне зависимости от результатов проверки подлинности.
Описание параметра access
После того как вы определили, кому и к каким объектам каталога разрешен доступ, вы должны указать уровень предоставляемого доступа. Описание параметра access в нотации
БНФ представлено в листинге 4.
Листинг 4. Описание параметра access в нотации БНФ
::= [[real]self]{|
}
::= none|disclose|auth|compare|search|read|write
::= {=|+|-}{w|r|s|c|x|d|0}+
Когда уровень доступа указывается в формате level, каждый последующий уровень включает в себя все предыдущие уровни. Таким образом, предоставляя разрешение read, вы также предоставляете разрешения search, compare, auth и disclose. Уровни доступа none и discloseзапрещают любой доступ к данным и отличаются лишь тем, что некоторые сообщения об ошибках, которые могут раскрыть информацию о содержимом дерева каталога, не выводятся на уровне доступа none и выводятся на уровне disclose.
Альтернативным способом является указание уровня доступа в терминах разрешенных операций LDAP с использованием формата priv. В этом формате опции перечислены в обратном порядке относительно формата level; опция w означает операцию записи, а опция
0 – полный запрет любых операций. При указании уровня доступа в формате priv не происходит неявного наследования разрешений, как в случае использования формата level; если вы хотите предоставить полный доступ, вы должны сделать это с помощью строки wrscx.
Символы
=/+/- перед буквенными опциями определяют способ совместного использования указанного разрешения и уже действующих разрешений в тех случаях, когда применяются несколько правил. Если перед опцией доступа стоит символ
=, все определенные ранее разрешения игнорируются, и используется указанное разрешение. Если используются символы
+ или -, то указанное разрешение соответственно добавляется или удаляется из действующих разрешений.
Параметр control
По умолчанию применение списков доступа в OpenLDAP происходит по методу первого совпадения. OpenLDAP находит первую запись ACL, удовлетворяющую условию what, и в пределах этой записи ищет первый элемент, удовлетворяющий условию who. Этот метод соответствует ключевому слову stop, указанному после описания уровня доступа. Два других ключевых слова – это continue и break. Если вы используете ключевое слово continue, то в текущей записи ACL производится поиск следующего элемента,
1   ...   35   36   37   38   39   40   41   42   ...   68


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал