Ldap Là Gì? Thông Tin Chi Tiết Về Ldap Dân Kỹ Thuật Cần Biết

I. GIỚI THIỆU

1. LDAP là gì

LDAP là chữ viết tắt của Lightweight Directory Access Protocol. LDAP trở nên tân tiến dựa trên chuẩn chỉnh X500. Đây là chuẩn chỉnh cho dịch vụ thư mục (Directory Service - DS) chạy trên nền tảng gốc rễ OSI.

Bạn đang xem: Ldap là gì? thông tin chi tiết về ldap dân kỹ thuật cần biết

LDAP được xem như là lightweight vì chưng LDAP áp dụng gói tin overhead thấp, được xác định đúng mực trên lớp TCP của danh sách giao thức TCP/IP (các dịch vụ hướng kết nối) còn X500 là heavyweight do là lớp giao thức ứng dụng, chứa được nhiều header rộng (các header của các layer tầng phải chăng hơn)

*

X.500 thông qua mô hình OSI – LDAP trải qua TCP/IP

LDAP chỉ với giao thức, không cung cấp xử lý như cơ sở dữ liệu. Cơ mà nó đề xuất một nơi lưu trữ backend cùng xử lý dữ liệu tại đó. Vì chưng vậy nhưng mà LDAP client liên kết tới LDAP hệ thống theo mô hình sau:

*

**Mối quan hệ giới tính giữa LDAP client, LDAP hệ thống và vị trí chứa dữ liệu **

LDAP là giao thức truy cập vì vậy nó theo mô hình dạng cây (Directory Information Tree). LDAP là giao thức truy cập dạng client/server.

*

Thư mục dạng cây của LDAP

2. Phương thức hoạt động của LDAP

LDAP hoạt động theo quy mô client-server. Một hoặc những LDAP server chứa thông tin về cây folder (Directory Information Tree – DIT). Client liên kết đến server cùng gửi yêu thương cầu. Hệ thống phản hồi bằng chính nó hoặc trỏ tới LDAP vps khác nhằm client rước thông tin. Trình tự khi có kết nối với LDAP:

Connect (kết nối với LDAP): client mở kết nối tới LDAP serverBind (kiểu kết nối: nặc danh hoặc đăng nhập xác thực): client gửi tin tức xác thựcSearch (tìm kiếm): client gửi yêu mong tìm kiếmInterpret search (xử lý tra cứu kiếm): server triển khai xử lý tìm kiếmResult (kết quả): vps trả lại công dụng cho clientUnbind: client gởi yêu cầu đóng liên kết tới serverClose connection (đóng kết nối): đóng liên kết từ server

*

Tiến trình vận động trao đổi LDAP client/server

3. Database backend của LDAP

Slapd là một trong “LDAP directory server” hoàn toàn có thể chạy trên nhiều platform không giống nhau. Bạn cũng có thể sử dụng nó để cung cấp những thương mại & dịch vụ của riêng biệt mình. Những tuấn kiệt mà slapd cung cấp:

LDAPv3: slapd cung cấp LDAP cả IPv4, IPv6 với Unix IPC.Simple Authentication and Security Layer: slapd cung ứng mạnh mẽ chứng thực và bảo mật thông tin dữ liệu dịch vụ thương mại bằng SASLTransport Layer Security: slapd cung cấp sử dụng TLS tốt SSL.

2 database nhưng SLAPD thực hiện để lưu trữ dữ liệu hiện tại là bdb với hdb. BDB áp dụng Oracle Berkeley DB để tàng trữ dữ liệu. Nó được đề nghị sử dụng làm database backend chính cho SLAPD thông thường. HDB là cũng giống như như BDB mà lại nó thực hiện database phân cấp cho nên cung cấp cơ sỡ dữ liệu dạng cây. HDB thường được khoác định thông số kỹ thuật trong SLAPD hiện tại nay.

4. Lưu giữ trữ thông tin của LDAP

Ldif (LDAP Data Interchange Format) là một chuẩn chỉnh định dang tệp tin text tàng trữ thông tin cấu hình LDAP và văn bản thư mục. Tệp tin LDIF thường dùng làm import tài liệu mới vào trong directory hoặc biến hóa dữ liệu vẫn có. Dữ liệu trong tệp tin LDIF phải tuân theo quy luật gồm trong schema của LDAP.

Schema là loại dữ liệu được tư tưởng từ trước. đầy đủ thành phần được chế tạo hoặc chuyển đổi trong directory của bạn sẽ được bình chọn lại trong schema để bảo đảm an toàn chính xác.

4.1. Cấu trúc tập tin LDIF

Thông thường tệp tin LDIF sẽ sở hữu được mẫu sau:Mỗi tập entry khác biệt được phân làn bởi loại trắng“tên trực thuộc tính: giá trị”Một tập hướng dẫn cú pháp để triển khai sao cách xử lý thông tinNhững yêu ước khi khai báo LDIF:Lời ghi chú được gõ sau vệt # trong một dòngThuộc tính được liệt kê bên trái dấu “:” và quý hiếm được màn trình diễn bên phải.Thuộc tính dn định nghĩa duy nhất cho 1 DN khẳng định trong entry đó.

Ví dụ: tin tức của OU, people, các thư mục bên phía trong Distinguished Name framgia.com tin tức LDAP thể hiện theo mô hình cây o: framgia.com

ou: People

└── ou: IT └──uid: cuongtvou: Server

File LDIF lưu lại thông tin: -----------------------------------------------------------------------------------

dn: o=framgia.com

objectclass: top

objectclass: organization

o: framgia.com

dn: ou=People,o=framgia.com

objectclass: organizationalUnit

ou: People

dn: ou=Server, o=framgia.com

objectclass: organizationalUnit

ou: Server

dn: ou=IT, ou=People, o=framgia.com

objectclass: organizationalUnit

ou: IT

dn: cn=cuongtv, ou=IT, ou=People, o=framgia.com

objectclass: top

objectclass: organizationalPerson

cn: cuongtv

sn: tran

givenname: cuong

uid: cuongtv

ou: IT

4.2. Entry là gì

Một entry là tập hợp của các thuộc tính, từng thuộc tính này diễn đạt một nét để trưng tiêu biểu vượt trội của một đối tượng. Một entry bao hàm nhiều dòng

DN : distinguished name - là tên gọi của entry thư mục, tất cả được viết bên trên một dòng.Sau kia lần lượt là các thuộc tính của entry, trực thuộc tính dùng để làm lưu duy trì dữ liệu. Mỗi thuộc tính trên một cái theo format là “kiểu nằm trong tính : quý hiếm thuộc tính”.

Một số các thuộc tính cơ phiên bản trong file Ldif:

STTTênMô tả
1dnDistinguished Name : tên thường gọi phân biệt
2ccountry – 2 kí từ bỏ viết tắt thương hiệu của một nước
3oorganization – tổ chức
4ouorganization unit – đơn vị tổ chức
5objectClassMỗi giá trị objectClass vận động như một khuôn mẫu cho những dữ liệu được gìn giữ trong một entry. Nó có mang một bộ những thuộc tính đề xuất được trình diễn trong entry (Ví dụ: entry này có giá trị của nằm trong tính objectClass là eperson, nhưng mà trong eperson có quy định cần có các nằm trong tính là tên, email, uid ,…thì entry này sẽ sở hữu các trực thuộc tính đó)
6givenNameTên
7uidid người dùng
8cncommon name – tên hay gọi
9telephoneNumbersố điện thoại
10snsurname – họ
11userPasswordmật khẩu người dùng
12mailđịa chỉ email
13facsimileTelephoneNumbersố phách
14createTimestampthời gian tạo thành entry này
15creatorsNametên người tạo ra entry này
16pwdChangedTimethời gian biến hóa mật khẩu
17entryUUIDid của entry
II. Quy mô LDAP

LDAP chia ra 4 mô hình:

Mô hình LDAP information - xác định cấu trúc và điểm lưu ý của tin tức trong thư mục.Mô hình LDAP Naming - xác minh cách những thông tin được tham chiếu cùng tổ chức.Mô hình LDAP Functional - định nghĩa cách mà bạn truy vấn và cập nhật thông tin trong thư mục của bạn.Mô hình LDAP Security - định nghĩa ra cách tin tức trong thư mục của người sử dụng được bảo vệ tránh các truy cập không được phép.

1. Quy mô thông tin Ldap (LDAP information model)

Khái niệm

Mô hình LDAP Information tư tưởng ra các kiểu tài liệu và những thành phần tin tức cơ bản mà bạn cũng có thể chứa trong thư mục. Giỏi nó tế bào tả bí quyết xây dựng ra các khối dữ liệu mà chúng ta có thể sử dụng để tạo ra thư mục.

*

Mô hình tin tức Ldap

2. Mô hình đặt tên Ldap (LDAP naming model)

Khái niệm

Mô hình LDAP Naming tư tưởng ra bí quyết để chúng ta có thể sắp xếp cùng tham chiếu đến tài liệu của mình.Hay mô hình này tế bào tả cách sắp xếp các entry vào một kết cấu có logic, và quy mô LDAP Naming chỉ ra biện pháp để bạn có thể tham chiếu đến ngẫu nhiên một entry thư mục như thế nào nằm trong cấu tạo đó.Mô hình LDAP Naming cho phép bạn có thể đặt dữ liệu vào thư mục theo cách mà chúng ta có thể dễ dàng thống trị nhất.

Cách thu xếp dữ liệu

Ví dụ như chúng ta có thể tạo ra một container chứa tất cả các entry mô tả người trong một nhóm chức(o), cùng một container chứa tất cả các group của bạn, hoặc bạn có thể thiết kế entry theo mô hình phân cấp theo cấu tạo tổ chức của bạn. Bài toán thiết kế tốt cần phải bao gồm những nghiên cứu và phân tích thoả đáng.Ta rất có thể thấy rằng entry vào thư mục hoàn toàn có thể đồng thời là tập tin cùng là thư mục.

*

Một phần thư mục LDAP với các entry chứa thông tin

Giống như đường dẫn của hệ thống tập tin, thương hiệu của một entry LDAP được hình thành bằng cách nối toàn bộ các tên của từng entry cung cấp trên (cha) cho đến khi trở lên trên root.Như hình bên trên ta thấy node có màu đậm sẽ có tên là uid=cuongtv, ou=people, dc=framgia, dc=com, nếu họ đi trường đoản cú trái sang cần thì chúng ta có thể quay trái lại đỉnh của cây, bọn họ thấy rằng những thành phần riêng lẽ của cây được chia cách bởi vết “,”.Với bất kỳ một DN, nguyên tố trái tốt nhất được call là relative distingguished name (RDN), như sẽ nói dn là thương hiệu duy nhất cho mỗi entry trên thư mục, vì đó những entry bao gồm cùng thân phụ thì RDN cũng nên phân biệt.

*

Ví dụ như hình trên, tuy nhiên hai entry gồm cùng RDN cn=son tuy thế hai entry ở nhì nhánh không giống nhau.

Bí danh (Aliases) – cách tham chiếu mang lại dữ liệu

Những entry túng thiếu danh (Aliases entry) trong folder LDAP được cho phép một entry chỉ cho một entry khác.Để tạo ra một alias entry trong folder trước tiên các bạn phải tạo nên một entry với tên nằm trong tính là aliasedOjecctName với cái giá trị thuộc tính là dn của entry mà chúng ta muốn alias entry này chỉ đến.Hình dưới đây cho ta khám phá một aliases entry trỏ mang đến một entry thật sự.

*

LDAP cùng với Alias entry

Nhưng ko phải tất cả các LDAP Directory Server phần đông hổ trợ Aliases. Cũng chính vì một alias entry rất có thể chỉ đến bất kỳ một entry nào, kể cả các entry LDAP vps khác. Và việc tìm và đào bới kiếm khi gặp gỡ phải một túng thiếu danh hoàn toàn có thể phải triển khai tìm tìm trên một cây thư mục khác nằm trên những server khác, do đó làm tăng chi phi cho việc đào bới tìm kiếm kiếm, đó là nguyên nhân chính mà lại các ứng dụng không hổ trợ alias.

Xem thêm: Các Cách Import Database Vào Mysql, Các Cách Import/Export Quản Lý Database Mysql

3. Tế bào hình tác dụng Ldap (LDAP function model)

Khái niệm

Đây là mô hình mô tả các thao tác làm việc cho phép bạn cũng có thể thao tác trên thư mục.Mô hình LDAP Functional chứa một tập các thao tác chia thành 3 nhóm:Thao tác thẩm tra (interrogation) mang lại phép bạn có thể search trên thư mục với nhận tài liệu từ thư mục.Thao tác cập nhật (update): add, delete, rename và biến đổi các entry thư mục.Thao tác chính xác và điều khiển (authentiaction & control) cho phép client khẳng định mình mang lại chỗ thư mục và điều kiển các hoạt động vui chơi của phiên kết nối.Với version 3 giao thức LDAP bên cạnh 3 nhóm làm việc trên, còn có thao tác LDAP extended, thao tác này có thể chấp nhận được nghi thức LDAP sau này có thể mở rộng lớn một cách bao gồm tổ chức.

Mô tả các thao tác

3.1. Làm việc thẩm tra (LDAP Interrogation)

Cho phép client rất có thể tìm cùng nhận lại thông tin từ thư mục.Thao tác tìm kiếm kiếm (LDAP tìm kiếm operation) yêu cầu 8 thông số (Ví dụ: tìm kiếm (“ou=people,dc=framgia,dc=com”,”base”,”derefInsearching”,10,60,attrOnly=true,Filter,ArrayAttribute)Tham số đầu tiên là đối tượng người sử dụng cơ sở mà lại các làm việc tìm kiếm tiến hành trên đó, thông số này là doanh nghiệp chỉ mang lại đỉnh của cây mà bọn họ muốn tìm.Tham số trang bị hai là phạm vi cho việc tìm và đào bới kiếm, bọn họ có 3 phạm vi triển khai tìm kiếm:Phạm vi “base” chỉ ra rằng bạn có nhu cầu tìm ngay tại đối tượng người dùng cơ sở.Phạm vi “onelevel” thao tác làm việc tìm kiếm diễn ra tại cấp dưới (con trực tiếp của đối tượng cơ sở)Phạm vi “subtree” làm việc này thực hiện tìm không còn trên cây mà đối tượng cơ sở là đỉnh.

*

Thao tác kiếm tìm kiếm với phạm vi base

*

Thao tác tìm kiếm kiếm cùng với phạm vi onelevel

*

** thao tác tìm kiếm với phạm vi subtree **

Tham số thứ ba derefAliases , mang lại server hiểu được liệu túng danh aliases có bị bỏ qua hay không khi triển khai tìm kiếm, có 4 giá trị mà derefAliases rất có thể nhận được:

"nerverDerefAliases" - thực hiện tìm kiếm với không quăng quật qua túng bấn danh (aliases) trong lúc triển khai tìm tìm và áp dụng với cả đối tượng người tiêu dùng cơ sở.

"derefInsearching" - quăng quật qua những aliases trong trong các entry cấp cho dưới của đối tượng người dùng cơ sở, và không suy nghĩ thuộc tính của đối tượng cơ sở.

"derefFindingBaseObject" - tra cứu kiếm sẽ quăng quật qua các aliases của đối tượng người dùng cơ sở, cùng không xem xét thuộc tính của những entry tốt hơn đối tượng người dùng cơ sở.

"derefAlways" - bỏ qua mất cả hai nếu việc tìm và đào bới kiếm thấy đối tượng cơ sở xuất xắc là các entry cấp thấp là các entry aliases.

Tham số máy bốn cho server biết có tối đa bao nhiêu entry hiệu quả được trả về.

Tham số máy năm qui định thời gian tối đa mang đến việc thực hiện tìm kiếm.

Tham số thứ sáu: attrOnly – là tham số hình trạng bool, trường hợp được tùy chỉnh là true, thì hệ thống chỉ gởi những kiểu thuộc tính của entry mang đến client, nhưng máy chủ không gởi giá chỉ trị của các thuộc tính đi

Tham số trang bị bảy là bộ lọc tra cứu kiếm (search filter) đó là một biểu thức mô tả các loại entry sẽ tiến hành giữ lại.

Tham số đồ vật tám: danh sách những thuộc tính được lưu giữ với từng entry.

3.2. Thao tác cập nhật (update)

Chúng ta tất cả 4 thao tác cập nhật đó là add, delete, rename (modify DN), và modify

Add: tạo thành một entry new với tên doanh nghiệp và danh sách các thuộc tính truyền vào, khi thực hiện add một entry bắt đầu vào thư mục nên thoả những điều khiếu nại sau :

Entry là nút phụ thân của entry mới yêu cầu tồn tại

Chưa mãi sau một entry nào gồm cùng tên doanh nghiệp với entry bắt đầu trên thư mục

Delete: thao tác làm việc xóa chỉ việc truyền vào thương hiệu của entry đề xuất xóa với thực hiện thao tác làm việc nếu:

Entry tồn tại

Entry bị xóa không tồn tại entry con bên trong

Rename: sử dụng để thay tên hay dịch chuyển các entry vào thư mục

Update: cập nhật với tham số dn và tập thích hợp các chuyển đổi được áp dụng nếu:

Entry với dn phải tồn tại

Tất cả trực thuộc tính thay đổi đều thành công

Các thao tác update phải là các thao tác làm việc được phép

3.3. Thao tác làm việc xác thực và điều khiển và tinh chỉnh (authentiaction & control)

Thao tác tuyệt đối gồm: làm việc bind cùng unbind:

Bind : được cho phép client tự xác minh được bản thân với thư mục, làm việc này cung ứng sự chứng thực và chuẩn xác chứng thưcUnbind : cho phép client huỷ vứt phân đoạn làm việc hiện hành

Thao tác điều kiển chỉ bao gồm abandon:

Abandon : được cho phép client chỉ ra các thao tác làm việc mà công dụng client không còn quan tâm đến nữa.

3.4. Các làm việc mở rộng

Ngoài 9 thao tác làm việc cơ bản, LDAP version 3 có phong cách thiết kế mở rộng trải qua 3 thao tác làm việc :

Thao tác mở rộng LDAP (LDAP extended operations)Đây là một làm việc mới. Trong tương lai nếu yêu cầu một làm việc mới, thì làm việc này hoàn toàn có thể định nghĩa với trở thành chuẩn chỉnh mà ko yêu cầu ta bắt buộc xây dựng lại các thành phần căn bản của LDAP.Ví dụ một thao tác mở rộng lớn là StarTLS, tức thị báo cho sever rằng client ao ước sử dụng transport layer security (TLS) để mã hoá cùng tuỳ chọn lựa cách xác thực khi kết nối.LDAP controlLà phần đông phần của thông tin kèm theo cùng với các thao tác làm việc LDAP, đổi khác hành vi của thao tác trên và một đối tượng.Xác thực dễ dàng và tầng bảo mật thông tin (Simple Authentication và Security Layer - SASL)Là một quy mô hổ trợ cho nhiều phương thức xác thực.Bằng bí quyết sử dụng mô hình SASL để tiến hành chứng thực, LDAP hoàn toàn có thể dễ dàng ưng ý nghi với những phương thức xác xắn mới khác.SASL còn hổ trợ một mô hình cho client với server hoàn toàn có thể kết nối trên khối hệ thống bảo mật ra mắt ở những tầng rẻ (dẫn mang lại độ an toàn cao).

4. Quy mô bảo mật Ldap (LDAP Security model)

Vấn đề cuối cùng trong các quy mô LDAP là việc bảo đảm thông tin vào thư mục ngoài các truy cập không được phép. Khi thực hiện thao tác làm việc bind bên dưới một thương hiệu DN hay như là một người vô danh (anonymous) thì với từng user có một trong những quyền làm việc trên folder entry. Và những quyền nào được entry chấp nhận tất cả phần nhiều điều trên hotline là truy vấn điều khiển (access control). Hiện thời LDAP chưa định nghĩa ra một quy mô Access Control, những điều kiện truy vấn này được tùy chỉnh thiết lập bởi những nhà quản lí trị khối hệ thống bằng những server software.

III. Xác thực trong LDAPViệc xác thực trong một folder LDAP là một điều quan trọng và chẳng thể thiếu. Quy trình xác thực được thực hiện để cấu hình thiết lập quyền của khách hàng cho từng lần sử dụng.Tất cả các công việc như search kiếm, tróc nã vấn, vv… được sự điều hành và kiểm soát bởi những mức uỷ quyền của bạn được xác thực.Khi xác nhận một người dùng của LDAP đề xuất tên người tiêu dùng được xác định như là một DN (ví dụ công nhân = cuongtv,o = it,dc = framgia,dc = com) cùng mật khẩu khớp ứng với dn đó.

Một số phương thức xác thực tín đồ dùng

Xác thực người tiêu dùng nặc danh (Anonymous Authentication)Xác thực người dùng nặc danh là một trong xử lý ràng buộc singin vào thư mục với một tên đăng nhập với mật khẩu là rỗng. Biện pháp đăng nhập này cực kỳ thông dụng với đuợc liên tiếp sử dụng so với ứng dụng client.Xác thực nguời dùng đơn giản và dễ dàng (Simple Authtication)Đối với bảo đảm nguời dùng đối kháng giản, tên singin trong doanh nghiệp được nhờ cất hộ kèm cùng với một mật khẩu dưới dạng clear text tới sever LDAP.Máy nhà sẽ đối chiếu mật khẩu với cái giá trị ở trong tính userPassword hoặc với đều giá trị ở trong tính vẫn được định nghĩa truớc vào entry cho dn đó.Nếu mật khẩu được lưu dưới dạng bị băm (mã hoá), sever sẽ áp dụng hàm băm khớp ứng để biến chuyển đối mật khẩu đưa vào và đối chiếu giá trị đó với giá trị mật khẩu vẫn mã hoá từ trước.Nếu cả nhì mật khẩu trùng nhau, việc xác thực client đang thành công.Xác thực dễ dàng và đơn giản qua SSL/TLSLDAP sẽ mã hóa trước khi thực hiện bất kể hoạt động kết nối nào. Vị đó, toàn bộ thông tin người dùng sẽ được bảo đảm an toàn (ít tốt nhất là trong session đó)IV. Thiết đặt và thông số kỹ thuật LDAP bên trên Ubuntu 12.04

1. Thiết lập và thông số kỹ thuật LDAP

Trên hệ thống ubuntu, ta thực hiện thiết đặt các gói package sau:

**apt-get update **

apt-get install slapd ldap-utils

Trong quy trình cài đặt, khối hệ thống sẽ yêu ước điền password admin mang lại LDAP

*

Sau khi sở hữu xong, thực hiện câu lệnh sau để cấu hình lại LDAP:

sudo dpkg-reconfigure slapd

và thực hiện cấu hình:

Omit OpenLDAP hệ thống configuration? NoOrganization name? testAdministrator password?Database backend? HDBDatabase removed when slapd is purged? NoMove old database? YesAllow LDAPv2? No

2. Thêm thuộc tính cùng với LDIF

Tạo file LDIF chứa thông tin cần tạo: ---------------------------------------------------------

dn: ou=people,dc=test,dc=com

objectClass: organizationalUnit

ou: people

dn: ou=group,dc=test,dc=com

objectClass: organizationalUnit

ou: group

Add entry mới vào LDAP bằng câu lệnh:

ldapadd -x -D cn=admin,dc=test,dc=com -W -f

Kiểm tra lại các entry tất cả trong SLAPD bằng:

slapcat

3. Chỉnh sửa LDAP với ldapadmin

Trên windows, ta rất có thể sử dụng ứng dụng LDAPAdmin: http://www.ldapadmin.org/download/index.html. Với phần mềm này, ta rất có thể tạo mới, sửa đổi hoặc xóa những Entry ngay lập tức trên giao diện

*

4. Kết nối client tới hệ thống (login ssh bằng tài khoản LDAP)

Trên client, cài đặt các gói package sau: apt-get install libpam-ldap nscd và tùy chỉnh các thành phần:

LDAP hệ thống Uniform Resource Identifier: ldap://LDAP-server-IP-AddressDistinguished name of the search base: "dc=test,dc=com"LDAP version to use: 3Make local root Database admin: YesDoes the LDAP database require login? NoLDAP account for root: "cn=admin,dc=test,dc=com"LDAP root trương mục password: Your-LDAP-root-password

Nếu config nhầm, ta rất có thể thực hiện cấu hình lại bằng câu lệnh:

sudo dpkg-reconfigure ldap-auth-config

Cấu hình file /etc/nsswitch.conf: đổi khác các dòng:

passwd: ldap compat

group: ldap compat

shadow: ldap compat

Và sửa lại file PAM config. PAM là module tuyệt đối để khối hệ thống kết nối tới các ứng dụng yêu mong xác thực. Ta sửa các file: /etc/pam.d/common-session, common-account, common-auth cùng common-password