¿Cómo configuro un servidor IRC respaldado por LDAP?


11

¿Cómo puedo configurar un servidor IRC respaldado por LDAP?

En este momento, estoy buscando hacer un servidor IRC que esté respaldado por una instancia de OpenLDAP o 389 para la autenticación del usuario.

¿Qué IRCD debo usar?

Preferiblemente, debería poder buscar los grupos LDAP de los usuarios y decidir si pueden ser elegidos, expresados ​​o incluso permitidos unirse a un canal.


¿Qué quieres decir con "autenticación"? ¿En qué punto debe autenticarse el usuario?
Johannes Kuhn

@JohannesKuhn Quiero que se autentiquen con sus credenciales LDAP como cuando se conectan: nivel de servidor. No estoy tan preocupado por nickserv o similares, eso es bastante fácil de hacer por lo que puedo decir.
jrg

¿Qué otros detalles necesitas?
Johannes Kuhn

Puede configurar un pequeño servidor IRC usando Inspircd. El plan era el siguiente. Utilice la autenticación LDAP para los usuarios, el cifrado SSL utilizando mis certificados de dominio, una interfaz de usuario basada en web proxied a través de https NGINX. Más detalles en project-xanadu.blogspot.in/2013/06/irc-server.html también ver blog.labix.org/2010/06/19/...
totti

Respuestas:


7

Tu pregunta necesita mucha explicación, así que resumiré mi respuesta:

Primero debe usar Inspircd v2.0.15 porque es estable, de alto rendimiento y lo más importante para su uso, marcado como enlace de soporte ldap .

Primero :

Debería editar su archivo / etc / hosts:

YouserverIp       hostname.example.com        hostname

Segundo :

Instalar OpenLdap:

sudo apt-get install slapd ldap-utils

durante la instalación simplemente escriba su contraseña de administrador ldap.

OpenLdapServer

Tercero :

Instala apache2: apt-get install apache2

Cuarto:

Instale phpldapAdmin: phpLDAPadmin (también conocido como PLA) es un cliente LDAP basado en la web. Proporciona una administración fácil, accesible desde cualquier lugar y en varios idiomas para su servidor LDAP.

sudo apt-get install phpldapadmin (es por eso que instalé apache2, su herramienta web)

Ahora tienes dos pasos:

editar

 /etc/ldap/ldap.conf

agregar: editar

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

entonces: editar /etc/phpldapadmin/config.php

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Simplemente edite su IP y nombre de dominio.

Abre tu navegador:

yourIp / phpldapadmin

Ingrese la contraseña de administrador que escriba cuando instale sldap.

Ahora te conectas a la base de datos ldap. seleccione el dominio ----> a la derecha agregue el grupo genérico Posix ----> luego seleccione el grupo y cree una entrada secundaria agregue cuentas de usuario genéricas para la prueba.

ingrese la descripción de la imagen aquí

Más ayuda para usar phpldapadmin aquí

Quinto:

Ahora es el momento de configurar inspircd:

editar: /etc/inspircd/inspircd.conf necesita cargar el módulo ldapauth y apuntar a su servidor 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" >

También debe agregar su nombre de servidor irc y nombre de administrador y otra opción en

/etc/inspircd/inspircd.conf 

Este tutorial te ayudaría: Tutorial

Último :

Reinicie slapd, inspircd e intente conectarse con los usuarios que creó.

Tenga en cuenta el cambio según sus necesidades, esta configuración, tanto irc como ldap, son los mismos servidores.

Espero que te ayude porque no creo que haya una documentación oficial que pueda ser tan simple como la mía.


2

Si realmente desea que el IRCd realice la autenticación, sugeriría InspIRCd .

Tiene un módulo ldapauth, pero debe compilarlo usted mismo con

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

Un ejemplo de configuración de cómo se usa LDAP está en un archivo de configuración de ejemplo .

Tenga en cuenta que este módulo es experimental. Y el archivo de configuración (y el código fuente) es toda la documentación que obtiene para ese módulo.

Editar: después de leer un poco del código, intentaré explicar cómo funciona:

  • Primero se une al servidor ldap con las credenciales que especificó en la configuración.
  • Busca un usuario donde el atributo que especificó en la configuración es igual al nick del usuario que se conecta.
  • Intenta autenticar el dn encontrado con la contraseña que el usuario proporcionó al conectarse (a través de PASS, se puede configurar en la configuración del servidor en la mayoría de los clientes).

Si algún paso falla, el usuario se desconecta de la red / servidor. Espero que eso sea lo que necesita (los usuarios no autenticados no pueden conectarse).

Para la configuración, hay un concepto de bases de datos. LDAP se usa aquí como una base de datos. Primero define la base de datos (servidor LDAP, credenciales para el servidor LDAP ...), y la usa más tarde para uno o más propósitos, por ejemplo, autenticación de usuario, autenticación de operación ...

O en pocas palabras: los valores predeterminados son obviamente incorrectos o buenos valores predeterminados.

Editar : lo que desea pertenece al dominio de los servicios de IRC. Aunque InspIRCd podría proporcionar servicios básicos, debe escribir su propio código para que funcione como lo desee.


1

No ha especificado qué IRCd usar y realmente lo solicitó.

Entonces; Aquí hay un ejemplo de configuración LDAP para InspIRCd .

Para obtener una lista completa de IRCds; Puede echar un vistazo a esta comparación de demonios de chat de retransmisión de Internet en la que todos, excepto dos, son compatibles con Linux.

y finalmente en esta tabla ; puede encontrar cuál realmente admite la autenticación LDAP.

Deseo que te ayude en tu decisión.


Declaro en mi respuesta un servidor IRC que está marcado para admitir backend ldap
nux

@nux En realidad, incluí una tabla con muchos servidores IRCd que admiten LDAP y dejé la decisión de jrg ... esa era una pregunta basada en la opinión que pedía consejos después de todo :)
Ahmadgeo

sí, estoy con ustedes, elijo esa versión porque se puede descargar desde un repositorio oficial con todas sus dependencias
nux
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.