Làm cách nào để thiết lập máy chủ IRC được LDAP hỗ trợ?


11

Làm cách nào tôi có thể định cấu hình máy chủ IRC được LDAP hỗ trợ?

Ngay bây giờ, tôi đang xem xét việc tạo một máy chủ IRC được hỗ trợ bởi một ví dụ OpenLDAP hoặc 389 để xác thực người dùng.

Tôi nên sử dụng IRCD nào?

Tốt hơn là, nó sẽ có thể tra cứu các nhóm LDAP của người dùng và quyết định xem họ có thể bị bỏ qua, lên tiếng hay thậm chí được phép tham gia một kênh hay không.


Bạn có ý nghĩa gì với "xác thực"? Tại thời điểm nào người dùng nên xác thực?
Julian Kuhn

@JohannesKuhn Tôi muốn họ xác thực bằng thông tin LDAP của họ như khi họ kết nối - cấp độ máy chủ. Tôi không quá quan tâm đến nickserv hay tương tự, điều đó đủ dễ để làm từ những gì tôi có thể nói.
JRG

Bạn cần những chi tiết nào khác?
Julian Kuhn

Bạn có thể thiết lập một máy chủ IRC nhỏ bằng Inspircd. Kế hoạch như sau. Sử dụng xác thực LDAP cho người dùng, mã hóa SSL bằng cách sử dụng tên miền của tôi, giao diện người dùng dựa trên web được ủy quyền qua NGINX https. Chi tiết tại project-xanadu.blogspot.in/2013/06/irc-server.html Cũng xem blog.labix.org/2010/06/19/19
totti

Câu trả lời:


7

Câu hỏi của bạn cần rất nhiều lời giải thích, vì vậy tôi sẽ tóm tắt câu trả lời của tôi:

Trước tiên, bạn nên sử dụng Inspircd v2.0.15 vì tính ổn định, hiệu suất cao và quan trọng nhất đối với việc sử dụng của bạn, được gắn cờ là Liên kết hỗ trợ ldap .

Đầu tiên :

Bạn nên chỉnh sửa tập tin / etc / hosts của mình:

YouserverIp       hostname.example.com        hostname

Thứ hai :

Cài đặt OpenLdap:

sudo apt-get install slapd ldap-utils

trong khi cài đặt chỉ cần nhập mật khẩu quản trị viên ldap của bạn.

Máy chủ OpenLdapS

Ngày thứ ba :

Cài đặt apache2: apt-get install apache2

Thứ tư:

Cài đặt phpldapAdmin: phpLDAPadmin (còn được gọi là PLA) là một ứng dụng khách LDAP dựa trên web. Nó cung cấp quản trị đa ngôn ngữ dễ dàng, có thể truy cập ở mọi nơi cho máy chủ LDAP của bạn.

sudo apt-get install phpldapadmin (đó là lý do tại sao tôi cài đặt apache2, công cụ web của nó)

Bây giờ bạn có hai bước:

biên tập

 /etc/ldap/ldap.conf

thêm: chỉnh sửa

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

sau đó: chỉnh sửa /etc/phpldapadmin/config.php

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Chỉ cần chỉnh sửa Ip và tên miền của bạn.

Mở trình duyệt của bạn:

yourIp / phpldapadmin

Nhập mật khẩu quản trị viên mà bạn nhập khi cài đặt sldap.

Bây giờ bạn kết nối với cơ sở dữ liệu ldap. chọn tên miền ----> ở bên phải thêm Nhóm Posix chung ----> sau đó chọn nhóm và Tạo mục nhập con Thêm tài khoản người dùng chung để kiểm tra.

nhập mô tả hình ảnh ở đây

Trợ giúp thêm sử dụng phpldapadmin Tại đây

Thứ năm :

Bây giờ là lúc để cấu hình Inspircd:

chỉnh sửa: /etc/inspircd/inspircd.conf bạn cần tải mô-đun ldapauth và trỏ đến máy chủ ldap của bạn,

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

Bạn cũng nên thêm tên máy chủ irc và tên quản trị viên và tùy chọn khác trong

/etc/inspircd/inspircd.conf 

Hướng dẫn này sẽ giúp bạn: Hướng dẫn

Cuối cùng :

Khởi động lại slapd, Inspircd và cố gắng kết nối là người dùng bạn đã thực hiện.

Lưu ý thay đổi vì nó phù hợp với nhu cầu của bạn, cấu hình này cả irc và ldap đều là cùng một máy chủ.

Hy vọng nó sẽ giúp bạn vì tôi không nghĩ có tài liệu chính thức nào có thể đơn giản như của tôi.


2

Nếu bạn thực sự muốn IRCd thực hiện xác thực, tôi sẽ đề xuất InspIRCd .

Nó có một mô-đun ldapauth, nhưng bạn cần phải tự biên dịch nó với

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

Một cấu hình ví dụ về cách sử dụng LDAP trong một tệp cấu hình ví dụ .

Lưu ý rằng mô-đun này là thử nghiệm. Và tệp cấu hình (và mã nguồn) là tất cả tài liệu bạn nhận được cho mô-đun đó.

Chỉnh sửa: Sau khi đọc một chút mã, tôi sẽ cố gắng giải thích cách hoạt động của nó:

  • Đầu tiên, nó liên kết với máy chủ ldap với thông tin đăng nhập bạn đã chỉ định trong cấu hình.
  • Nó tìm kiếm người dùng trong đó thuộc tính mà bạn đã chỉ định trong cấu hình bằng với nick của người dùng kết nối.
  • Nó cố gắng xác thực dn tìm thấy bằng mật khẩu mà người dùng được cung cấp khi kết nối (thông qua PASS, có thể được cấu hình trong cấu hình máy chủ trên hầu hết các máy khách).

Nếu bất kỳ bước nào thất bại, người dùng sẽ bị ngắt kết nối mạng / máy chủ. Tôi hy vọng đó là những gì bạn cần (người dùng chưa được xác thực không thể kết nối).

Đối với cấu hình, có một khái niệm về cơ sở dữ liệu. LDAP được sử dụng ở đây giống như một cơ sở dữ liệu. Trước tiên, bạn xác định cơ sở dữ liệu (máy chủ LDAP, thông tin đăng nhập cho máy chủ LDAP ...) và sử dụng sau này cho một hoặc nhiều mục đích, ví dụ: xác thực người dùng, xác thực hoạt động ...

Hoặc nói một cách đơn giản: Các giá trị mặc định rõ ràng là sai hoặc mặc định tốt.

Chỉnh sửa : Những gì bạn muốn rơi vào miền dịch vụ IRC. Mặc dù InspIRCd có thể cung cấp các dịch vụ cơ bản, bạn cần phải viết mã riêng để làm cho nó hoạt động như bạn muốn.


1

Bạn chưa chỉ định IRCd nào sẽ sử dụng và thực sự đã yêu cầu nó.

Vì thế; đây là một ví dụ cho cấu hình LDAP cho InspIRCd .

Đối với một danh sách đầy đủ của IRCds; bạn có thể xem So sánh các trình nền Trò chuyện Rơle Internet trong đó tất cả ngoại trừ hai, đều hỗ trợ Linux.

và cuối cùng trong Bảng này ; bạn có thể tìm thấy cái nào thực sự hỗ trợ Xác thực LDAP.

Mong rằng sẽ giúp bạn trong quyết định của bạn.


Tôi nêu trong câu trả lời của mình một máy chủ irc được gắn cờ để hỗ trợ phụ trợ ldap
nux

@nux Trên thực tế tôi đã bao gồm một bảng có nhiều máy chủ IRCd hỗ trợ LDAP và để lại quyết định cho jrg .. đó là một câu hỏi dựa trên ý kiến ​​yêu cầu lời khuyên sau tất cả :)
Ahmadgeo

yup với bạn, tôi chọn phiên bản đó bởi vì nó có thể được tải xuống từ một kho lưu trữ chính thức với tất cả các phụ thuộc của nó
nux
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.