web-dev-qa-db-fra.com

Comment configurer un serveur IRC basé sur LDAP?

Comment puis-je configurer un serveur IRC supporté par LDAP?

À l'heure actuelle, je cherche à créer un serveur IRC qui s'appuie sur une instance OpenLDAP ou 389 pour l'authentification de l'utilisateur.

Quel IRCD devrais-je utiliser?

De préférence, il devrait pouvoir consulter les groupes LDAP des utilisateurs et décider s’ils peuvent être oppés, exprimés ou même autorisés à rejoindre un canal.

11
jrg

Votre question nécessite de nombreuses explications, je vais donc résumer ma réponse:

Vous devez d’abord utiliser Inspircd v2.0.15 car sa stabilité, ses performances élevées et le plus important pour votre utilisation sont marqués comme Prise en charge de LDAP Lien .

D'abord:

Vous devriez éditer votre fichier/etc/hosts:

YouserverIp       hostname.example.com        hostname

Seconde:

Installez OpenLdap:

Sudo apt-get install slapd ldap-utils

pendant l'installation, tapez simplement votre mot de passe administrateur LDAP.

OpenLdapServer

Troisième:

Installez Apache2: apt-get install Apache2

Quatrième:

Installez phpldapAdmin: phpLDAPadmin (également appelé PLA) est un client LDAP basé sur le Web. Il fournit une administration multilingue simple et accessible en tout lieu pour votre serveur LDAP.

Sudo apt-get install phpldapadmin (c'est pourquoi j'ai installé Apache2, son outil Web)

Vous avez maintenant deux étapes:

modifier

 /etc/ldap/ldap.conf

ajouter: modifier

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

puis: edit /etc/phpldapadmin/config.php

enter image description here

enter image description here

enter image description here

Il suffit de modifier votre adresse IP et votre nom de domaine.

Ouvrez votre navigateur:

votreIp/phpldapadmin

Entrez votre mot de passe administrateur que vous tapez lors de l'installation de sldap.

Maintenant, vous vous connectez à la base de données LDAP. sélectionnez le domaine ----> à droite, ajoutez Generic Posix Group ---->, puis sélectionnez le groupe et créez une entrée enfant, ajoutez des comptes d'utilisateurs génériques à tester.

enter image description here

Plus d'aide pour utiliser phpldapadmin Here

Cinquième:

Maintenant son heure de configurer inspirircd:

edit: /etc/inspircd/inspircd.conf vous devez charger le module ldapauth et pointer vers votre serveur 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" >

Vous devez également ajouter votre nom de serveur irc, votre nom d’administrateur et une autre option dans

/etc/inspircd/inspircd.conf 

Ce tutoriel vous aiderait: Tutorial

Last:

Redémarrez slapd, inspircd et essayez de vous connecter avec les utilisateurs que vous avez créés.

Remarque changez selon les besoins, cette configuration irc et ldap sont les mêmes serveurs.

J'espère que cela vous aidera car je ne pense pas qu'il existe un document officiel aussi simple que le mien.

7
nux

Si vous voulez vraiment que l'IRCd fasse l'authentification, je suggérerais InspIRCd .

Il a un module ldapauth, mais vous devez le compiler vous-même avec

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

Un exemple de configuration d'utilisation de LDAP se trouve dans un exemple de fichier de configuration .

Notez que ce module est expérimental. Et le fichier de configuration (et le code source) est toute la documentation que vous obtenez pour ce module.

Edit: Après avoir lu un peu du code, je vais essayer d’expliquer comment cela fonctionne:

  • Il se lie d’abord au serveur LDAP avec les informations d’identification que vous avez spécifiées dans la configuration.
  • Il recherche un utilisateur où l'attribut que vous avez spécifié dans la configuration est égal au pseudonyme de l'utilisateur qui se connecte.
  • Il essaie d'authentifier le dn trouvé avec le mot de passe que l'utilisateur a fourni lors de la connexion (via PASS, peut être configuré dans la configuration du serveur sur la plupart des clients).

Si une étape échoue, l'utilisateur est déconnecté du réseau/serveur. J'espère que c'est ce dont vous avez besoin (les utilisateurs non authentifiés ne peuvent pas se connecter).

Pour la configuration, il existe un concept de base de données. LDAP est utilisé ici comme une base de données. Vous devez d’abord définir la base de données (serveur LDAP, informations d’identité du serveur LDAP, etc.), puis l’utiliser ultérieurement pour un ou plusieurs objectifs, par exemple. authentification utilisateur, authentification oper ...

Ou simplement: les valeurs par défaut sont manifestement incorrectes ou correctes.

Edit : Ce que vous voulez est dans le domaine des IRC services. Bien qu'InspIRCd puisse fournir des services de base, vous devez écrire votre propre code pour le faire fonctionner à votre guise.

2
Johannes Kuhn

Vous n'avez pas spécifié le code IRCd à utiliser et vous l'avez réellement demandé.

Alors; Voici un exemple de configuration LDAP avec InspIRCd .

Pour une liste complète des IRCd; vous pouvez jeter un oeil à ceci Comparaison des démons Internet Relay Chat dans lequel tous -excepté deux, supporte Linux.

et enfin dans ce Table ; vous pouvez trouver celui qui prend en charge l’authentification LDAP.

Souhait qui vous aide dans votre décision.

1
Ahmadgeo