如何设置LDAP支持的IRC服务器?


11

如何配置由LDAP支持的IRC服务器?

现在,我正在考虑制作一个由OpenLDAP或389实例支持的IRC服务器,以进行用户身份验证。

我应该使用哪个IRCD?

优选地,它应该能够查找用户LDAP组并决定是否可以对他们进行操作,配音或什至允许他们加入频道。


“身份验证”是什么意思?用户应在何时认证?
Johannes Kuhn 2014年

@JohannesKuhn我希望他们在连接时使用其LDAP凭据进行身份验证-服务器级别。我不太关心nickserv之类的东西,据我所知,这很容易做到。
jrg 2014年

您还需要其他哪些细节?
约翰内斯·库恩

您可以使用Inspircd设置一个小型IRC服务器。该计划如下。对用户使用LDAP身份验证,使用我的域证书进行SSL加密,以及通过NGINX https代理的基于Web的UI。在详细project-xanadu.blogspot.in/2013/06/irc-server.html另见blog.labix.org/2010/06/19/...
托蒂

Answers:


7

您的问题需要很多解释,所以我将总结一下我的答案:

首先,您应该使用Inspircd v2.0.15,因为它稳定,高性能并且对您的使用最为重要,并标记为ldap support Link

首先:

您应该编辑/ 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)是基于Web的LDAP客户端。它为您的LDAP服务器提供了易于访问的多语言轻松管理。

sudo apt-get install phpldapadmin (这就是为什么我安装了其Web工具apache2的原因)

您现在有两个步骤:

编辑

 /etc/ldap/ldap.conf

添加:编辑

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

然后:编辑 /etc/phpldapadmin/config.php

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

只需编辑您的IP和域名。

打开浏览器:

yourIp / phpldapadmin

输入在安装sldap时键入的管理员密码。

现在,您连接到ldap数据库。选择域---->在右边添加通用Posix组---->然后选择组并创建一个子条目添加通用用户帐户进行测试。

在此处输入图片说明

在这里使用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" >

您还应该在其中添加irc服务器名称和管理员名称以及其他选项

/etc/inspircd/inspircd.conf 

本教程将为您提供帮助:教程

最后:

重新启动slapd,启发并尝试连接您所创建的用户。

请注意根据需要进行更改,此配置irc和ldap都是同一台服务器。

希望它能对您有所帮助,因为我认为没有像我一样简单的正式文件。


2

如果您真的希望IRCd进行身份验证,则建议使用InspIRCd

它有一个ldapauth模块,但是您需要自己编译

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

示例配置文件中,示例配置如何使用LDAP 。

请注意,此模块是实验性的。配置文件(和源代码)就是您为该模块获得的所有文档。

编辑:阅读了一些代码后,我将尝试解释它是如何工作的:

  • 它首先使用您在配置中指定的凭据绑定到ldap服务器。
  • 它搜索用户,您在配置中指定的属性等于连接用户的昵称。
  • 它尝试使用用户在连接上提供的密码来验证找到的dn(通过PASS,可以在大多数客户端的服务器配置中进行配置)。

如果任何步骤失败,则用户将与网络/服务器断开连接。我希望这就是您所需要的(未经身份验证的用户无法连接)。

对于配置,有一个数据库概念。LDAP在这里就像数据库一样使用。您首先定义数据库(LDAP服务器,LDAP服务器的凭据...),然后将其用于一个或多个目的,例如用户身份验证,操作员身份验证...

或简单地说:默认值显然是错误的,或者是良好的默认值。

编辑:您想要的属于IRC服务的领域。尽管InspIRCd可以提供基本服务,但是您需要编写自己的代码以使其按需工作。


1

您尚未指定要使用哪个IRCd并实际要求它。

所以; 这是将LDAP配置为InspIRCd的示例

有关IRCds的完整列表;您可以看一下“ Internet中继聊天”守护程序的比较,其中所有(两个除外)都支持Linux。

最后在这个表中 ; 您可以找到实际上支持LDAP认证的对象。

希望对您的决定有所帮助。


我在回答中声明了一个被标记为支持ldap后端的irc服务器
2014年

@nux实际上,我包括一张包含许多支持LDAP的IRCd服务器的表,并将决定留给jrg ..毕竟这是一个基于意见的问题,要求咨询:)
Ahmadgeo 2014年

是的,我愿意选择这个版本,因为它可以从带有所有依赖项的官方存储库中下载
2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.