ฉันจะตั้งค่าเซิร์ฟเวอร์ IRC ที่สนับสนุน LDAP ได้อย่างไร


11

ฉันจะกำหนดค่าเซิร์ฟเวอร์ IRC ที่สนับสนุนโดย LDAP ได้อย่างไร

ตอนนี้ฉันกำลังมองหาการสร้างเซิร์ฟเวอร์ IRC ที่สำรองข้อมูลโดยอินสแตนซ์ OpenLDAP หรือ 389 สำหรับการตรวจสอบผู้ใช้

ฉันควรใช้ IRCD ชนิดใด

ควรจะสามารถค้นหากลุ่ม LDAP ของผู้ใช้และตัดสินใจว่าพวกเขาสามารถถูกคัดค้านเปล่งเสียงหรือแม้กระทั่งอนุญาตให้เข้าร่วมช่องได้เลย


คุณหมายความว่าอย่างไรกับ "การรับรองความถูกต้อง"? ผู้ใช้ควรตรวจสอบ ณ จุดใด
Johannes Kuhn

@JohannesKuhn ฉันต้องการตรวจสอบสิทธิ์กับข้อมูลรับรอง LDAP ของพวกเขาเช่นเมื่อพวกเขาเชื่อมต่อ - ระดับเซิร์ฟเวอร์ ฉันไม่ได้กังวลกับ nickserv หรือชอบมันง่ายพอที่จะทำจากสิ่งที่ฉันสามารถบอกได้
jrg

คุณต้องการรายละเอียดอะไรอีกบ้าง
โยฮันน์คุห์น

คุณสามารถตั้งค่าเซิร์ฟเวอร์ IRC เล็กน้อยโดยใช้ Inspircd แผนมีดังนี้ ใช้การรับรองความถูกต้องของ LDAP สำหรับผู้ใช้การเข้ารหัส SSL โดยใช้ใบรับรองโดเมนของฉันซึ่งเป็น UI บนเว็บที่พร็อกซีผ่าน NGINX https รายละเอียดที่project-xanadu.blogspot.in/2013/06/irc-server.htmlยังเห็นblog.labix.org/2010/06/19/...
totti

คำตอบ:


7

คำถามของคุณต้องการคำอธิบายมากมายดังนั้นฉันจะสรุปคำตอบของฉัน:

แรกที่คุณควรใช้ InspIRCd v2.0.15 เพราะมีเสถียรภาพประสิทธิภาพการทำงานสูงและที่สำคัญที่สุดสำหรับการใช้งานของคุณตั้งค่าสถานะเป็นLDAP สนับสนุน การเชื่อมโยง

ครั้งแรก:

คุณควรแก้ไขไฟล์ / etc / hosts ของคุณ:

YouserverIp       hostname.example.com        hostname

ที่สอง:

ติดตั้ง OpenLdap:

sudo apt-get install slapd ldap-utils

ระหว่างการติดตั้งเพียงพิมพ์รหัสผ่านผู้ดูแลระบบ ldap ของคุณ

OpenLdapServer

ที่สาม:

ติดตั้ง apache2: apt-get install apache2

ที่สี่:

ติดตั้ง phpldapAdmin: phpLDAPadmin (หรือเรียกอีกอย่างว่า PLA) เป็นไคลเอนต์ LDAP แบบเว็บ ให้การจัดการหลายภาษาที่ง่ายและเข้าถึงได้ทุกที่สำหรับเซิร์ฟเวอร์ LDAP ของคุณ

sudo apt-get install phpldapadmin (นั่นคือเหตุผลที่ฉันติดตั้ง apache2 ซึ่งเป็นเครื่องมือบนเว็บ)

ตอนนี้คุณมีสองขั้นตอน:

แก้ไข

 /etc/ldap/ldap.conf

เพิ่ม: แก้ไข

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

จากนั้น: แก้ไข /etc/phpldapadmin/config.php

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

เพียงแก้ไข Ip และชื่อโดเมนของคุณ

เปิดเบราว์เซอร์ของคุณ:

yourIp / phpldapadmin

ป้อนรหัสผ่านผู้ดูแลระบบของคุณที่คุณพิมพ์เมื่อติดตั้ง sldap

ตอนนี้คุณเชื่อมต่อกับฐานข้อมูล ldap เลือกโดเมน ----> ทางด้านขวาเพิ่ม Generic Posix Group ----> จากนั้นเลือกกลุ่มและสร้างรายการย่อยเพิ่มบัญชีผู้ใช้ทั่วไปสำหรับการทดสอบ

ป้อนคำอธิบายรูปภาพที่นี่

ความช่วยเหลือเพิ่มเติมใช้ phpldapadmin ที่นี่

ที่ห้า:

ตอนนี้ถึงเวลาที่จะกำหนดค่า inspircd:

แก้ไข: /etc/inspircd/inspircd.conf คุณต้องโหลดโมดูล ldapauth และชี้ไปที่เซิร์ฟเวอร์ 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" >

คุณควรเพิ่มชื่อเซิร์ฟเวอร์ของคุณและชื่อผู้ดูแลระบบและตัวเลือกอื่น ๆ ใน

/etc/inspircd/inspircd.conf 

บทช่วยสอนนี้จะช่วยคุณ: บทช่วยสอน

ล่าสุด :

เริ่ม slapd, inspircd และพยายามเชื่อมต่อกับผู้ใช้ที่คุณทำ

หมายเหตุเปลี่ยนตามความต้องการของคุณการกำหนดค่านี้ทั้ง irc และ ldap เป็นเซิร์ฟเวอร์เดียวกัน

หวังว่ามันจะช่วยคุณเพราะฉันไม่คิดว่ามีเอกสารอย่างเป็นทางการอาจจะง่ายเหมือนของฉัน


2

ถ้าคุณอยากที่ IRCd ไม่รับรองความถูกต้องผมจะแนะนำInspIRCd

มันมีโมดูล ldapauth แต่คุณต้องรวบรวมด้วยตัวคุณเอง

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

การกำหนดค่าตัวอย่างวิธี LDAP เป็นสินค้าที่อยู่ในแฟ้มการกำหนดค่าตัวอย่างเช่น

โปรดทราบว่าโมดูลนี้เป็นการทดลอง และไฟล์กำหนดค่า (และซอร์สโค้ด) เป็นเอกสารทั้งหมดที่คุณได้รับสำหรับโมดูลนั้น

แก้ไข: หลังจากอ่านรหัสเล็กน้อยฉันจะพยายามอธิบายวิธีการทำงาน:

  • มันเชื่อมโยงกับเซิร์ฟเวอร์ ldap ก่อนด้วยข้อมูลประจำตัวที่คุณระบุในการกำหนดค่า
  • มันจะค้นหาผู้ใช้ที่แอตทริบิวต์ที่คุณระบุในการกำหนดค่าเท่ากับ nick ของผู้ใช้ที่เชื่อมต่อ
  • มันพยายามตรวจสอบสิทธิ์ dn ที่พบด้วยรหัสผ่านที่ผู้ใช้ระบุในการเชื่อมต่อ (ผ่าน PASS สามารถกำหนดค่าในการกำหนดค่าเซิร์ฟเวอร์บนไคลเอนต์ส่วนใหญ่)

หากขั้นตอนใด ๆ ล้มเหลวผู้ใช้จะถูกตัดการเชื่อมต่อจากเครือข่าย / เซิร์ฟเวอร์ ฉันหวังว่านั่นคือสิ่งที่คุณต้องการ (ผู้ใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์ไม่สามารถเชื่อมต่อได้)

สำหรับการกำหนดค่ามีแนวคิดของฐานข้อมูล ใช้ LDAP ที่นี่เช่นฐานข้อมูล คุณกำหนดฐานข้อมูลก่อน (เซิร์ฟเวอร์ LDAP, ข้อมูลประจำตัวสำหรับเซิร์ฟเวอร์ LDAP ... ) และใช้ในภายหลังเพื่อวัตถุประสงค์อย่างน้อยหนึ่งอย่างเช่นการตรวจสอบผู้ใช้, การตรวจสอบผู้ใช้งาน ...

หรือทำให้มันง่าย: ค่าเริ่มต้นอาจผิดหรือเป็นค่าเริ่มต้นที่ชัดเจน

แก้ไข : สิ่งที่คุณต้องการอยู่ในโดเมนของบริการ IRC แม้ว่า InspIRCd สามารถให้บริการขั้นพื้นฐานได้ แต่คุณต้องเขียนรหัสของตัวเองเพื่อให้ทำงานได้ตามที่คุณต้องการ


1

คุณยังไม่ได้ระบุ IRCd ที่จะใช้และขอให้มันจริง

ดังนั้น; นี่เป็นตัวอย่างสำหรับ Configuation LDAP ไปยังInspIRCd

สำหรับรายการ IRCds ที่สมบูรณ์; คุณอาจดูที่การเปรียบเทียบการแชตผ่านอินเทอร์เน็ตรีเลย์ซึ่งทั้งสองข้อยกเว้นรองรับ Linux

และในที่สุดก็อยู่ในนี้ตาราง ; คุณสามารถค้นหาว่ารองรับการรับรองความถูกต้อง LDAP จริงหรือไม่

หวังว่าจะช่วยคุณในการตัดสินใจของคุณ


ฉันระบุในคำตอบของฉันเซิร์ฟเวอร์ IRC ซึ่งถูกตั้งค่าสถานะที่ให้การสนับสนุน LDAP แบ็กเอนด์
Nux

@nux ที่จริงผมรวมตารางที่มีเซิร์ฟเวอร์ IRCd หลายที่สนับสนุน LDAP และทิ้งการตัดสินใจที่จะ JRG .. นั่นเป็นคำถามที่ตามความเห็นขอคำแนะนำหลังจาก :) ทั้งหมด
Ahmadgeo

yup am กับคุณฉันเลือกเวอร์ชั่นนั้นเพราะมันสามารถดาวน์โหลดได้จากที่เก็บอย่างเป็นทางการพร้อมการอ้างอิงทั้งหมด
nux
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.