Comment configurer un serveur IRC soutenu par LDAP?

11

Comment configurer un serveur IRC soutenu par LDAP?

En ce moment, je cherche à créer un serveur IRC qui est soutenu par une instance OpenLDAP ou 389 pour l'authentification des utilisateurs.

Quel IRCD dois-je utiliser?

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

jrg
la source
Que voulez-vous dire par «authentification»? À quel moment l'utilisateur doit-il s'authentifier?
Johannes Kuhn
@JohannesKuhn Je veux qu'ils s'authentifient avec leurs informations d'identification LDAP comme lorsqu'ils se connectent - au niveau du serveur. Je ne suis pas tellement préoccupé par nickserv ou similaire, c'est assez facile à faire d'après ce que je peux dire.
jrg
De quels autres détails avez-vous besoin?
Johannes Kuhn
Vous pouvez configurer un petit serveur IRC à l'aide d'Inspircd. Le plan était le suivant. Utilisez l'authentification LDAP pour les utilisateurs, le cryptage SSL à l'aide de mes certificats de domaine, une interface utilisateur Web basée sur proxy via NGINX https. Détails à project-xanadu.blogspot.in/2013/06/irc-server.html Voir aussi blog.labix.org/2010/06/19/...
totti

Réponses:

7

Votre question a besoin de beaucoup d'explications, donc je vais résumer ma réponse:

Vous devez d'abord utiliser Inspircd v2.0.15 car ses performances stables et élevées et les plus importantes pour votre utilisation sont signalées comme ldap support Link .

Première :

Vous devez éditer votre fichier / etc / hosts:

YouserverIp       hostname.example.com        hostname

Seconde :

Installez OpenLdap:

sudo apt-get install slapd ldap-utils

lors de 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 partout pour votre serveur LDAP.

sudo apt-get install phpldapadmin (c'est pourquoi j'ai installé apache2, son outil web)

Vous avez maintenant deux étapes:

Éditer

 /etc/ldap/ldap.conf

ajouter: modifier

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

puis: éditer /etc/phpldapadmin/config.php

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

Modifiez simplement votre Ip et votre nom de domaine.

Ouvrez votre navigateur:

yourIp / phpldapadmin

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

Vous vous connectez maintenant à 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 Generic User Accounts pour les tests.

entrez la description de l'image ici

Plus d'aide pour utiliser phpldapadmin ici

Cinquième :

Il est maintenant temps de configurer inspircd:

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 et le nom d'administrateur et une autre option dans

/etc/inspircd/inspircd.conf 

Ce tutoriel vous aiderait: Tutoriel

Dernier :

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

Notez le changement car il correspond à vos besoins, cette configuration irc et ldap sont les mêmes serveurs.

J'espère que cela vous aide car je ne pense pas qu'il existe une documentation officielle aussi simple que la mienne.

nux
la source
2

Si vous voulez vraiment que l'IRCd fasse l'authentification, je suggère 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 dont l'attribut que vous avez spécifié dans la configuration est égal au pseudo 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 bases de données. LDAP est utilisé ici comme une base de données. Vous définissez d'abord la base de données (serveur LDAP, informations d'identification pour le serveur LDAP ...), et vous l'utilisez plus tard à une ou plusieurs fins, par exemple l'authentification utilisateur, l'authentification oper ...

Ou, pour faire simple: les valeurs par défaut sont soit manifestement fausses, soit de bonnes valeurs par défaut.

Edit : ce que vous voulez tombe dans le domaine des services IRC. Bien qu'InspIRCd puisse fournir des services de base, vous devez écrire votre propre code pour le faire fonctionner comme vous le souhaitez.

Johannes Kuhn
la source
1

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

Donc; voici un exemple de configuration LDAP à InspIRCd .

Pour une liste complète des IRCds; vous pouvez jeter un œil à cette comparaison des démons de chat de relais Internet dans lesquels tous, sauf deux, prennent en charge Linux.

et enfin dans ce tableau ; vous pouvez trouver celui qui prend réellement en charge l'authentification LDAP.

Souhait qui vous aide dans votre décision.

Ahmadgeo
la source
je déclare dans ma réponse un serveur irc qui est signalé pour soutenir le backend ldap
nux
@nux En fait, j'ai inclus une table avec de nombreux serveurs IRCd qui prennent en charge LDAP et j'ai laissé la décision à jrg .. c'était une question d'opinion demandant des conseils après tout :)
Ahmadgeo
yup am avec vous, j'ai choisi cette version car elle peut être téléchargée depuis un dépôt officiel avec toutes ses dépendances
nux