LDAP 기반 IRC 서버를 설정하는 방법


11

LDAP가 지원하는 IRC 서버를 구성하려면 어떻게해야합니까?

지금은 사용자 인증을 위해 OpenLDAP 또는 389 인스턴스가 지원하는 IRC 서버를 만드는 중입니다.

어떤 IRCD를 사용해야합니까?

가급적이면 사용자 LDAP 그룹을 조회하고 이들이 선택, 음성 또는 채널에 참여할 수 있는지 여부를 결정할 수 있어야합니다.


"인증"이란 무엇입니까? 사용자는 어느 시점에서 인증해야합니까?
Johannes Kuhn

@JohannesKuhn 서버 수준에 연결할 때와 같이 LDAP 자격 증명으로 인증하려고합니다. 나는 nickserv와 같은 것에 관심이 없으며, 내가 말할 수있는 것에서 쉽게 할 수 있습니다.
jrg

다른 세부 사항이 필요하십니까?
Johannes Kuhn

Inspircd를 사용하여 작은 IRC 서버를 설정할 수 있습니다. 계획은 다음과 같습니다. NGINX https를 통해 프록시되는 웹 기반 UI 인 사용자를위한 LDAP 인증, 내 도메인 인증서를 사용한 SSL 암호화를 사용하십시오. project-xanadu.blogspot.in/2013/06/irc-server.html에 대한 자세한 내용 도 참조하십시오 blog.labix.org/2010/06/19/…
totti

답변:


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라고도 함)은 웹 기반 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 그룹 추가 ---->를 선택한 다음 그룹을 선택하고 하위 항목 작성을 수행하여 테스트 할 일반 사용자 계정을 추가하십시오.

여기에 이미지 설명을 입력하십시오

더 많은 도움을 사용 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, inspircd를 다시 시작하고 사용자가 연결되도록하십시오.

참고 그것은 당신의 요구에 맞는로 변경이 구성 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를 지정하지 않고 실제로 요청했습니다.

그래서; 다음은 InspIRCd 로 LDAP를 구성하는 예입니다 .

IRCd의 전체 목록; 이 두 가지를 제외하고 모두 리눅스를 지원하는 인터넷 릴레이 채팅 데몬의 비교를 살펴볼 수 있습니다 .

그리고 마지막으로이 표에서 ; 실제로 LDAP 인증을 지원하는 것을 찾을 수 있습니다.

당신의 결정에 도움이 되길 바랍니다.


나는 내 대답에 ldap 백엔드를 지원하는 것으로 플래그가 지정된 irc 서버를 진술했다
nux

@nux 실제로 나는 LDAP를 지원하는 많은 IRCd 서버가있는 테이블을 포함하고 jrg에게 결정을 남겼습니다. 그것은 결국 조언을 요구하는 의견 기반 질문이었습니다 :)
Ahmadgeo

yup am with, 나는 모든 의존성을 가진 공식 저장소에서 다운로드 할 수 있기 때문에 그 버전을 선택한다
nux
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.