LDAP-backed IRCサーバーをセットアップするにはどうすればよいですか?


11

LDAPを使用するIRCサーバーを構成するにはどうすればよいですか?

現在、私はユーザー認証のためにOpenLDAPまたは389インスタンスに支えられたIRCサーバーの作成を検討しています。

どのIRCDを使用する必要がありますか?

できれば、ユーザーのLDAPグループを検索し、それらを選択、表明、またはチャネルへの参加を許可できるかどうかを決定できる必要があります。


「認証」とはどういう意味ですか?ユーザーはどの時点で認証されるべきですか?
ヨハネスクーン14年

@JohannesKuhn私は彼らが接続するときのようにLDAP資格情報で認証したい-サーバーレベル。私はnickservなどにはあまり関心がなく、それは私が言えることからするのに十分簡単です。
jrg 14年

他にどのような詳細が必要ですか?
ヨハネスクーン14年

Inspircdを使用して、小さなIRCサーバーをセットアップできます。計画は次のとおりでした。ユーザーにLDAP認証、ドメイン証明書を使用したSSL暗号化、NGINX httpsを介してプロキシされるWebベースのUIを使用します。詳細project-xanadu.blogspot.in/2013/06/irc-server.htmlはまた見blog.labix.org/2010/06/19/...
トッティ

回答:


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

第4 :

phpldapAdminをインストールします。phpLDAPadmin(PLAとも呼ばれます)は、WebベースのLDAPクライアントです。LDAPサーバーに、どこからでも簡単にアクセスできる多言語管理を提供します。

sudo apt-get install phpldapadmin (だからこそ、ウェブツールであるapache2をインストールしたのです)

次の2つのステップがあります。

編集する

 /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を追加---->グループを選択し、子エントリを作成してテスト用のGeneric User Accountsを追加します。

ここに画像の説明を入力してください

phpldapadminの使用に関するヘルプはこちら

5番目:

ここで、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、inspircdを再起動し、作成したユーザーに接続してみてください。

ニーズに合わせて変更に注意してください。この構成は、ircとldapの両方が同じサーバーです。

私のように簡単な公式文書があるとは思わないので、それがあなたの助けになることを願っています。


2

IRCdが認証を行うことを本当に望む場合は、InspIRCdをお勧めします

ldapauthモジュールがありますが、自分でコンパイルする必要があります

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

LDAPの使用方法の構成例は、構成ファイルの例です

このモジュールは実験的であることに注意してください。また、構成ファイル(およびソースコード)は、そのモジュールについて取得するすべてのドキュメントです。

編集:コードを少し読んだ後、その仕組みを説明してみましょう。

  • 最初に、構成で指定した資格情報を使用してLDAPサーバーにバインドします。
  • 構成で指定した属性が接続ユーザーのニックネームと等しいユーザーを検索します。
  • 接続時にユーザーが提供したパスワードを使用して、見つかったdnを認証しようとします(ほとんどのクライアントのサーバー構成で構成できます)。

いずれかの手順が失敗すると、ユーザーはネットワーク/サーバーから切断されます。それがあなたが必要とすることを願っています(認証されていないユーザーは接続できません)。

構成には、データベースの概念があります。ここでは、LDAPはデータベースのように使用されます。最初にデータベース(LDAPサーバー、LDAPサーバーの資格情報...)を定義し、後でユーザー認証、Oper認証などの1つ以上の目的に使用します。

または、簡単に言うと、デフォルト値は明らかに間違っているか、適切なデフォルト値です。

編集:あなたが欲しいものはIRCサービスのドメインに分類されます。InspIRCdは基本的なサービスを提供できますが、必要に応じて機能させるために独自のコードを記述する必要があります。


1

どのIRCdを使用するかを指定しておらず、実際に要求しました。

そう; InspIRCdへのLDAP構成の例を次に示します。

IRCdsの完全なリスト。この2つを除くすべてがLinuxをサポートするインターネットリレーチャットデーモンの比較をご覧ください。

そして最後にこの表に ; 実際にLDAP認証をサポートしているものを見つけることができます。

それがあなたの決断に役立つことを願っています。


私の答えで状態i LDAPバックエンドをサポートするためにフラグが立てられているIRCサーバ
NUX

@nux実際に、LDAPをサポートする多くのIRCdサーバーを含むテーブルを含め、jrgに決定を委ねました。これは結局、アドバイスを求める意見ベースの質問でした:)
Ahmadgeo 14年

あなたとうん午前、それはすべての依存関係を公式リポジトリからダウンロードすることができますので、私はそのバージョンを選択してください
NUX
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.