Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.36 MB, 188 trang )
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
[1] Hoạt động thư mục có thể được mô tả như là một dịch vụ thư mục operating system
(NOS) mạng sử dụng LDAPv3 như giao thức truy nhập chính và, cùng với Kerberos 5, các
mảnh lớn của Microsoft lớn hơn tên miền cơ sở hạ tầng mô hình. Như vậy trong khi nó có
thể sử dụng thư mục hoạt động như một vani LDAP directory dịch vụ, tôi đã không bao giờ
gặp một mạng sử dụng Active Directory mà không có một nhu cầu cụ thể cho hội nhập với
các công nghệ khác của Microsoft. Thêm thông tin về hoạt động thư mục có thể được tìm
thấy tại http://www.microsoft.com/ad và Windows 2000 Active Directory Services
(O'Reilly).
Đa nền tảng xác thực là Chén Thánh cho nhiều quản trị viên, không chỉ những người đối phó
với hệ điều hành Microsoft. Của Novell eDirectory (chính thức gọi là NDS) có sẵn trên nhiều
nền tảng, như Windows, Linux và Solaris. Novell cung cấp công cụ như là một mô-đun PAM
cho NDS tích hợp dịch vụ xác thực máy chủ với thư mục của họ. Tuy nhiên, trong khi
Microsoft cung cấp một số công cụ và mẫu mã nguồn cho việc tích hợp Unix khách hàng vào
một
tên
miền
Active
Directory
(http://msdn.microsoft.com/library/enus/dnactdir/html/kerberossamp.asp), hiện nay là không có cách nào để thực hiện một tên
miền Active Directory bằng cách sử dụng các máy chủ không phải của Microsoft và các công
nghệ.
Trong tất cả sự công bằng, của Microsoft cung cấp nhỏ của gói cho các máy chủ Unix không
ngăn Unix khách hàng sử dụng các người dùng và nhóm thông trương mục tin được lưu trữ
trong một tên miền Active Directory. Có ít nhất ba phương pháp cho việc sử dụng Active
Directory để xác thực Unix yêu cầu:
Cửa ngõ NIS/Active Directory được bao gồm trong gói phần mềm "Dịch vụ cho UNIX" của
Microsoft cho phép Unix khách hàng để truy cập thông tin được lưu trữ trong Active
Directory. Chúng tôi thảo luận về sản phẩm này một thời gian ngắn trong phần trước.
PADL của PAM và NSS LDAP thư viện có thể hoạt động như một máy chủ proxy giữa dịch
vụ Unix và Active Directory. Các mô-đun bản đồ thuộc tính và các lớp học đối tượng được
lưu trữ trong Active Directory để một cái gì đó phù hợp hơn cho tiêu thụ bởi các ứng dụng
Unix.
Chương 9
135
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Hoạt động thư mục tên miền sử dụng Kerberos 5 cho chứng thực người dùng. Khả năng
tương tác giữa hiện thực của Kerberos trên Windows và các nền tảng khác là tốt hơn là bạn
có thể mong đợi, nhưng có lẽ không tốt như bạn sẽ hy vọng.
Phần còn lại của tiết đoạn này sẽ kiểm tra giải pháp PAM/NSS sâu. Vào cuối phần này, chúng
tôi sẽ thảo luận về cách sử dụng Kerberos để tăng cường khả năng tương tác giữa
OpenLDAP và Active Directory. Các ví dụ sử dụng một tên miền Active Directory duy nhất
với tên ad.plainjoe.org bằng cách sử dụng các tùy chọn mặc định được cung cấp bởi tiến
trình cài đặt dcpromo. Tên miền của nó là bối cảnh đặt tên miền là dc = quảng cáo, dc =
plainjoe, dc = org.
Chương 6 bảo hiểm làm thế nào để cài đặt và cấu hình các thư viện PADL với hệ phục vụ
OpenLDAP hỗ trợ giản đồ RFC 2307 (NIS). Bằng cách sử dụng các mô-đun để truy cập
thông tin tổ chức bởi một máy chủ Active Directory là gần như giống nhau. Thư viện
pam_ldap yêu cầu không có tùy chọn thêm trình biên dịch để hỗ trợ Active Directory. Những
thay đổi này chỉ duy nhất để tập tin cấu hình của mô-đun.
Các trích đoạn sau đây từ /etc/ldap.conf cung cấp mô-đun với các thông tin cần thiết để liên
lạc với các máy chủ Active Directory. Đối với những người không quen thuộc với không gian
tên Active Directory, theo mặc định tất cả người dùng và nhóm được lưu trữ trong cn = thùng
chứa dùng ngay bên dưới mục nhập cấp cao nhất trong các tên miền. Vì vậy, nếu các thùng
chứa mặc định được sử dụng, mức một tìm kiếm, bắt đầu từ cn = người dùng, dc = quảng
cáo, dc = plainjoe, dc = org nên là đủ để xác định vị trí bất kỳ người dùng hoặc nhóm trong
một tên miền Active Directory:
## /etc/ldap.conf for PADL pam_ldap and nss_ldap libraries
##
## Define the hostname of the Windows Domain Controller to contact.
host
windc.ad.plainjoe.org
## Active Directory does support LDAPv2, but make v3 the default.
Chương 9
136
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
ldap_version
GVHD: TS. Lưu Thanh Trà
3
## Users and groups are stored one level below this entry in the directory.
base
cn=users,dc=ad,dc=plainjoe,dc=org
scope
one
Với một cài đặt mặc định, thư viện PAM tìm kiếm thư mục bằng cách sử dụng các bộ lọc (&
(objectclass=posixAccount)(uid=%s)), trong đó %s được mở rộng để đăng nhập tên nhập bởi
người sử dụng. Theo mặc định, thư mục hoạt động không hỗ trợ posixAccount đối tượng lớp
hoặc các thuộc tính uid. Để làm việc xung quanh này, bạn cần phải phát triển một bộ lọc tìm
kiếm khác nhau mà thành công có thể xác định người sử dụng trong một tên miền Active
Directory.
Tài khoản người dùng Active Directory được đại diện bởi người sử dụng đối tượng lớp; tên
đăng nhập được lưu trữ với các thuộc tính sAMAccountName. Vì vậy, một bộ lọc thích hợp
cho ứng dụng này là (& (objectclass=user)(sAMAccountName=%s)), và bạn có thể áp dụng
bộ lọc này bằng cách thiết lập các thông số pam_filter và pam_login_attribute như sau:
pam_filter
(objectclass=user)
pam_login_attribute sAMAccountName
Cuối cùng, bạn phải nói cho pam_ldap làm thế nào để thay đổi mật khẩu của người dùng
trong Active Directory. Thư viện pam_ldap cung cấp hỗ trợ cho việc thay đổi mật khẩu trong
một loạt các máy chủ thư mục, bao gồm cả máy chủ SunOne, mật khẩu sửa đổi mở rộng hoạt
động (RFC 3062), của Novell NDS và của Microsoft Active Directory. Các tham số
pam_password quyết định cơ chế nào được chọn. Bằng cách xác định thay đổi mật khẩu
quảng cáo cơ chế, bạn cho phép người dùng để cập nhật mật khẩu Windows của họ bằng
cách sử dụng một ứng dụng PAM, nhận thức như của Linux /usr/bin/passwd:
pam_password
Chương 9
ad
137
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Lưu ý rằng cài đặt này không ảnh hưởng đến cách thực tế xác thực được thực hiện; Chương 6
mô tả quá trình xác thực. Để tóm tắt, thư viện PAM thực hiện các bước sau:
+ Nó yêu cầu một mục phù hợp với các bộ lọc tìm kiếm từ các máy chủ thư mục.
+ Nó cố gắng liên kết với các máy chủ thư mục bằng cách sử dụng DN nhập cảnh quay trở
lại và các văn bản rõ ràng của mật khẩu.
Bước 1 là một vấn đề vì mặc định thư mục hoạt động không cho phép LDAP khách hàng để
thực hiện tìm kiếm vô danh cho người sử dụng hoặc thông tin tài khoản nhóm. Có một số
cách xung quanh vấn đề này. Một giải pháp là để xác định giá trị cho các tham số binddn và
bindpw trong /etc/ldap.conf. Bởi vì tranh phải là có thể đọc mọi người sử dụng trên hệ thống,
thông tin đăng nhập tài khoản lưu trữ trong tập tin cấu hình sẽ được tiếp xúc với bất cứ ai có
thể đăng nhập vào máy chủ. Bạn sẽ phải là thẩm phán của như thế nào mối quan tâm bảo mật
này sẽ tác động đến mạng lưới của bạn. Một giải pháp thứ hai là cho phép tìm kiếm vô danh
của thuộc tính cụ thể trong Active Directory. Điều này có tác dụng tương tự vào pam_ldap
như xác định một tài khoản để sử dụng khi tìm kiếm các tên miền Active Directory, nhưng
bây giờ mọi người có thể tìm kiếm các tên người dùng bằng cách sử dụng cơ bản LDAP yêu
cầu. Tôi sẽ bao gồm cả hai phương pháp vì lợi ích của sự hoàn chỉnh, mặc dù cho phép khách
truy cập vào thư mục hoạt động thường tránh bằng cách người quản trị.
Để tiện cho các danh sách kiểm soát truy cập người dùng và nhóm trong Active Directory,
khởi chạy công cụ quản trị người dùng thư mục hoạt động và máy tính. Xem thuộc tính của
tập chứa người dùng, nhấp chuột phải vào biểu tượng người dùng và chọn Properties... từ
trình đơn xuất hiện (xem hình 9-1).
Hình 9-1. Sửa đổi ACL vào các thùng chứa dùng để cho phép chưa xác định người tìm kiếm
của người dùng và nhóm tên
Chương 9
138
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Tiếp theo, di chuyển đến tab bảo mật của hộp thoại kết quả và chọn nút chuyên sâu. Bạn cần
phải thêm ba mục vào danh sách điều khiển truy cập, như được hiển thị trong hình 9-2:
Tất cả nhóm đòi hỏi sự cho phép nội dung danh sách trên người dùng thùng chứa chính nó.
Tất cả nhóm đòi hỏi khả năng đọc thuộc tính nhất định của người sử dụng các đối tượng.
Quyền này nên áp dụng cho người sử dụng container và tất cả trẻ em của nó.
Tất cả mọi người trong nhóm đòi hỏi khả năng đọc thuộc tính nhất định các nhóm đối tượng.
Quyền này nên áp dụng cho người sử dụng container và tất cả trẻ em của nó.
Hình 9-2. Cho phép tất cả mọi người trong nhóm truy cập để đọc thuộc tính người dùng
Chương 9
139
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Để đơn giản hóa tập thể dục này, tất cả nhóm đã được trao quyền đọc tất cả các tài sản cho
một người sử dụng. Danh sách này có thể được rút ngắn để các thuộc tính mà soạn một mục
trong tập tin passwd(5) (mật khẩu thực tế là không cần thiết). Một lần nữa, bạn sẽ phải thẩm
phán cho dù điều này phù hợp trong ranh giới của các chính sách bảo mật mạng của bạn. Lưu
ý rằng đọc tất cả các thuộc tính không bao gồm quyền đọc mật khẩu của người dùng vô danh.
Cho phép khách truy cập thường xuyên lá một hương vị xấu trong miệng của các quản trị
viên Active Directory. Do bạn nên chọn để sử dụng trương mục tên là padl để tìm kiếm thư
mục. Trương mục người dùng này đã được tạo ra bằng cách sử dụng bình thường có nghĩa là
với mặc định của chính sách an ninh. Bây giờ, bạn phải thêm các chỉ thị trong ldap.conf cho
liên kết đến máy chủ Active Directory:
## Bind as the user padl in the ad.plainjoe.org domain
binddn
cn=padl,cn=Users,dc=ad,dc=plainjoe,dc=org
bindpw
padl-secret
Bây giờ mà pam_ldap có thể xác định vị trí DN tài khoản bằng cách sử dụng tìm kiếm dựa
trên các thuộc tính sAMAccountName, đó là thời gian để chuyển sang vấn đề thứ hai: thư
viện PAM hiện đang gửi các chứng chỉ người dùng (và binddn) trong văn bản rõ ràng. Các
giải pháp hiển nhiên cho vấn đề này là sử dụng SSL để bảo đảm thông tin trong quá cảnh.
Chương 9
140
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Thư mục hoạt động trên một máy chủ Windows 2000 không thực hiện StartTLS mở rộng
hoạt động cho đàm phán một lớp an toàn giao thông vận tải, [2] nhưng nó hỗ trợ giao thức
LDAPS trên cổng 636. Có hai điều kiện tiên quyết cho việc thực hiện giải pháp này:
[2] Việc phát hành Windows 2003 Server do trong tháng 4 năm 2003 báo cáo hỗ trợ phần mở
rộng StartTLS.
Hệ phục vụ Windows Active Directory phải hỗ trợ mã hóa 128-bit. Nếu bạn đang sử dụng
Windows 2000, bạn có thể được mã hóa 128-bit bằng cách cài đặt các phiên bản cao mật mã
của
service
pack
mới
nhất.
Xem
http://www.microsoft.com/windows2000/downloads/servicepacks/ để biết chi tiết về việc lấy
và cài đặt bản cập nhật Windows 2000.
Các máy chủ Active Directory phải đã được cấp một giấy chứng nhận kỹ thuật số. Mạng của
chúng tôi sẽ sử dụng các giấy chứng nhận Authority (CA) đi kèm với Windows 2000
Advanced Server OS. Để biết thêm chi tiết về cài đặt Windows 2000 giấy chứng nhận quyền,
xem
2000
tài
nguyên
bộ
Windows
trực
tuyến
tại
http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp.
Sau khi hệ phục vụ thư mục đã được cấu hình để hỗ trợ LDAPS, hãy thêm những dòng để
/etc/ldap.conf:
## Instruct pam_ldap and nss_ldap to use LDAPS when connecting to the directory.
ssl
on
port
636
Theo mặc định, pam_ldap không xác minh chứng chỉ máy chủ LDAP (xem các tham số
tls_checkpeer từ chương 6). Cho các mục đích của chúng tôi, đó là chấp nhận được
Tại thời điểm này, khách hàng Unix có khả năng có thể xác nhận yêu cầu kết nối cho một
PAM kích hoạt dịch vụ bằng cách sử dụng Active Directory. Tuy nhiên, như chúng ta đã thấy
trong chương 6, PAM và NSS giải pháp được thực thường hiện cùng nhau. Tiếp theo, bạn
phải cấu hình mô-đun nss_ldap truy xuất thông tin tài khoản Unix từ Active Directory, kết
hợp với việc sử dụng pam_ldap cho xác thực. Vấn đề bạn phải đối phó với thời gian này là
rằng Active Directory không duy thường trì bất kỳ thuộc tính liên quan đến tài khoản Unix.
Chương 9
141
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Ngoại lệ cho quy tắc này là các máy chủ NIS bao gồm trong của Microsoft SFU. Để hỗ trợ
khách hàng NIS, SFU cài đặt sửa đổi lược đồ Active Directory để bao gồm các thuộc tính và
đối tượng lớp để lưu trữ các thông tin như người dùng Unix và nhóm định danh (số UIDs và
GIDs), đường dẫn thư mục kiểu Unix và Unix đăng nhập vỏ. Vì vậy, bạn có thể mở rộng
lược đồ Active Directory bằng cách cài đặt gói SFU, và nó sử dụng giản đồ cung cấp-ngay cả
khi bạn không có ý định sử dụng máy chủ NIS của Microsoft chính nó.
Cách tiếp cận khác là mở rộng lược đồ Active Directory cho mình. Sau khi tất cả, đó là thực
sự chỉ là một LDAPv3 máy chủ. Các plugin AD4Unix phát triển bởi CSS giải pháp
(http://www.css-solutions.ca/ad4unix/) cho phép bạn quản lý liên quan đến Unix thuộc tính
bằng cách sử dụng tiêu chuẩn giao diện "Hoạt động thư mục người sử dụng và máy tính"
Microsoft Management Console (MMC). Phần mở rộng MKSADExtPlugin được tự do phân
phối ở dạng nhị phân như một gói Windows Installer (MSI). Trình cài đặt sẽ cho bạn cơ hội
để nhập khẩu giản đồ SFU mà không cài đặt SFU chính nó.
Hoạt động thư mục chỉ định một bộ điều khiển vùng như thầy lược đồ; thay đổi lược đồ tất
cả phải diễn ra trên máy chủ này. Để cho trình cài đặt MKSADExtPlugin nhập khẩu thay đổi
lược đồ, hai điều kiện phải được đáp ứng:
Người dùng cố gắng cập nhật lược đồ phải là thành viên của nhóm quản trị viên Schema.
Điều khiển vùng phục vụ như Thạc sĩ Schema phải được cấu hình để cho phép thay đổi lược
đồ.
Theo mặc định, một cài đặt Windows 2000 Active Directory không cho phép giản đồ được
đổi; giới hạn này đã bị loại bỏ trong Windows 2003. Để thay đổi cài đặt này, bạn phải đăng
ký và mở "Lược đồ Active Directory" MMC snap-in. Để đăng ký-theo với hệ điều hành, thực
thi lệnh trên bộ điều khiển tên miền:
C:\WINNT\System32\> regsvr32.exe schmmgmt.dll
Lược đồ Active Directory snap-nên bây giờ nằm trong danh sách các mô-đun có sẵn cho
MMC. Sau khi mở ứng dụng MMC và thêm công cụ quản lý giản đồ, như được hiển thị trong
hình 9-3, có thể truy cập các cửa sổ hộp thoại thay đổi lược đồ Master bằng cách chọn các
Chương 9
142
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
hoạt động kinh doanh chủ... tùy chọn từ trình đơn ngữ cảnh nhấp chuột phải vào biểu tượng
lược đồ Active Directory. Đánh dấu vào ô đó sẽ xác định cho dù giản đồ có thể được sửa đổi.
Hình 9-3. Bằng cách sử dụng "Lược đồ Active Directory" MMC snap-in
Bây giờ mà máy chủ thư mục được cấu hình để truy cập vào giản đồ nhập khẩu, tiến trình
cài đặt MKSADExtPlugin có thể bắt đầu. Bạn có thể xem bài viết về các thành phần được
đăng ký thành công. Đây là những bình thường và có thể được bỏ qua một cách an toàn.
Khi trình cài đặt Windows đã hoàn tất, bạn sẽ thấy công cụ cấu hình để cài đặt chung của
MKSADExtPlugin trong menu bắt đầu. Ứng dụng này, được hiển thị trong hình 9-4, cho
phép bạn chỉ định một loạt các số UIDs và GIDs sẽ tự động được cấp phát cho người dùng
Active Directory và nhóm khi cần thiết. Các ID được cấp phát bởi-theo nhưng có thể được
đặt bằng tay. Lĩnh vực "Cho phép NIS" định nghĩa các thuộc tính syncNisDomain cho người
dùng. Thuộc tính này được cung cấp cho các máy chủ SFU NIS và là không cần thiết bởi
hoặc pam_ldap hoặc nss_ldap. Tuy nhiên, trừ khi một người dùng được đặt trong một trong
các lĩnh vực NIS được liệt kê, các thuộc tính Unix còn lại sẽ không có sẵn, như được hiển thị
trong hộp thoại thuộc tính người dùng trong hình 9-5.
Hình 9-4. Việc áp dụng cấu hình AD4Unix
Chương 9
143
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Hình 9-5. Truy cập vào các cài đặt Unix một tài khoản người dùng từ the MMC snap-in
Chương 9
144
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng
Giao thức LDAP
GVHD: TS. Lưu Thanh Trà
Quay về phía Unix, thư viện NSS có thể xử lý giản đồ AD/SFU chỉ khi nó được biên dịch với
các — cho phép lược đồ-bản đồ tùy chọn. Các — tùy chọn cho phép-rfc2307bis thường
xuyên được sử dụng kết hợp với bản đồ giản đồ để xác định cá nhân hậu tố cho các cơ sở dữ
liệu NSS khác nhau chẳng hạn như passwd và netgroup. Các bước cài đặt bây giờ trở thành:
$ ./configure --enable-schema-mapping --enable-rfc2307bis
$ make
$ /bin/su -c "make install"
Các tập tin /etc/nsswitch.conf nên bao gồm các thiết lập được sử dụng trong các cuộc thảo
luận trước đó của nss_ldap (xem chương 6):
## Portion of /etc/nsswitch.conf needed to support LDAP lookups in AD
passwd: files ldap
shadow: files ldap
Chương 9
145
Lê Tiến Cường – Nguyễn Minh Đức
Lê Thạch Giang- Hoàng Ngọc Hưng