Modun pam_ldap

Một phần của tài liệu Đồ án tin học nghiên cứu về giao thức LDAP (Trang 78)

Pluggable Authentication Modules (PAM) có vai trò như các thư viện chia sẻ ,các ứng dụng từ chi tiết của tài khoản lưu trữ dữ liệu, cơ chế sử dụng đến việc xác thực người dùng,quy trình cấp phép dịch vụ. PADL Software đã phát triển một module pam_ldap, được hỗ trợ trên FreeBSD, HP-UX, Linux, Mac OS 10.2, và Solaris. Module này cho phép bạn tận dụng lợi thế của LDAP trong

Các mô-đun pam_ldap cài đặt cấu hình của nó trong một tập tin văn bản. File này được đặt tên là ldap.conf ,mặc định và thường được lưu trữ trong thư mục / etc. Các thông số cấu hình bạn có thể đặt trong tập tin này được tóm tắt trong Bảng 6-1 Bảng 6-2, và Bảng 6-3

Các thông số cấu hình gồm có

Table 6-1. ldap.conf parameters shared by pam_ldap and nss_ldap

Parameter Description

host

The IP address (or hostname) of the LDAP server. The value must be resolvable without LDAP support. If a host is not specified, the nss_ldap library will attempt to locate an LDAP server by querying DNS for an SRV record for

_ldap._tcp.<domain>. The current version of the pam_ldap module (v157) will not perform this auto-lookup, but support is planned for a future release. Also refer to the uri parameter.

base The base DN to use in searches.

ldap_versionThe version of LDAP to use when querying the server. Legal values are 2 and 3. Version 3 is used by default if it is supported by the client libraries. binddn The DN to use when binding to the LDAP server. This is an optional parameter; it is necessary when access control on directory entries prohibits anonymous

searches.

bindpw The password used when binding to the LDAP server (if the binddn was defined). port The port to use when contacting the LDAP server. The default is port 389. Also refer to the uri parameter.

rootbinddn

This parameter allows you to map the effective UID 0 (i.e., the root UID) to a DN that is used to bind to the LDAP server. If enabled, the password for this DN is read from /etc/ldap.secret. This follows the convention that the root account should be able to access all information on the system.

ssl

This parameter defines the behavior of the PAM and NSS modules for negotiating SSL when binding to the server. By default, SSL is not used. The client can be configured to use LDAPS by setting this parameter to on, or to use the StartTLS Extended command by setting this parameter to start_tls.

scope The scope to use when searching the LDAP tree. The possible values are sub, one, and base. uri This option accepts an LDAP URI defining the host and port of the directory server.

Table 6-2. pam_ldap ldap.conf parameters

Parameter Description

pam_check_host_attr A Boolean parameter (defaults to no) that controls checking of the host attribute when authorizing a login.

pam_filter

A string that provides additional filter elements that are ANDed with (uid=%s) when attempting to validate a user. See the

pam_login_attribute parameter for related information. pam_login_attribute

The attribute that should be matched against the user's login name. This parameter lets you use something other than a simple username for authentication—for example, an email address.

pam_lookup_policy

A Boolean parameter (yes or no) that tells pam_ldap whether to contact the root DSE to get the server's password policy. For use with Netscape's directory server 3.x only.

pam_groupdn

Defines the DN of a group whose membership (see the

pam_member_attribute parameter) should be used to to restrict access to the local host.

pam_member_attribute Defines the group membership attribute. pam_min_uid

pam_max_uid

These two parameters accept an integer representing the minimum and maximun uidNumber values allowed to log in. The default is to place no restrictions on logins.

pam_password

This parameter defines various methods for changing passwords on LDAP servers. It supersedes the older pam_crypt, pam_nds_passwd, and pam_ad_passwd parameters. Possible values include: clear (the default; sends the clear text of the password to the server), crypt (hashes the password locally using the standard crypt( ) function before sending the change to the server), md5 (generates the MD5 hash of the password locally before sending it to the server), nds, racf (provides support for changing passwords stored in a Novell Directory Server), ad (provides support for changing passwords stored in an Active Directory server), and exop (supports the Password Modify extended operation defined in RFC 3062; implemented by OpenLDAP).

Table 6-3. nss_ldap ldap.conf parameters

nss_base_shadow nss_base_passwd nss_base_group nss_base_hosts nss_base_services nss_base_networks nss_base_protocols nss_base_rpc nss_base_ethers nss_base_netmasks nss_base_aliases nss_base_netgroup

These parameters allow the naming contexts for various databases in

nsswitch.conf to be configured as per the recommendations from the RFC

2307 updates. The syntax is: nss_base_XXX base?scope?filter

The filter is combined with the default filter for the object being requested using a logical AND (&). These parameters are available only when nss_ldap has been configured to use the —enable-rfc2307bis option at compile time.

nss_map_attribute nss_map_objectclass

These parameters provide a means of mapping attributes and object classes returned from the directory server to an RFC 2307-equivalent schema item. The syntax is:

nss_map_XX rfc2307item mapped_item

Các mô-đun pam_ldap phải có khả năng xác định vị trí các máy chủ thư mục để truy vấn thông tin. Có hai cách mà các mô-đun có thể xác định vị trí các máy chủ thư mục. Phương pháp duy nhất được hỗ trợ bởi pam_ldap là chỉ định rõ ràng các máy chủ LDAP bằng cách sử dụng các máy chủ hoặc các thông số uri trong ldap.conf. Cách thứ 2, sử dụng thư viện nss_ldap, là bỏ qua các tham số máy chủ và tạo ra một bản ghi DNS SRV mà bản đồ hóa các tên của host _ldap._tcp <domain> đến một địa chỉ IP. Nếu máy chủ không được quy định cụ thể trong ldap.conf, thư viện nss_ldap cố gắng tìm kiếm một máy chủ với tên máy đặc biệt này và sử dụng máy chủ tại địa chỉ đó cho các truy vấn

Các thông số sau đây hướng dẫn pam_ldap liên lạc với ldap.plainjoe.org lưu trữ trên cổng mặc định 389 cho tất cả các truy vấn LDAPv3 :

# Your LDAP server. Must be resolvable without using LDAP. uri ldap://ldap.plainjoe.org/

## Set the version number for LDAP commands. The default is to use Version 3 if ## supported by the client libraries.

ldap_version 3

Tiếp theo,xác định các thông số tìm kiếm cho pam_ldap để sử dụng khi truy vấn các thư mục. Các đoạn sau đây của ldap.conf xác định cơ sở tìm kiếm, phạm vi tìm kiếm, và thời gian giới hạn tối đa:

## Define the search base base dc=plainjoe,dc=org

## Define the scope of the search [sub|base|one]. A subtree search is the default. scope sub

## Set a time limit in seconds to wait on a search. timelimit 30

Các DN của người sử dụng phải được đặt theo thứ tự liên kết với thư mục thay mặt cho người sử dụng và do đó thực hiện việc được yêu cầu chứng thực . Việc tìm kiếm này có thể được thực hiện nặc danh hoặc bằng cách sử dụng một binddn được xác định trước và bindpw. Chuỗi bindpw phải được lưu trong ldap.conf như văn bản rõ ràng.

Cuối cùng, thêm một vài thông số để tinh chỉnh bộ lọc tìm kiếm. pam_login_attribute định nghĩa thuộc tính nên được kết hợp với tên đăng nhập của người sử dụng. pam_filter cho phép một quản trị viên tiếp tục tinh chỉnh các bộ lọc tìm kiếm khi cố gắng xác định vị trí tài khoản người dùng. Trong các mục tập tin cấu hình sau đây, nó được quy định cụ thể tên đăng nhập của người sử dụng nên được so sánh với UID thuộc tính được định nghĩa trong lớp đối tượng posixAccount. (Lưu ý rằng một UID trong lược đồ này là một tên đăng nhập, không phải là số, như trong việc sử dụng Unix thông thường).

## Define the user login name attribute (defaults to uid). pam_login_attribute uid

## The following filter will be used to AND with <pam_login_attribute>=%s. pam_filter objectclass=posixAccount

Với hai thiết lập, thư viện pam_ldap làm việc tìm kiếm sau đây để xác minh rằng một tài khoản người dùng có tên là "carter" trong thư mục:

(&(objectClass=posixAccount)(uid=gcarter))

Sau khi xác minh sự tồn tại của các DN, các mô-đun PAM cố gắng để liên kết với các thư mục bằng cách sử dụng các DN và mật khẩu được nhập vào bởi người sử dụng. Nếu liên kết này thành công, pam_ldap thông báo ứng dụng được gọi mà người dùng đã được chứng thực thành công.

Một phần của tài liệu Đồ án tin học nghiên cứu về giao thức LDAP (Trang 78)

Tải bản đầy đủ (DOCX)

(188 trang)
w