Як налаштувати підтримуваний LDAP IRC-сервер?


11

Як я можу налаштувати сервер IRC, який підтримується LDAP?

Зараз я розглядаю можливість створення сервера IRC, який підтримується OpenLDAP або 389 екземпляра для аутентифікації користувача.

Який IRCD я повинен використовувати?

Переважно, він повинен мати можливість шукати групи LDAP користувачів і вирішувати, чи їм взагалі можна дозволити, озвучити або навіть дозволити приєднуватися до каналу.


Що ви маєте на увазі під "аутентифікацією"? У який момент користувач повинен пройти автентифікацію?
Йоханнес Кун

@JohannesKuhn Я хочу, щоб їх автентифікувати за допомогою своїх LDAP-облікових даних як під час підключення - серверного рівня. Я не так переймаюся ніксервом чи подібним, це досить легко зробити з того, що я можу сказати.
jrg

Які ще деталі вам потрібні?
Йоганнес Кун

Ви можете налаштувати невеликий сервер IRC за допомогою Inspircd. План був такий. Використовувати автентифікацію LDAP для користувачів, шифрування SSL за допомогою мого certs домену, веб-інтерфейс, що проксі через NGINX https. Докладніше на project-xanadu.blogspot.in/2013/06/irc-server.html Також дивіться blog.labix.org/2010/06/19/…
totti

Відповіді:


7

Вам питання потребує багато пояснень, тому я підсумую свою відповідь:

Спочатку слід скористатись Inspircd v2.0.15, оскільки її стабільна, висока продуктивність і найважливіше для вашого використання, позначені як Посилання для підтримки ldap .

Спочатку :

Ви повинні відредагувати файл / etc / hosts:

YouserverIp       hostname.example.com        hostname

Друге:

Встановити OpenLdap:

sudo apt-get install slapd ldap-utils

під час встановлення просто введіть пароль адміністратора ldap.

OpenLdapServer

Третє:

Встановіть apache2: apt-get install apache2

Четверте:

Встановіть phpldapAdmin: phpLDAPadmin (також відомий як PLA) - веб-клієнт LDAP. Він забезпечує просте, де завгодно доступне, багатомовне адміністрування для вашого LDAP-сервера.

sudo apt-get install phpldapadmin (тому я встановив apache2, його веб-інструмент)

Тепер у вас є два кроки:

редагувати

 /etc/ldap/ldap.conf

додати: відредагувати

BASE dc=yourdomain,dc=com
URI ldap://Your Ip Address

потім: відредагувати /etc/phpldapadmin/config.php

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

Просто відредагуйте Ip та доменне ім’я.

Відкрийте веб-переглядач:

yourIp / phpldapadmin

Введіть пароль свого адміністратора, який ви вводите під час встановлення sldap.

Тепер ви підключаєтесь до бази даних ldap. виберіть домен ----> праворуч додайте загальну групу Posix ---->, потім виберіть групу та створіть дитину.

введіть тут опис зображення

Допомога у використанні phpldapadmin Тут

П'яте:

Тепер настав час налаштувати inspircd:

редагувати: /etc/inspircd/inspircd.conf вам потрібно завантажити модуль ldapauth і вказати на ваш сервер ldap,

<module name="m_ldapauth.so">
<ldapauth baserdn="cn=test,dc=domain,dc=com"
          attribute="uid"
          server="ldap://yourIp or domainname"
          allowpattern="Guest*"
          killreason="Access denied"
          searchscope="subtree"
          binddn=""
          bindauth=""
          verbose="yes"
          userfield="yes" >

Також слід додати ім'я сервера irc та ім'я адміністратора та іншу опцію в

/etc/inspircd/inspircd.conf 

Цей підручник допоможе вам: Підручник

Останнє:

Перезапустіть slapd, inspircd і спробуйте підключитись до користувачів, які ви створили.

Зауважте, що зміна відповідає вашим потребам. Ця конфігурація як irc, так і ldap - це ті самі сервери.

Сподіваюся, це допоможе вам, тому що я не думаю, що офіційна документація може бути простою як моя.


2

Якщо ви дійсно хочете, щоб IRCd робив аутентифікацію, я б запропонував InspIRCd .

У ньому є модуль ldapauth, але його потрібно скласти самостійно

./configure --enable-extras=m_ldap.cpp
make
make install

Приклад конфігурації, як використовується LDAP, знаходиться у прикладі конфігураційного файла .

Зауважте, що цей модуль експериментальний. А файл конфігурації (і вихідний код) - це вся документація, яку ви отримуєте для цього модуля.

Редагувати: прочитавши трохи коду, я спробую пояснити, як це працює:

  • Спочатку він пов'язується з сервером ldap за допомогою облікових даних, вказаних у конфігурації.
  • Він шукає користувача, де атрибут, який ви вказали в конфігурації, дорівнює псевдоніму підключеного користувача.
  • Він намагається автентифікувати знайдений dn з паролем, який користувач надав при підключенні (через PASS, може бути налаштований у конфігурації сервера для більшості клієнтів).

Якщо якийсь крок не вдається, користувач відключається від мережі / сервера. Я сподіваюся, що це вам потрібно (неаутентифіковані користувачі не можуть підключитися).

Для конфігурації існує концепція баз даних. LDAP використовується тут як база даних. Спочатку ви визначаєте базу даних (сервер LDAP, облікові дані для сервера LDAP ...), а потім використовуєте їх для однієї або декількох цілей, наприклад, автентифікація користувача, операційна автентифікація ...

Або простіше кажучи: значення за замовчуванням або явно неправильні, або хороші за замовчуванням.

Редагувати : те, що ви хочете, належить до домену послуг IRC. Хоча InspIRCd може надавати основні послуги, вам потрібно написати власний код, щоб він працював так, як вам потрібно.


1

Ви не вказали, який IRCd використовувати, і фактично просили його.

Тому; ось приклад конфігурації LDAP для InspIRCd .

Повний список IRCds; Ви можете ознайомитись із цим Порівнянням демонів Інтернет-ретрансляційних чатів, у яких всі, крім двох, підтримують Linux.

і нарешті в цій таблиці ; ви можете знайти, що насправді підтримує автентифікацію LDAP.

Побажання, яке допоможе вам у прийнятті рішення.


я повідомляю у своїй відповіді сервер irc, який позначений для підтримки ldap backkend
nux

@nux Насправді я включив таблицю з багатьма серверами IRCd, які підтримують LDAP, і рішення залишив jrg .. це питання, засноване на думці, зрештою, з проханням поради :)
Ahmadgeo

з вами я вибираю цю версію, тому що її можна завантажити з офіційного сховища з усіма її залежностями
nux
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.