настройка_атрибутов_на_основе_ldap_ad_групп

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
настройка_атрибутов_на_основе_ldap_ad_групп [2022/11/08 14:57] jpнастройка_атрибутов_на_основе_ldap_ad_групп [2024/11/01 10:29] (current) jp
Line 1: Line 1:
 ===== Настройка атрибутов на основе LDAP (Active Directory) групп ===== ===== Настройка атрибутов на основе LDAP (Active Directory) групп =====
  
-На основе принадлежности пользователей к определенным группам AD - удобно раздавать сетевые правила доступа. При этом, в роли NPS Windows Server - решить данную задачу гибко не получится. Политики NPS работают по принципу //"first match"//, т.е. мы не сможем суммировать правила для пользователя, состоящего в нескольких разных группах одновременно, ведь сработает только первое совпадение по группам. +На основе принадлежности пользователей к определенным группам AD - удобно раздавать сетевые рулсеты. При этом, в роли NPS Windows Server - решить данную задачу гибко не получится. Дело в том, что политики NPS работают по принципу //"first match"//, т.е. мы не сможем суммировать правила для пользователя, состоящего в нескольких разных группах одновременно, ведь сработает только первое совпадение по группам с первым списком доступа в соответствующей политике
  
-Настройка LDAP во freeradius позволяет решить эту проблему достаточно гибко и безопасно. Для этого в данном примере мы будем использовать LDAPS и учётную запись с ограниченными правами в домене AD. +Настройка LDAP во **freeradius** позволяет решить эту проблему достаточно гибко (здесь возможно суммирование рулсетов) и безопасно. Для повышения безопасности данном примере мы будем использовать LDAPS и учётную запись с ограниченными правами в домене AD. 
  
 1. Устанавливаем модуль freeradius для работы с LDAP. 1. Устанавливаем модуль freeradius для работы с LDAP.
Line 11: Line 11:
  
    ln -s /etc/freeradius/3.0/mods-available/ldap /etc/freeradius/3.0/mods-enabled/ldap       ln -s /etc/freeradius/3.0/mods-available/ldap /etc/freeradius/3.0/mods-enabled/ldap   
-3. Дальнейшую конфигурацию мы будем производить в файле ///etc/freeradius/3.0/mods-enabled/ldap//.+3. Дальнейшую конфигурацию (вплоть до п.18) мы будем производить в файле ///etc/freeradius/3.0/mods-enabled/ldap//.
  
 4. Пропишем адрес контроллера домена следующим образом: 4. Пропишем адрес контроллера домена следующим образом:
Line 18: Line 18:
 :!: Здесь можно указать адреса и других контроллеров домена, перечислив в отдельной секции server: :!: Здесь можно указать адреса и других контроллеров домена, перечислив в отдельной секции server:
    server = 'ldaps://dc02.arasaka.local:636'    server = 'ldaps://dc02.arasaka.local:636'
-:!: Опцию //port// конфига исплользовать не нужно, т.к. он указан явно в опции //server//.+:!: Опцию //port// конфига исплользовать не нужно, т.к. он указан явно в опции //server//. Закомментируем её, если она записана в конфиге.
  
 5. Настроим учётную запись, под которой будем подключаться к контроллеру домена. 5. Настроим учётную запись, под которой будем подключаться к контроллеру домена.
Line 25: Line 25:
     password = mypassword     password = mypassword
  
-:!: Здесь будет достаточно учётной записи, обладающей правами обычного пользователя домена.+:!: Здесь будет достаточно учётной записи, обладающей правами обычного пользователя домена.\\
 :!: Важно: имя учётной записи (vpn radius) - это не логин пользователя в AD, а его CN, который можно посмотреть в свойствах учётной записи на вкладке //Attribute Editor//. :!: Важно: имя учётной записи (vpn radius) - это не логин пользователя в AD, а его CN, который можно посмотреть в свойствах учётной записи на вкладке //Attribute Editor//.
  
 +;#;
 {{::radius_ad_user_ldap.jpg?direct&400|}} {{::radius_ad_user_ldap.jpg?direct&400|}}
 +;#;
  
 6. Настроим базовое пространство домена, откуда будет производиться дальнейший поиск: 6. Настроим базовое пространство домена, откуда будет производиться дальнейший поиск:
Line 39: Line 41:
  
    base_dn = 'CN=RADIUS,DC=office,DC=arasaka,DC=local'    base_dn = 'CN=RADIUS,DC=office,DC=arasaka,DC=local'
-9. В этой же секции поменяем аттрибут группы на //group// вместо юниксового posixGroup. +9. В этой же секции поменяем аттрибут группы на ''group'' вместо юниксового ''posixGroup''
  
    filter = '(objectClass=group)'    filter = '(objectClass=group)'
Line 62: Line 64:
    chase_referrals = yes    chase_referrals = yes
    rebind = yes    rebind = yes
-16. В секции //tls// отключаем starttls, т.к. он нужен только в случае использования tls поверх 389 порта, что в нашем случае не релевантно, поскольку мы используем SSL по 636. +16. В секции //tls// отключаем //starttls//, т.к. он нужен только в случае использования tls поверх 389 порта, что в нашем случае не релевантно, поскольку мы используем SSL по 636. 
  
    start_tls = no    start_tls = no
Line 95: Line 97:
 В pfSense проверить проверить добавление правил можно использовав пункт меню status->openvpn. Кликнув на информацию о сеансе - можно увидеть правла, если всё сделано верно.  В pfSense проверить проверить добавление правил можно использовав пункт меню status->openvpn. Кликнув на информацию о сеансе - можно увидеть правла, если всё сделано верно. 
  
 +;#;
 {{::pf_sense_radius_rules_ovpn.jpg?direct&400|}} {{::pf_sense_radius_rules_ovpn.jpg?direct&400|}}
 +;#;
  
-{{tag>Debian Linux freeradius NPS LDAP pfSense}}+{{tag>Debian Linux freeradius NPS LDAP pfSense ActiveDirectory}}
настройка_атрибутов_на_основе_ldap_ad_групп.1667919449.txt.gz · Last modified: 2022/11/08 14:57 by jp