Bagaimana cara menyiapkan server IRC yang didukung LDAP?

11

Bagaimana saya bisa mengkonfigurasi server IRC yang didukung oleh LDAP?

Saat ini, saya sedang mencari cara membuat server IRC yang didukung oleh contoh OpenLDAP atau 389 untuk otentikasi pengguna.

IRCD mana yang harus saya gunakan?

Lebih disukai, itu harus dapat mencari pengguna kelompok LDAP dan memutuskan apakah mereka dapat dioptasi, disuarakan, atau bahkan diizinkan untuk bergabung dengan saluran sama sekali.

jrg
sumber
Apa yang Anda maksud dengan "otentikasi"? Pada titik mana pengguna harus mengotentikasi?
Johannes Kuhn
@JohannesKuhn Saya ingin mereka mengotentikasi dengan kredensial LDAP mereka seperti ketika mereka terhubung - tingkat server. Saya tidak begitu peduli dengan nickserv atau sejenisnya, itu cukup mudah dilakukan dari apa yang bisa saya katakan.
jrg
Apa detail lain yang Anda butuhkan?
Johannes Kuhn
Anda dapat mengatur server IRC kecil menggunakan Inspircd. Rencananya adalah sebagai berikut. Gunakan otentikasi LDAP untuk pengguna, enkripsi SSL menggunakan sertifikat domain saya, UI berbasis web yang diproksi melalui NGINX https. Detail di project-xanadu.blogspot.in/2013/06/irc-server.html Juga lihat blog.labix.org/2010/06/19/…
totti

Jawaban:

7

Pertanyaan Anda Membutuhkan banyak penjelasan, jadi saya akan meringkas jawaban saya:

Pertama, Anda harus menggunakan Inspircd v2.0.15 karena stabil, kinerja tinggi dan yang paling penting untuk penggunaan Anda, ditandai sebagai dukungan ldap link .

Pertama:

Anda harus mengedit file / etc / hosts Anda:

YouserverIp       hostname.example.com        hostname

Kedua:

Instal OpenLdap:

sudo apt-get install slapd ldap-utils

selama instalasi cukup ketik kata sandi administrator ldap Anda.

OpenLdapServer

Ketiga:

Instal apache2: apt-get install apache2

Keempat:

Instal phpldapAdmin: phpLDAPadmin (juga dikenal sebagai PLA) adalah klien LDAP berbasis web. Ini memberikan administrasi multi-bahasa yang mudah, dapat diakses di mana saja, untuk server LDAP Anda.

sudo apt-get install phpldapadmin (itu sebabnya saya menginstal apache2, alat web-nya)

Anda sekarang memiliki dua langkah:

sunting

 /etc/ldap/ldap.conf

tambahkan: edit

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

lalu: edit /etc/phpldapadmin/config.php

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Cukup edit IP dan nama domain Anda.

Buka browser Anda:

yourIp / phpldapadmin

Masukkan kata sandi administrator yang Anda ketik saat menginstal sldap.

Sekarang Anda terhubung ke database ldap. pilih domain ----> di sebelah kanan tambahkan Generic Posix Group ----> lalu pilih grup dan Buat Entri anak tambahkan Akun Pengguna Umum untuk pengujian.

masukkan deskripsi gambar di sini

Bantuan lainnya menggunakan phpldapadmin di sini

Kelima:

Sekarang saatnya untuk mengkonfigurasi inspircd:

sunting: /etc/inspircd/inspircd.conf Anda perlu memuat modul ldapauth dan arahkan ke server ldap Anda,

<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" >

Anda juga harus menambahkan nama server irc dan nama admin dan opsi lainnya di

/etc/inspircd/inspircd.conf 

Tutorial ini akan membantu Anda: Tutorial

Terakhir :

Mulai ulang slapd, inspircd, dan coba sambungkan menjadi pengguna yang Anda buat.

Catat perubahan sesuai kebutuhan Anda, konfigurasi ini irc dan ldap adalah server yang sama.

Semoga ini bisa membantu Anda karena saya tidak berpikir ada dokumentasi resmi bisa sesederhana milik saya.

nux
sumber
2

Jika Anda benar-benar ingin IRCd melakukan otentikasi, saya akan menyarankan InspIRCd .

Ini memiliki modul ldapauth, tetapi Anda harus mengkompilasinya sendiri

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

Contoh konfigurasi bagaimana LDAP digunakan dalam contoh file konfigurasi .

Perhatikan bahwa modul ini bersifat eksperimental. Dan file konfigurasi (dan kode sumber) adalah semua dokumentasi yang Anda dapatkan untuk modul itu.

Sunting: Setelah membaca sedikit kode, saya akan mencoba menjelaskan cara kerjanya:

  • Pertama mengikat ke server ldap dengan kredensial yang Anda tentukan dalam konfigurasi.
  • Itu mencari pengguna di mana atribut yang Anda tentukan dalam konfigurasi sama dengan nick dari pengguna yang menghubungkan.
  • Ia mencoba untuk mengotentikasi dn yang ditemukan dengan kata sandi yang disediakan pengguna pada koneksi (melalui PASS, dapat dikonfigurasi dalam konfigurasi server pada sebagian besar klien).

Jika ada langkah yang gagal, pengguna terputus dari jaringan / server. Saya harap itulah yang Anda butuhkan (pengguna yang tidak terauthentikasi tidak dapat terhubung).

Untuk konfigurasi, ada konsep basis data. LDAP digunakan di sini seperti basis data. Anda pertama-tama menentukan basis data (server LDAP, kredensial untuk server LDAP ...), dan menggunakannya nanti untuk satu atau beberapa tujuan, misalnya otentikasi pengguna, otentikasi oper ...

Atau sederhananya: Nilai defaultnya jelas salah atau defaultnya bagus.

Sunting : Apa yang Anda inginkan termasuk dalam domain layanan IRC. Meskipun InspIRCd dapat memberikan layanan dasar, Anda perlu menulis kode sendiri agar berfungsi seperti yang Anda inginkan.

Johannes Kuhn
sumber
1

Anda belum menentukan IRCd mana yang akan digunakan dan benar-benar memintanya.

Begitu; berikut adalah contoh untuk konfigurasi LDAP ke InspIRCd .

Untuk daftar lengkap IRC; Anda mungkin harus melihat ini perbandingan daemon obrolan Internet Relay di mana semua kecuali dua, mendukung Linux.

dan akhirnya dalam Tabel ini ; Anda dapat menemukan yang sebenarnya mendukung Otentikasi LDAP.

Berharap itu membantu Anda dalam keputusan Anda.

Ahmadgeo
sumber
saya menyatakan dalam jawaban saya server irc yang ditandai untuk mendukung backend ldap
nux
@nux Sebenarnya saya menyertakan tabel dengan banyak server IRCd yang mendukung LDAP dan membiarkan keputusan untuk jrg .. itu adalah pertanyaan berdasarkan pendapat yang meminta saran setelah semua :)
Ahmadgeo
ya bersamamu, saya memilih versi itu karena dapat diunduh dari repositori resmi dengan semua dependensinya
nux