Come si configura un server IRC con supporto LDAP?


11

Come posso configurare un server IRC supportato da LDAP?

In questo momento, sto cercando di creare un server IRC supportato da un'istanza OpenLDAP o 389 per l'autenticazione utente.

Quale IRCD dovrei usare?

Preferibilmente, dovrebbe essere in grado di cercare i gruppi LDAP degli utenti e decidere se possono essere opposti, espressi o persino autorizzati a entrare in un canale.


Cosa intendi con "autenticazione"? A che punto l'utente dovrebbe autenticarsi?
Johannes Kuhn,

@JohannesKuhn Voglio che eseguano l'autenticazione con le loro credenziali LDAP come quando si connettono a livello di server. Non sono così interessato a nickserv o simili, è abbastanza facile da fare da quello che posso dire.
JRG

Di quali altri dettagli hai bisogno?
Johannes Kuhn,

Puoi configurare un piccolo server IRC usando Inspircd. Il piano era il seguente. Usa l'autenticazione LDAP per gli utenti, la crittografia SSL usando i miei certificati di dominio, un'interfaccia utente basata su web trasmessa tramite NGINX https. Dettagli al project-xanadu.blogspot.in/2013/06/irc-server.html anche vedere blog.labix.org/2010/06/19/...
Totti

Risposte:


7

La tua domanda ha bisogno di molte spiegazioni, quindi riassumerò la mia risposta:

Per prima cosa dovresti usare Inspircd v2.0.15 perché è stabile, ad alte prestazioni e il più importante per il tuo utilizzo, contrassegnato come Link supporto ldap .

Primo :

Dovresti modificare il tuo file / etc / hosts:

YouserverIp       hostname.example.com        hostname

Secondo:

Installa OpenLdap:

sudo apt-get install slapd ldap-utils

durante l'installazione basta digitare la password dell'amministratore di ldap.

OpenLdapServer

Terzo :

Installa apache2: apt-get install apache2

Il quarto :

Installa phpldapAdmin: phpLDAPadmin (noto anche come PLA) è un client LDAP basato sul web. Fornisce un'amministrazione multilingue semplice e accessibile ovunque per il tuo server LDAP.

sudo apt-get install phpldapadmin (ecco perché ho installato apache2, il suo strumento web)

Ora hai due passaggi:

modificare

 /etc/ldap/ldap.conf

aggiungi: modifica

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

quindi: modifica /etc/phpldapadmin/config.php

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Modifica il tuo IP e nome di dominio.

Apri il tuo browser:

yourIp / phpldapadmin

Immettere la password dell'amministratore digitata durante l'installazione di sldap.

Ora ti connetti al database ldap. seleziona dominio ----> a destra aggiungi gruppo Posix generico ----> quindi seleziona gruppo e crea una voce figlio aggiungi account utente generico per il test.

inserisci qui la descrizione dell'immagine

Altro aiuto per usare phpldapadmin Qui

Quinto:

Ora è il momento di configurare inspircd:

modifica: /etc/inspircd/inspircd.conf devi caricare il modulo ldapauth e puntare al tuo server 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" >

È inoltre necessario aggiungere il nome del server irc e il nome dell'amministratore e altre opzioni in

/etc/inspircd/inspircd.conf 

Questo tutorial ti aiuterebbe: Tutorial

Scorso :

Riavvia slapd, inspircd e prova a connetterti come utenti che hai creato.

Nota come cambia in base alle tue esigenze, questa configurazione sia irc che ldap sono gli stessi server.

Spero che ti aiuti perché non penso che ci sia una documentazione ufficiale potrebbe essere semplice come la mia.


2

Se vuoi davvero che l'IRCd esegua l'autenticazione, suggerirei InspIRCd .

Ha un modulo ldapauth, ma è necessario compilarlo da soli

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

Una configurazione di esempio di come viene utilizzato LDAP è in un file di configurazione di esempio .

Si noti che questo modulo è sperimentale. E il file di configurazione (e il codice sorgente) è tutta la documentazione che ottieni per quel modulo.

Modifica: dopo aver letto un po 'di codice, proverò a spiegare come funziona:

  • Innanzitutto si lega al server ldap con le credenziali specificate nella configurazione.
  • Cerca un utente in cui l'attributo specificato nella configurazione è uguale al nick dell'utente che si connette.
  • Tenta di autenticare il trovato dn con la password che l'utente ha fornito al momento della connessione (tramite PASS, può essere configurato nella configurazione del server sulla maggior parte dei client).

Se un passaggio non riesce, l'utente viene disconnesso dalla rete / dal server. Spero che sia quello di cui hai bisogno (gli utenti non autenticati non possono connettersi).

Per la configurazione, esiste un concetto di database. LDAP è usato qui come un database. Definisci prima il database (server LDAP, credenziali per il server LDAP ...) e lo usi in seguito per uno o più scopi, ad es. Autenticazione utente, autenticazione operativa ...

O in parole povere: i valori predefiniti sono ovviamente errati o buoni valori predefiniti.

Modifica : ciò che desideri rientra nel dominio dei servizi IRC. Sebbene InspIRCd sia in grado di fornire servizi di base, è necessario scrivere il proprio codice per farlo funzionare come desiderato.


1

Non hai specificato quale IRCd usare e in realtà lo hai richiesto.

Così; ecco un esempio per la configurazione LDAP a InspIRCd .

Per un elenco completo di IRCds; potreste dare un'occhiata a questo confronto tra i demoni della chat di inoltro di Internet in cui tutti, tranne due, supportano Linux.

e infine in questa tabella ; puoi trovare che supporta effettivamente l'autenticazione LDAP.

Desideri che ti aiuti nella tua decisione.


dichiaro nella mia risposta un server irc che è contrassegnato per supportare ldap backend
nux

@nux In realtà ho incluso una tabella con molti server IRCd che supportano LDAP e ho lasciato la decisione di jrg .. quella era una domanda basata sull'opinione che chiedeva consigli dopo tutto :)
Ahmadgeo,

Sì, sono con te, ho scelto quella versione perché può essere scaricata da un repository ufficiale con tutte le sue dipendenze
nux
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.