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
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ừ serverTiến trình vận động trao đổi LDAP client/server
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.
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.
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
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:
1 | dn | Distinguished Name : tên thường gọi phân biệt |
2 | c | country – 2 kí từ bỏ viết tắt thương hiệu của một nước |
3 | o | organization – tổ chức |
4 | ou | organization unit – đơn vị tổ chức |
5 | objectClass | Mỗ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 đó) |
6 | givenName | Tên |
7 | uid | id người dùng |
8 | cn | common name – tên hay gọi |
9 | telephoneNumber | số điện thoại |
10 | sn | surname – họ |
11 | userPassword | mật khẩu người dùng |
12 | địa chỉ email | |
13 | facsimileTelephoneNumber | số phách |
14 | createTimestamp | thời gian tạo thành entry này |
15 | creatorsName | tên người tạo ra entry này |
16 | pwdChangedTime | thời gian biến hóa mật khẩu |
17 | entryUUID | id của entry |
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.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
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.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
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
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.
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
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ànhThao 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.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).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.04Trê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? NoTạ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
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
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-passwordNế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