4. Kết nối ứng dụng LDAP với dịch vụ LDAP bảo mật

Hãy làm theo hướng dẫn trong bài viết này để kết nối ứng dụng LDAP với dịch vụ Secure LDAP.

Quan trọng:

  • Nhớ đọc tài liệu của nhà cung cấp
    Thông tin chi tiết trong bài viết này về cách kết nối ứng dụng LDAP với dịch vụ LDAP bảo mật chỉ mang tính tham khảo và có thể thay đổi. Ngoài những hướng dẫn trợ giúp này, hãy nhớ đọc tài liệu của nhà cung cấp để biết các bước mới nhất về cách kết nối ứng dụng của bạn với dịch vụ LDAP bảo mật.
  • Trước khi bắt đầu
    Trước khi làm theo các hướng dẫn này, hãy đảm bảo rằng bạn đã thêm ứng dụng vào dịch vụ LDAP bảo mật, định cấu hình quyền truy cập, tải chứng chỉ và khoá ứng dụng xuống và có thể tạo thông tin xác thực quyền truy cập.
  • Kiểm thử kết nối
    Bạn có thể thực hiện kiểm thử kết nối nhanh bằng các công cụ đơn giản như ldapsearch, ADSIldp.exe (không bắt buộc). Bạn cũng có thể sử dụng các công cụ này để khắc phục sự cố nếu gặp lỗi khi cố gắng kết nối ứng dụng LDAP với dịch vụ. Để biết hướng dẫn, hãy xem phần Kiểm thử kết nối LDAP an toàn.
  • Cách hoàn tất các bước thiết lập
    Sau khi kết nối ứng dụng LDAP bằng cách làm theo hướng dẫn trên trang này, bạn cần hoàn tất quá trình thiết lập ứng dụng LDAP bằng cách chuyển trạng thái dịch vụ thành Bật trong Bảng điều khiển dành cho quản trị viên của Google. Để biết hướng dẫn, hãy xem phần 5. Chuyển ứng dụng LDAP sang trạng thái Bật.

Nội dung trong bài viết này

Bài viết này bao gồm các phần sau:

Các hướng dẫn này giả định rằng các tệp khoá và chứng chỉ máy khách mà bạn tải xuống có tên là ldap-client.keyldap-client.crt.

Hướng dẫn cấu hình cơ bản

Phần này có hướng dẫn chung về cách kết nối ứng dụng LDAP với dịch vụ LDAP bảo mật. Nếu ứng dụng LDAP của bạn không có trong hướng dẫn bên dưới, hãy nhớ tham khảo tài liệu về ứng dụng đó.

Lưu ý: Một số ứng dụng LDAP như Atlassian Jira và SSSD thực hiện tra cứu người dùng để biết thêm thông tin về người dùng trong quá trình xác thực người dùng. Để đảm bảo quá trình xác thực người dùng hoạt động chính xác cho những ứng dụng LDAP như vậy, bạn cần bật chế độ Đọc thông tin người dùng cho tất cả các đơn vị tổ chức mà bạn đã bật chế độ Xác minh thông tin đăng nhập của người dùng. (Để biết hướng dẫn, hãy xem phần Định cấu hình quyền truy cập.)

Cách kết nối ứng dụng LDAP với dịch vụ LDAP bảo mật:

  1. Định cấu hình ứng dụng LDAP bằng Cloud Directory làm máy chủ LDAP.
  2. Tải chứng chỉ lên ứng dụng LDAP.

    Dịch vụ LDAP bảo mật sử dụng chứng chỉ ứng dụng TLS làm cơ chế xác thực chính. Để bắt đầu quy trình tải chứng chỉ lên ứng dụng LDAP, hãy mở chế độ cài đặt xác thực hoặc thư mục của ứng dụng LDAP, rồi nhập thông tin chi tiết trong bảng bên dưới.

    Lưu ý: Để biết thông tin đầy đủ về cách thức và vị trí tải chứng chỉ TLS lên, vui lòng xem tài liệu của nhà cung cấp.

Hãy tham khảo bảng sau để biết thông tin cơ bản về kết nối:

Tên máy chủ

ldap.google.com

Cổng

389 cho LDAP khi bật StartTLS
636 cho LDAPS (đã bật SSL/TLS)

Tên phân biệt cơ sở

Miền của bạn ở định dạng DN. Ví dụ:

dc=example,dc=com cho example.com

Tên người dùng và mật khẩu

Ngoài việc xác thực bằng chứng chỉ, một số ứng dụng LDAP yêu cầu bạn nhập tên người dùng và mật khẩu. Nếu không bắt buộc phải điền các trường tên người dùng và mật khẩu, bạn có thể bỏ qua bước này.

Tạo tên người dùng và mật khẩu trong Bảng điều khiển dành cho quản trị viên của Google. Để biết hướng dẫn, hãy xem bài viết Tạo thông tin đăng nhập để truy cập.

Chứng chỉ ứng dụng và tệp khoá

Sử dụng chứng chỉ và tệp khoá được tải xuống từ Bảng điều khiển dành cho quản trị viên của Google. Nếu ứng dụng LDAP không cung cấp cách xác thực bằng chứng chỉ máy khách, hãy xem phần Sử dụng stunnel làm proxy.

LƯU Ý QUAN TRỌNG: Một số máy khách LDAP (chẳng hạn như Apache Directory Studio) không hỗ trợ việc tải chứng chỉ kỹ thuật số lên. Để giải quyết trường hợp này, hãy xem phần Sử dụng stunnel làm proxy.

Hướng dẫn định cấu hình cho các ứng dụng LDAP cụ thể

ADSI Edit (Windows)

Làm theo các bước sau:

  1. Làm theo các bước từ 1 đến 11 trong ldp.exe (Windows) để cài đặt chứng chỉ ứng dụng khách.
  2. Chuyển đến Action > Connect to… (Thao tác > Kết nối với…)
  3. Nhập các chế độ cài đặt kết nối sau:

    Tên: Nhập tên cho kết nối của bạn, chẳng hạn như Google LDAP.
    Điểm kết nối: "Chọn hoặc nhập Tên riêng biệt hoặc Bối cảnh đặt tên"
    Nhập tên miền của bạn ở định dạng DN (ví dụ: dc=example,dc=com cho example.com).

    Máy tính: "Chọn hoặc nhập một miền hoặc máy chủ"
    ldap.google.com

    Sử dụng phương thức mã hoá dựa trên SSL: Đã đánh dấu
  4. Nhấp vào Nâng cao... rồi nhập các thông tin sau:

    Chỉ định thông tin đăng nhập: Đã đánh dấu
    Tên người dùng: Tên người dùng của thông tin đăng nhập để truy cập trong Bảng điều khiển dành cho quản trị viên
    Mật khẩu: Mật khẩu của thông tin đăng nhập để truy cập trong Bảng điều khiển dành cho quản trị viên
    Số cổng: 636
    Giao thức: LDAP
    Xác thực liên kết đơn giản: Đã đánh dấu
  5. Nhấp vào OK, rồi nhấp lại vào OK.
  6. Nếu kết nối thành công, nội dung của thư mục đang hoạt động trong DN cơ sở sẽ xuất hiện ở ngăn bên phải.

Apache Directory Studio

Để sử dụng Apache Directory Studio, hãy kết nối thông qua stunnel và sử dụng thông tin đăng nhập (tên người dùng và mật khẩu) được tạo trong Bảng điều khiển dành cho quản trị viên của Google. Giả sử bạn đã có thông tin đăng nhập và stunnel đang theo dõi cổng 1389 trên máy chủ cục bộ, hãy làm theo các bước sau:

  1. Nhấp vào File > New… (Tệp > Mới...)
  2. Chọn LDAP Browser > LDAP Connection (Trình duyệt LDAP > Kết nối LDAP).
  3. Nhấp vào Tiếp theo.
  4. Nhập các thông số kết nối:

    Tên kết nối: Chọn một tên, chẳng hạn như Google LDAP
    Tên máy chủ lưu trữ: localhost
    Cổng: 1389 (hoặc cổng nghe/chấp nhận stunnel)
    Phương thức mã hoá: Không mã hoá (Lưu ý: Nếu stunnel đang chạy từ xa, bạn nên mã hoá giữa stunnel và máy khách.)
  5. Nhấp vào Tiếp theo.
  6. Nhập các thông số xác thực:

    Phương thức xác thực: Xác thực đơn giản
    DN hoặc người dùng liên kết: Tên người dùng thông tin xác thực truy cập trong Bảng điều khiển dành cho quản trị viên
    Mật khẩu liên kết: Mật khẩu thông tin xác thực truy cập trong Bảng điều khiển dành cho quản trị viên
  7. Nhấp vào Tiếp theo.
  8. Nhập tên phân biệt cơ sở.
    Đây là tên miền của bạn ở định dạng DN (dc=example,dc=com cho example.com).
  9. Nhấp vào Hoàn tất.

Atlassian Jira

Atlassian Jira thực hiện một quy trình tra cứu người dùng để lấy thêm thông tin về người dùng trong quá trình xác thực người dùng. Để đảm bảo tính năng xác thực người dùng hoạt động đúng cách cho ứng dụng LDAP này, bạn cần bật chế độ Đọc thông tin người dùngĐọc thông tin nhóm cho tất cả các đơn vị tổ chức mà bạn đã bật chế độ Xác minh thông tin đăng nhập của người dùng. (Để biết hướng dẫn, hãy xem phần Định cấu hình quyền truy cập.)

Lưu ý quan trọng: Việc sử dụng các hướng dẫn sau có thể khiến người dùng và tệp nhật ký biết được keystorePassword. Thực hiện các biện pháp phòng ngừa để tránh truy cập trái phép vào trình bao cục bộ, tệp nhật ký và Bảng điều khiển dành cho quản trị viên của Google. Thay vì làm theo hướng dẫn sau, hãy sử dụng phương thức stunnel4 (xem phần Không bắt buộc: Sử dụng stunnel làm proxy).

Lưu ý: Hướng dẫn sau đây giả định rằng Jira được cài đặt tại /opt/atlassian/jira.

Cách kết nối một ứng dụng Atlassian Jira với dịch vụ LDAP bảo mật:

  1. Sao chép chứng chỉ và khoá vào(các) máy chủ Jira của bạn. (Đây là chứng chỉ được tạo trong Bảng điều khiển dành cho quản trị viên của Google khi bạn thêm ứng dụng LDAP vào dịch vụ LDAP bảo mật.)

    Ví dụ:
    $ scp ldap-client.key user@jira-server:
  2. Chuyển đổi chứng chỉ và khoá sang định dạng kho khoá Java. Bạn sẽ được nhắc nhập mật khẩu trong suốt quá trình này. Để đơn giản, hãy chọn một mật khẩu an toàn và sử dụng mật khẩu đó cho tất cả các lời nhắc.

    $ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key

    $ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS

  3. Định cấu hình Jira để sử dụng kho khoá mới tạo. Làm theo hướng dẫn tại đây để thêm các lựa chọn:

    "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password"

    Trên Linux:
    1. Chỉnh sửa /opt/atlassian/jira/bin/setenv.sh.
    2. Tìm chế độ cài đặt JVM_SUPPORT_RECOMMENDED_ARGS.
    3. Thêm "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password", thay thế "password" bằng mật khẩu mà bạn đã chọn ở trên.
  4. Khởi động lại Jira.

    $ /opt/atlassian/jira/bin/stop-jira.sh
    $ /opt/atlassian/jira/bin/start-jira.sh

  5. Đăng nhập vào giao diện web Jira với tư cách là quản trị viên.
    1. Chuyển đến phần Cài đặt > Quản lý người dùng. (Để xem phần cài đặt, hãy chuyển đến biểu tượng bánh răng ở trên cùng bên phải.)
    2. Nhấp vào Thư mục người dùng.
    3. Nhấp vào Thêm thư mục.
    4. Chọn LDAP làm loại.
    5. Nhấp vào Tiếp theo.
  6. Nhập thông tin sau:

    Tên

    Giao thức truy cập thư mục hạng nhẹ (LDAP) bảo mật của Google

    Loại thư mục

    OpenLDAP

    Tên máy chủ

    ldap.google.com

    Cổng

    636

    Sử dụng SSL

    Đã chọn

    Tên người dùng

    Tạo tên người dùng và mật khẩu trong Bảng điều khiển dành cho quản trị viên của Google. Để biết hướng dẫn, hãy xem bài viết Tạo thông tin đăng nhập để truy cập.

    Mật khẩu

    Tạo tên người dùng và mật khẩu trong Bảng điều khiển dành cho quản trị viên của Google. Để biết hướng dẫn, hãy xem bài viết Tạo thông tin đăng nhập để truy cập.

    Tên phân biệt cơ sở

    Tên miền của bạn ở định dạng DN. (ví dụ: dc=example,dc=com cho example.com)

    DN người dùng bổ sung

    Không bắt buộc. "ou=Users"

    DN nhóm bổ sung

    Không bắt buộc. "ou=Groups"

    Quyền LDAP

    Chỉ đọc

    Chế độ cài đặt nâng cao

    Không thay đổi

    Cài đặt giản đồ người dùng >
    Thuộc tính tên người dùng

    googleUid

    Cài đặt giản đồ người dùng >
    Thuộc tính RDN tên người dùng

    uid

    Group Schema Settings >
    Group Object Class

    groupOfNames

    Group Schema Settings >
    Group Object Filter
    (Cài đặt lược đồ nhóm > Bộ lọc đối tượng nhóm)

    (objectClass=groupOfNames)

    Cài đặt giản đồ tư cách thành viên >
    Thuộc tính thành viên nhóm

    thành viên

    Chế độ cài đặt lược đồ thành viên >
    Sử dụng thuộc tính thành viên của người dùng

    Đã chọn
  7. Cấp vai trò cho một nhóm.

    Trước khi Atlassian Jira có thể cho phép người dùng đăng nhập, người dùng đó phải là thành viên của một nhóm được cấp quyền truy cập vào Jira.

    Cách cấp vai trò cho một nhóm:
    1. Chuyển đến phần Cài đặt > Ứng dụng > Quyền truy cập ứng dụng.
    2. Trong hộp văn bản Chọn nhóm, hãy nhập tên của nhóm trên Google mà bạn muốn cấp quyền truy cập vào Jira.

CloudBees Core / Jenkins

Để biết hướng dẫn về cách kết nối CloudBees Core với dịch vụ LDAP bảo mật, hãy xem bài viết Định cấu hình CloudBees Core bằng LDAP bảo mật của Cloud Identity của Google.

FreeRadius

Làm theo các bước sau:

  1. Cài đặt và định cấu hình FreeRADIUS tại /etc/freeradius/3.0/.

    Sau khi cài đặt FreeRADIUS, bạn có thể thêm cấu hình LDAP bằng cách cài đặt trình bổ trợ freeradius-ldap.

    $ sudo apt-get install freeradius freeradius-ldap
  2. Sao chép các tệp khoá và chứng chỉ của ứng dụng LDAP vào /etc/freeradius/3.0/certs/ldap-client.key/etc/freeradius/3.0/certs/ldap-client.crt tương ứng.

    $ chown freeradius:freeradius
    /etc/freeradius/3.0/certs/ldap-client.*
    $ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*

  3. Bật mô-đun LDAP.

    $ cd /etc/freeradius/3.0/mods-enabled/
    $ ln -s ../mods-available/ldap ldap

  4. Chỉnh sửa /etc/freeradius/3.0/mods-available/ldap.
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identity = tên người dùng trong thông tin đăng nhập của ứng dụng
    3. password = mật khẩu trong thông tin xác thực của ứng dụng
    4. base_dn = 'dc=domain,dc=com'
    5. tls->start_tls = no
    6. tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
    7. tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
    8. tls->require_cert = 'allow'
    9. Chú thích tất cả các trường trong đường dẫn liên kết đại diện cho phần "ldap -> post-auth -> update"
  5. Chỉnh sửa /etc/freeradius/3.0/sites-available/default.
    Thao tác này sẽ sửa đổi kết nối ứng dụng FreeRadius. Nếu bạn không sử dụng ứng dụng mặc định, hãy nhớ cập nhật ứng dụng có liên quan (inner-tunnel hoặc bất kỳ ứng dụng tuỳ chỉnh nào) mà bạn đã định cấu hình.
    1. Sửa đổi phần authorize (uỷ quyền) để thêm khối sau vào cuối sau câu lệnh giao thức xác thực bằng mật khẩu (PAP):

      if (User-Password) {
      update control {
      Auth-Type := ldap
      }
      }

    2. Trong phần authorize, hãy bật LDAP bằng cách xoá dấu "-" trước LDAP.

      #
      # The ldap module reads passwords from the LDAP database.
      ldap
    3. Sửa đổi phần authenticate bằng cách chỉnh sửa khối Auth-Type LDAP như sau:

      # Auth-Type LDAP {
      ldap
      # }

    4. Sửa đổi phần authenticate bằng cách chỉnh sửa khối Auth-Type PAP như sau:

      Auth-Type PAP {
      # pap
      ldap
      }

GitLab

Để biết hướng dẫn về cách kết nối GitLab với dịch vụ LDAP bảo mật, hãy xem bài viết Định cấu hình LDAP bảo mật của Google cho GitLab.

Itopia/Ubuntu

Để biết hướng dẫn về cách kết nối Itopia/Ubuntu với dịch vụ LDAP bảo mật, hãy xem bài viết Định cấu hình LDAP của Google Cloud Identity trên Ubuntu 16.04 để đăng nhập người dùng.

Ivanti / LanDesk

Làm theo các bước sau:

  1. Trên máy chủ web Ivanti, hãy mở OpenLDAPAuthenticationConfiguration.xml hoặc OpenLDAPSSLAuthenticationConfiguration.xml trong trình chỉnh sửa văn bản ở cả hai thư mục sau:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.FrameworkC:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (trong đó servicedesk là tên phiên bản)
  2. Cập nhật giá trị <Server> thành ldap.google.com.
  3. Cập nhật giá trị <Port> thành cổng 3268 cho văn bản thuần tuý khi bật StartTLS và thành 3269 cho cổng SSL/TLS (các giá trị mặc định là 389 cho cổng văn bản thuần tuý hoặc 636 cho cổng SSL/TLS).
  4. Đặt giá trị <TestDN> thành tên miền của bạn ở định dạng DN. (ví dụ: dc=example,dc=com cho example.com).
  5. Đối với cả ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config, hãy thêm dòng:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />

    hoặc dòng:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
  6. Trong Ivanti Configuration Center (Trung tâm cấu hình Ivanti), hãy mở phiên bản cần thiết.
  7. Bên cạnh ứng dụng Service Desk Framework, hãy nhấp vào Chỉnh sửa.
    Hộp thoại Edit Application (Chỉnh sửa ứng dụng) cho Service Desk Framework (Khung bàn trợ giúp) sẽ xuất hiện.
  8. Trong nhóm Configuration parameters (Thông số cấu hình), hãy chọn Explicit only (Chỉ rõ ràng) trong danh sách Logon policy (Chính sách đăng nhập), rồi nhấp vào OK.
  9. Bên cạnh ứng dụng Web Access, hãy nhấp vào Chỉnh sửa.
    Hộp thoại Chỉnh sửa ứng dụng cho Quyền truy cập vào web sẽ xuất hiện.
  10. Trong nhóm Configuration parameters (Thông số cấu hình), hãy chọn Explicit only (Chỉ rõ ràng) trong danh sách Logon policy (Chính sách đăng nhập), rồi nhấp vào OK.

Khi đăng nhập, hãy sử dụng mật khẩu mạng của người dùng miền được liên kết.

Ghi nhật ký ngoại lệ để xác thực máy chủ LDAP

Nếu gặp vấn đề khi định cấu hình tính năng xác thực máy chủ LDAP, bạn có thể bật tính năng ghi nhật ký ngoại lệ để xác định vấn đề. Theo mặc định, chế độ này sẽ bị tắt và bạn nên tắt lại tính năng ghi nhật ký ngoại lệ khi đã hoàn tất quá trình điều tra.

Cách bật tính năng ghi nhật ký ngoại lệ cho hoạt động xác thực Máy chủ LDAP:

  1. Mở tệp XML cấu hình xác thực thích hợp trong một trình chỉnh sửa văn bản:

    DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml hoặc OpenLDAPSSLAuthenticationConfiguration.xml
  2. Thay đổi dòng:

    <ShowExceptions>false</ShowExceptions>
    thành
    <ShowExceptions>true</ShowExceptions>
  3. Lưu các thay đổi.

Ldp.exe (Windows)

Làm theo các bước sau:

  1. Chuyển đổi chứng chỉ và tệp khoá thành một tệp có định dạng PKCS12. Tại dấu nhắc lệnh, hãy nhập nội dung sau:

    Nếu bạn đang dùng macOS hoặc Linux, hãy sử dụng các lệnh sau:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Nhập mật khẩu để mã hoá tệp đầu ra.

    Nếu bạn đang dùng Windows, hãy sử dụng các lệnh sau:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    Lưu ý quan trọng: Hai tệp (<CERT_FILE>.crt<CERT_FILE>.key) phải nằm trong cùng một thư mục. Ngoài ra, hãy đảm bảo cả keycrt đều có cùng tên (với đuôi khác). Trong ví dụ này, chúng ta sử dụng tên ldap-client.crtldap-client.key.

  2. Chuyển đến Bảng điều khiển.
  3. Trong hộp tìm kiếm, hãy tìm "chứng chỉ" rồi nhấp vào Quản lý chứng chỉ người dùng.
  4. Chuyển đến Thao tác > Tất cả các tác vụ > Nhập...
  5. Chọn Người dùng hiện tại rồi nhấp vào Tiếp theo.
  6. Nhấp vào Duyệt qua...
  7. Trong trình đơn thả xuống loại tệp ở góc dưới bên phải của hộp thoại, hãy chọn Personal Information Exchange (&ast;.pfx;&ast;.p12) (Trao đổi thông tin cá nhân).
  8. Chọn tệp ldap-client.p12 ở bước 2, nhấp vào Open (Mở), rồi nhấp vào Next (Tiếp theo).
  9. Nhập mật khẩu ở bước 2 rồi nhấp vào Tiếp theo.
  10. Chọn kho chứng chỉ Cá nhân, nhấp vào Tiếp theo, rồi nhấp vào Hoàn tất.
  11. Chạy Ldp.exe.
  12. Chuyển đến phần Kết nối > Kết nối...
  13. Nhập thông tin kết nối sau đây:

    Máy chủ: ldap.google.com
    Cổng: 636
    Không kết nối: Chưa đánh dấu
    SSL: Đã đánh dấu
  14. Nhấp vào OK.
  15. Chuyển đến phần View > Tree (Xem > Cây).
  16. Nhập tên phân biệt cơ sở. Đây là tên miền của bạn ở định dạng DN. (ví dụ: dc=example,dc=com cho example.com).
  17. Nhấp vào OK.
  18. Nếu kết nối thành công, LDP.exe sẽ hiển thị nội dung của Active Directory (chẳng hạn như tất cả các thuộc tính có trong DN cơ sở) ở ngăn bên phải.

Netgate / pfSense

Để biết hướng dẫn về cách kết nối Netgate/pfSense với dịch vụ LDAP bảo mật, hãy xem bài viết Định cấu hình Google Cloud Identity làm nguồn xác thực.

OpenLDAP / ldapsearch (Linux)

Để truy cập vào thư mục LDAP từ dòng lệnh, bạn có thể dùng lệnh ldapsearch của OpenLDAP.

Giả sử tệp khoá và chứng chỉ máy khách của bạn là ldap-client.crtldap-client.key, miền của bạn là example.com và tên người dùng là jsmith:

$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsmith)'

Thao tác này sẽ đặt các biến môi trường có liên quan để trỏ đến các khoá ứng dụng. Bạn có thể thay thế các lựa chọn ldapsearch khác bằng các bộ lọc, thuộc tính được yêu cầu, v.v. mà bạn muốn. Để biết các thông tin khác, vui lòng xem trang man của ldapsearch ("man ldapsearch").

ldapsearch (macOS)

Làm theo các bước sau:

  1. Chuyển đổi chứng chỉ và tệp khoá thành một tệp có định dạng PKCS12. Tại dấu nhắc lệnh, hãy nhập nội dung sau:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Nhập mật khẩu để mã hoá tệp đầu ra.
  2. Nhấp vào biểu tượng ở góc trên cùng bên phải của thanh trình đơn, rồi nhập Keychain Access (Truy cập vào chuỗi khoá).
  3. Mở ứng dụng Keychain Access, rồi nhấp vào Hệ thống trong danh sách ở bên trái.
  4. Nhấp vào lựa chọn Tệp trong thanh trình đơn ở trên cùng bên trái rồi chọn Nhập mục.
  5. Duyệt đến vị trí có ldap-client.p12 đã tạo, chọn ldap-client.p12 rồi nhấp vào Open (Mở).
    Nếu được nhắc, hãy nhập mật khẩu của bạn.
    Lúc này, một chứng chỉ có tên LDAP Client sẽ xuất hiện trong danh sách chứng chỉ của Chuỗi khoá hệ thống.
  6. Nhấp vào mũi tên bên cạnh chứng chỉ ứng dụng LDAP. Khoá riêng tư sẽ xuất hiện bên dưới.
    1. Nhấp đúp vào khoá riêng tư.
    2. Trong hộp thoại, hãy chọn thẻ Kiểm soát quyền truy cập rồi nhấp vào + ở góc dưới cùng bên trái.
    3. Trong cửa sổ mở ra, hãy nhấn tổ hợp phím Command+Shift+G để mở một cửa sổ mới, sau đó thay thế văn bản hiện có bằng /usr/bin/ldapsearch.

    4. Nhấp vào Go (Chuyển).

      Thao tác này sẽ mở một cửa sổ có ldapsearch được đánh dấu.

    5. Nhấp vào Thêm.

    6. Nhấp vào Lưu thay đổi rồi nhập mật khẩu nếu được nhắc.

      Giờ đây, bạn đã sẵn sàng truy cập vào thư mục LDAP từ dòng lệnh bằng lệnh OpenLDAP ldapsearch.

  7. Giả sử tệp ldap-client.p12 mà bạn đã nhập vào chuỗi khoá trước đó có tên là LDAP Client, miền của bạn là example.com và tên người dùng là jsmith, hãy nhập nội dung sau:

    $ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'

Thao tác này sẽ đặt các biến môi trường có liên quan để trỏ đến chứng chỉ ứng dụng đã nhập. Bạn có thể thay thế các lựa chọn ldapsearch khác bằng các bộ lọc, thuộc tính được yêu cầu, v.v. mà bạn muốn. Để biết thêm thông tin chi tiết, vui lòng xem trang man của ldapsearch (man ldapsearch).

OpenVPN (phiên bản cộng đồng)

Làm theo các bước sau:

  1. Nếu cần, hãy cài đặt và định cấu hình OpenVPN, hoặc nếu bạn đã làm việc này, hãy mở trang cài đặt trong OpenVPN.

    Bài viết trợ giúp này không đề cập đến cấu hình VPN chung. Sau khi định cấu hình VPN, bạn có thể thêm tính năng xác thực và uỷ quyền người dùng thông qua LDAP. Cụ thể, bạn sẽ cần cài đặt trình bổ trợ openvpn-auth-ldap.

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. Sao chép các tệp khoá và chứng chỉ ứng dụng LDAP vào /etc/openvpn/ldap-client.key/etc/openvpn/ldap-client.crt.
  3. Tạo một tệp /etc/openvpn/auth-ldap.conf chứa nội dung sau (giả sử example.com là tên miền):

    <LDAP>
    URL ldaps://ldap.google.com:636 #
    Timeout 15
    TLSEnable false
    TLSCACertDir /etc/ssl/certs
    TLSCertFile /etc/openvpn/ldap-client.crt
    TLSKeyFile /etc/openvpn/ldap-client.key
    </LDAP>
    <Authorization>
    BaseDN "dc=example,dc=com"
    SearchFilter "(uid=%u)" # (or choose your own LDAP filter for users)
    RequireGroup false
    </Authorization>

  4. Chỉnh sửa tệp cấu hình OpenVPN, thường có tên là /etc/openvpn/server.conf hoặc tương tự. Ở cuối tệp, hãy thêm nội dung sau:

    plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
    verify-client-cert optional

  5. Khởi động lại máy chủ OpenVPN.

    $ sudo systemctl restart openvpn@server
  6. Định cấu hình ứng dụng VPN để sử dụng tên người dùng và mật khẩu của người dùng. Ví dụ: trong cấu hình ứng dụng OpenVPN, hãy thêm auth-user-pass vào cuối tệp cấu hình ứng dụng OpenVPN và khởi động ứng dụng OpenVPN:

    $ openvpn --config /path/to/client.conf
  7. Làm theo hướng dẫn về cách sử dụng stunnel làm proxy.

OpenVPN Access Server (phiên bản thương mại)

Để biết hướng dẫn về cách kết nối OpenVPN Access Server với dịch vụ LDAP bảo mật, hãy xem bài viết Định cấu hình LDAP bảo mật của Google bằng OpenVPN Access Server.

PaperCut MF và NG

Để biết hướng dẫn về cách kết nối PaperCut với dịch vụ LDAP bảo mật, hãy xem bài viết Cách đồng bộ hoá và xác thực người dùng Google Workspace và Google Cloud Identity trong PaperCut.

Puppet Enteprise

Để biết hướng dẫn về cách kết nối Puppet Enterprise với dịch vụ LDAP bảo mật, hãy xem bài viết Google Cloud Directory cho PE.

Trình duyệt LDAP của Softerra

Lưu ý quan trọng: Trước khi bắt đầu, hãy nhớ cài đặt Softerra LDAP Browser có số phiên bản 4.5 (4.5.19808.0) trở lên. Xem LDAP Browser 4.5.

Làm theo các bước sau:

  1. Chuyển đổi chứng chỉ và tệp khoá thành một tệp có định dạng PKCS12. Tại dấu nhắc lệnh, hãy nhập nội dung sau:

    Nếu bạn đang dùng macOS hoặc Linux, hãy sử dụng các lệnh sau:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Nhập mật khẩu để mã hoá tệp đầu ra.

    Nếu bạn đang dùng Windows, hãy sử dụng các lệnh sau:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    Lưu ý quan trọng: Hai tệp (<CERT_FILE>.crt<CERT_FILE>.key) phải nằm trong cùng một thư mục. Ngoài ra, hãy đảm bảo cả keycrt đều có cùng tên (với đuôi khác). Trong ví dụ này, chúng ta sử dụng tên ldap-client.crtldap-client.key.

  2. Trong Softerra LDAP Browser, hãy cài đặt cặp khoá.
    1. Chuyển đến Tools > Certificate Manager (Công cụ > Trình quản lý chứng chỉ).
    2. Nhấp vào Nhập...
    3. Nhấp vào Tiếp theo.
    4. Nhấp vào Duyệt qua...
    5. Trong danh sách thả xuống Loại tệp ở góc dưới bên phải của hộp thoại, hãy chọn Personal Information Exchange (&ast;.pfx;&ast;.p12) (Trao đổi thông tin cá nhân).
    6. Chọn tệp ldap-client.p12 trong bước 2 ở trên.
    7. Nhấp vào Open (Mở) rồi nhấp vào Next (Tiếp theo).
    8. Nhập mật khẩu ở bước 2 nêu trên rồi nhấp vào Tiếp theo.
    9. Chọn kho chứng chỉ Cá nhân.
    10. Nhấp vào Tiếp theo.
    11. Nhấp vào Hoàn tất.
  3. Thêm hồ sơ máy chủ.
    1. Chuyển đến File > New > New Profile… (Tệp > Mới > Hồ sơ mới...)
    2. Nhập tên cho hồ sơ, chẳng hạn như Google LDAP.
    3. Nhấp vào Tiếp theo.

      Nhập thông tin sau:

      Máy chủ lưu trữ: ldap.google.com
      Cổng:
      636
      DN cơ sở: Tên miền của bạn ở định dạng DN. (ví dụ: dc=example,dc=com cho example.com)
      Sử dụng kết nối an toàn (SSL): Đã chọn
    4. Nhấp vào Tiếp theo.
    5. Chọn Bên ngoài (Chứng chỉ SSL).
    6. Nhấp vào Tiếp theo.
    7. Nhấp vào Hoàn tất.

Sophos Mobile

Để biết hướng dẫn về cách kết nối Sophos Mobile với dịch vụ LDAP bảo mật, hãy xem bài viết Kết nối Sophos Mobile với Google Cloud Identity / Google Cloud Directory bằng LDAP bảo mật.

Splunk

Khi kết nối Splunk với dịch vụ LDAP bảo mật, hãy nhớ sử dụng Splunk phiên bản 8.1.4 trở lên. Khi sử dụng các phiên bản Splunk cũ hơn (chẳng hạn như Splunk phiên bản 8.1.3), bạn có thể gửi quá nhiều truy vấn LDAP đến máy chủ LDAP, dẫn đến việc hạn mức LDAP của bạn nhanh chóng bị cạn kiệt. Để biết thêm thông tin về các vấn đề của Splunk phiên bản 8.1.3, hãy xem bài viết Các vấn đề đã biết của Splunk.

Làm theo các bước sau:

  1. Sao chép các tệp khoá và chứng chỉ của ứng dụng LDAP vào /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key/home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt.

    $ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

    $ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

    $ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

  2. Chỉnh sửa tệp ldap.conf để thêm các cấu hình sau:

    ssl start_tls
    TLS_REQCERT never
    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem

  3. Thêm các cấu hình sau vào tệp /home/splunkadmin/.ldaprc của người dùng:

    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

  4. Thêm chiến lược LDAP bằng giao diện người dùng web Splunk. Nhập các thông tin chi tiết sau, rồi nhấp vào Lưu:

Tên

Giao thức truy cập thư mục hạng nhẹ (LDAP) bảo mật của Google

Máy chủ lưu trữ

ldap.google.com

Cổng

636

Đã bật SSL

Đã chọn

Thứ tự kết nối

1

Bind DN

Nhập thông tin đăng nhập mà bạn đã tạo trong Bảng điều khiển dành cho quản trị viên của Google.

Liên kết mật khẩu DN

Nhập thông tin đăng nhập mà bạn đã tạo trong Bảng điều khiển dành cho quản trị viên của Google.

Tên phân biệt cơ sở

Tên miền của bạn ở định dạng DN (ví dụ: dc=example,dc=com cho miền example.com)

Bộ lọc cơ sở người dùng

Nhập bộ lọc Cơ sở người dùng cho lớp đối tượng mà bạn muốn lọc người dùng.

Thuộc tính tên người dùng

uid

Thuộc tính tên thật

displayname

Thuộc tính email

thư

Thuộc tính liên kết nhóm

dn

Tên phân biệt cơ sở của nhóm

Tên miền của bạn ở định dạng DN (ví dụ: ou=Groups,dc=example,dc=com cho miền example.com)

Bộ lọc tìm kiếm nhóm tĩnh

Nhập Bộ lọc tìm kiếm nhóm tĩnh cho lớp đối tượng mà bạn muốn lọc các nhóm tĩnh.

Thuộc tính tên nhóm

cn

Thuộc tính thành viên tĩnh

thành viên

SSSD (Red Hat Enterprise và CentOS)

SSSD thực hiện tra cứu người dùng để biết thêm thông tin về người dùng trong quá trình xác thực người dùng. Để đảm bảo tính năng xác thực người dùng hoạt động đúng cách cho ứng dụng LDAP này, bạn cần bật chế độ Đọc thông tin người dùngĐọc thông tin nhóm cho tất cả các đơn vị tổ chức mà bạn đã bật chế độ Xác minh thông tin đăng nhập của người dùng. (Để biết hướng dẫn, hãy xem phần Định cấu hình quyền truy cập.)

Cách kết nối ứng dụng SSSD trên Red Hat 8 hoặc CentOS 8 với dịch vụ LDAP bảo mật:

  1. Thêm ứng dụng SSSD vào dịch vụ LDAP bảo mật:
    1. Trong Bảng điều khiển dành cho quản trị viên của Google, hãy chuyển đến Ứng dụng > LDAP > THÊM MÁY KHÁCH.
      Hãy nhớ đăng nhập bằng tài khoản công ty, chứ không phải bằng tài khoản Gmail cá nhân.
    2. Nhập thông tin chi tiết về Khách hàng, rồi nhấp vào TIẾP TỤC.
    3. Định cấu hình Quyền truy cập:
      Xác minh thông tin đăng nhập của người dùng – Toàn bộ miền
      Đọc thông tin người dùng – Toàn bộ miền
      Đọc thông tin nhóm – Bật
    4. Nhấp vào THÊM ỨNG DỤNG LDAP.
    5. Tải chứng chỉ đã tạo xuống.
    6. Nhấp vào TIẾP TỤC ĐẾN CHI TIẾT CỦA ỨNG DỤNG.
    7. Chuyển Trạng thái dịch vụ thành BẬT.
  2. Cài đặt các phần phụ thuộc:

    dnf install openldap-clients sssd-ldap
    install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap


    giải nén tệp .zip chứng chỉ và sao chép tệp .crt và .key vào /etc/sssd/ldap
  3. (Không bắt buộc) Kiểm thử bằng ldapsearch:

    LDAPTLS_REQCERT=never \
    LDAPTLS_KEY=Google.key \
    LDAPTLS_CERT=Google.crt \
    ldapsearch -H ldaps://ldap.google.com:636/ \
    -b dc=example,dc=com \
    -D usertoverify@example.com \
    -W \
    '(mail=usertoverify@example.com)' \
    mail dn


    Nhập mật khẩu Google của người dùng khi được nhắc.

    Lưu ý: Người dùng phải có giấy phép Google Workspace Enterprise hoặc Cloud Identity Premium được chỉ định cho họ.

  4. Tạo tệp /etc/sssd/sssd.conf có nội dung sau:

    [sssd]
    services = nss, pam
    domains = example.com

    [domain/example.com]
    ldap_tls_cert = /etc/sssd/ldap/Google.crt
    ldap_tls_key = /etc/sssd/ldap/Google.key
    ldap_tls_reqcert = never
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_provider = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID

  5. Cập nhật các quyền và nhãn SELinux:

    chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    restorecon -FRv /etc/sssd

  6. Khởi động lại SSSD:

    systemctl restart sssd
  7. Kiểm thử:

    ssh to server:

    ssh -l user@example.com {HOSTNAME}

Khắc phục sự cố

  1. Kiểm tra phiên bản SSSD (phải lớn hơn hoặc bằng 1.15.2):

    # sssd --version
    2.2.3

  2. Trên RHEL/CentOS (hoặc bất kỳ bản phân phối nào có chế độ thực thi SELinux), tệp cấu hình SSSD, tệp chứng chỉ và khoá phải nằm trong một thư mục mà vai trò sssd_conf_t có thể truy cập:

    # egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contexts

    Kiểm tra /var/log/audit/audit.log để biết thông báo từ chối AVC.

  3. Kiểm tra để đảm bảo rằng /etc/nsswitch.conf có "sss" cho các thực thể passwd, shadow, group và netgroup:

    passwd: files sss
    shadow: files sss
    group: files sss
    netgroup: files sss


    Trong đó, các tệp cục bộ sẽ ghi đè người dùng LDAP.
  4. Kiểm tra /var/log/sssd.conf để biết các lỗi cấu hình:

    Ví dụ:
    [sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. Bỏ qua.

    Thao tác: Bạn cần chmod 600 tệp .conf.

    Ví dụ:
    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_groups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Kiểm tra xem có lỗi chính tả không.

    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_initgroups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Kiểm tra xem có lỗi chính tả không.

    Hành động: Xoá các tiện ích LDAP so khớp nhóm không được hỗ trợ khỏi sssd.conf.

  5. Kiểm tra /var/log/sssd_{DOMAIN}.log để biết các lỗi về LDAP/mạng/xác thực.

    Ví dụ:

    [sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls failed: [Connect error] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate)]

    Việc cần làm: Bạn cần thêm "ldap_tls_reqcert = never" vào sssd.conf.

    Để tăng mức độ chi tiết của lỗi, hãy thêm "debug_level = 9" vào sssd.conf trong phần miền và khởi động lại sssd.

SSSD (các bản phân phối Linux khác)

SSSD thực hiện tra cứu người dùng để biết thêm thông tin về người dùng trong quá trình xác thực người dùng. Để đảm bảo tính năng xác thực người dùng hoạt động đúng cách cho ứng dụng LDAP này, bạn cần bật chế độ Đọc thông tin người dùngĐọc thông tin nhóm cho tất cả các đơn vị tổ chức mà bạn đã bật chế độ Xác minh thông tin đăng nhập của người dùng. (Để biết hướng dẫn, hãy xem phần Định cấu hình quyền truy cập.)

Cách kết nối ứng dụng SSSD với dịch vụ LDAP bảo mật:

  1. Cài đặt SSSD phiên bản >= 1.15.2.

    $ sudo apt-get install sssd
  2. Giả sử các tệp chứng chỉ và khoá của ứng dụng có tên là /var/ldap-client.crt/var/ldap-client.key, còn miền của bạn là example.com, hãy chỉnh sửa /etc/sssd/sssd.conf bằng một cấu hình như sau:


    [sssd]
    services = nss, pam
    domains = example.com

    [domain/example.com]
    ldap_tls_cert = /var/ldap-client.crt
    ldap_tls_key = /var/ldap-client.key
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_provider = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID
    ldap_groups_use_matching_rule_in_chain = true
    ldap_initgroups_use_matching_rule_in_chain = true

  3. Thay đổi quyền sở hữu và quyền của tệp cấu hình:

    $ sudo chown root:root /etc/sssd/sssd.conf
    $ sudo chmod 600 /etc/sssd/sssd.conf

  4. Khởi động lại SSSD:

    $ sudo service sssd restart

Lưu ý: Nếu đang sử dụng mô-đun SSSD trên máy tính Linux không có địa chỉ IP bên ngoài trên Google Compute Engine, bạn vẫn có thể kết nối với dịch vụ LDAP bảo mật miễn là bạn đã bật quyền truy cập nội bộ vào các dịch vụ của Google. Để biết thông tin chi tiết, hãy xem phần Định cấu hình quyền truy cập riêng tư vào Google.

macOS

Hãy làm theo các bước bên dưới để kết nối ứng dụng macOS nhằm xác thực tài khoản người dùng bằng dịch vụ LDAP bảo mật.

Yêu cầu về hệ thống

  • macOS phải là Catalina phiên bản 10.15.4 trở lên.
  • Bạn cần có mã nhận dạng người dùng quản trị viên cấp cao của Google để hoàn tất bước 1 trong giai đoạn chuẩn bị.
  • Bạn cần có quyền quản trị viên cục bộ để thực hiện cấu hình này.

Nội dung:

Giai đoạn chuẩn bị

Hướng dẫn trong phần này tập trung vào cách thiết lập và kiểm thử quy trình xác thực macOS theo cách thủ công bằng dịch vụ LDAP bảo mật.

Bước 1: Thiết lập macOS làm ứng dụng LDAP trong Bảng điều khiển dành cho quản trị viên của Google

Để biết hướng dẫn, hãy xem phần Thêm ứng dụng LDAP hoặc xem bản minh hoạ về LDAP bảo mật này. Bạn cũng sẽ tải một chứng chỉ ứng dụng TLS được tạo tự động xuống trong quá trình này.

Bước 2: Nhập chứng chỉ vào chuỗi khoá hệ thống

  1. Sao chép chứng chỉ (tệp zip đã tải xuống ở bước 1) và khoá vào máy macOS.
    Lưu ý: Giải nén tệp để tìm tệp chứng chỉ và khoá.
  2. Nhập cặp khoá vào chuỗi khoá hệ thống:
    1. Chuyển đổi khoá và chứng chỉ thành tệp PKCS 12 (p12). Chạy lệnh sau trong cửa sổ dòng lệnh:

      openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key

      Lưu ý: Ghi lại tên của tệp .p12.

      Hệ thống sẽ yêu cầu bạn nhập mật khẩu. Nhập mật khẩu để mã hoá tệp p12.

    2. Mở ứng dụng Keychain Access.

    3. Nhấp vào chuỗi khoá Hệ thống.

    4. Nhấp vào File > Import Items (Tệp > Nhập mục).

    5. Chọn tệp ldap-client.p12 mà bạn đã tạo ở trên.

    6. Nếu được nhắc, hãy nhập mật khẩu quản trị để cho phép sửa đổi chuỗi khoá hệ thống.

    7. Nhập mật khẩu bạn đã tạo ở trên để giải mã tệp .p12.

      Lưu ý: Bạn sẽ thấy một chứng chỉ mới và khoá riêng tư liên kết xuất hiện trong danh sách khoá. Mục này có thể được gọi là Ứng dụng LDAP. Viết tên của chứng chỉ xuống để dùng cho bước tiếp theo bên dưới.
    8. Làm theo bước 6 trong phần ldapsearch (macOS) trong bài viết này để thiết lập Quyền kiểm soát truy cập cho khoá riêng tư nhằm thêm các ứng dụng được chỉ định bên dưới. Nếu khoá riêng tư không xuất hiện trong danh mục Tất cả các mục, hãy thử chuyển sang danh mục Chứng chỉ của tôi và tìm mục khoá riêng tư phù hợp bằng cách mở rộng chứng chỉ tương ứng.

      Ứng dụng ldapsearch, như được chỉ định trong hướng dẫn, chỉ phù hợp nếu cần khắc phục sự cố và không dùng cho các mục đích khác. Thường thì người dùng sẽ xoá khoá này trước khi cấp quyền truy cập vào macOS.

      Bạn phải thêm 3 ứng dụng sau vào Danh sách kiểm soát quyền truy cập:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Thêm một dòng vào tệp /etc/openldap/ldap.conf, đảm bảo rằng "LDAP Client" có tên chứng chỉ giống hệt như tên chứng chỉ xuất hiện trong ứng dụng macOS Keychain Access sau khi nhập tệp .p12 (tên này lấy từ Tên chung của chủ thể X.509 của chứng chỉ đã tạo):

    sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'

Bước 3: Trỏ thiết bị đến thư mục Google để xác thực

Mở ứng dụng Directory Utility (Tiện ích thư mục) để tạo một nút thư mục LDAP mới:

  1. Nhấp vào biểu tượng khoá để thực hiện các thay đổi rồi nhập mật khẩu của bạn.
  2. Chọn LDAPv3 rồi nhấp vào biểu tượng bút chì để chỉnh sửa chế độ cài đặt.
  3. Nhấp vào Mới...
  4. Đối với tên máy chủ, hãy nhập ldap.google.com, chọn Mã hoá bằng SSL rồi nhấp vào Thủ công.
  5. Chọn tên máy chủ mới rồi nhấp vào Chỉnh sửa...
  6. Nhập tên mô tả như Google Secure LDAP cho tên cấu hình.
  7. Chọn Mã hoá bằng SSL và đảm bảo cổng được đặt thành 636.
  8. Chuyển đến thẻ Tìm kiếm và lập bản đồ.
    1. Chọn RFC2307 trong danh sách thả xuống Truy cập vào máy chủ LDAPv3 này bằng cách sử dụng.
    2. Khi được nhắc, hãy nhập thông tin liên quan đến miền vào Search Base Suffix (Hậu tố cơ sở tìm kiếm). Ví dụ: nhập dc=zomato,dc=com cho tên miền zomato.com.
    3. Nhấp vào OK.
    4. Định cấu hình các thuộc tính trong loại bản ghi Người dùng:
      1. Trong phần Record Types and Attributes (Loại và thuộc tính bản ghi), hãy chọn Users (Người dùng) rồi nhấp vào nút "+".
      2. Trong cửa sổ bật lên, hãy chọn Attribute Types (Loại thuộc tính), chọn GeneratedUID (GeneratedUID) rồi nhấp vào OK để đóng cửa sổ bật lên.

        GeneratedUID sẽ xuất hiện trong mục Người dùng sau khi được mở rộng.
      3. Nhấp vào GeneratedUID rồi nhấp vào biểu tượng "+" trong hộp ở bên phải.
      4. Nhập apple-generateduid vào hộp văn bản, rồi nhấp vào Enter.
      5. Trong nút Users (Người dùng), hãy nhấp vào thuộc tính NFSHomeDirectory.
      6. Trong màn hình ở bên phải, hãy cập nhật giá trị của thuộc tính này thành #/Users/$uid$
      7. Nhấp vào OK rồi nhập mật khẩu để lưu các thay đổi.
  9. Trong cửa sổ Directory Utility (Tiện ích thư mục), hãy định cấu hình cấu hình LDAP mới:
    1. Chuyển đến thẻ Chính sách tìm kiếm.
    2. Nhấp vào biểu tượng khoá để thực hiện các thay đổi rồi nhập mật khẩu của người dùng hiện tại khi được nhắc.
    3. Thay đổi lựa chọn trong trình đơn thả xuống từ Đường dẫn tìm kiếm thành Đường dẫn tuỳ chỉnh.
    4. Mở thẻ Xác thực rồi nhấp vào biểu tượng "+".
    5. Chọn /LDAPv3/ldap.google.com trong danh sách Directory Domains (Miền trong danh bạ), rồi nhấp vào Add (Thêm).
    6. Nhấp vào nút Áp dụng rồi nhập mật khẩu quản trị nếu được nhắc.
  10. Chạy 4 lệnh sau để tắt cơ chế xác thực DIGEST-MD5, CRAM-MD5, NTLM và GSSAPI SASL. macOS sẽ sử dụng Simple Bind để xác thực bằng dịch vụ LDAP bảo mật của Google:

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

  11. Khởi động lại để tải lại cấu hình OpenDirectory.

Bước 4: Tạo tài khoản di động (cho phép đăng nhập khi không có mạng)

Mọi người dùng Google Workspace hoặc Cloud Identity đều có thể đăng nhập bằng tài khoản mạng (Tài khoản Google) bằng tên người dùng và mật khẩu của họ. Quy trình đăng nhập này cần có kết nối mạng. Nếu người dùng cần đăng nhập có hoặc không có kết nối mạng, thì họ có thể tạo tài khoản mạng di động. Tài khoản mạng di động cho phép bạn sử dụng tên người dùng và mật khẩu của tài khoản mạng (Tài khoản Google) để đăng nhập, bất kể bạn có kết nối với mạng hay không. Để biết thêm thông tin, hãy xem bài viết Tạo và định cấu hình tài khoản di động trên máy Mac.

Cách tạo tài khoản di động cho người dùng LDAP bảo mật:

  1. Chạy lệnh sau để kết nối với máy chủ Giao thức truy cập thư mục hạng nhẹ (LDAP) bảo mật và thiết lập đường dẫn chính và (các) tài khoản mạng di động:

    sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v

    Lưu ý: Thay thế $uid bằng phần tên người dùng của địa chỉ email được liên kết với Tài khoản Google của người dùng. Ví dụ: jsmith là phần tên người dùng của jsmith@solarmora.com.

  2. Khi được nhắc nhập tên người dùng quản trị viên SecureToken, hãy nhập tên người dùng quản trị viên của bạn và nhập mật khẩu của bạn trong lời nhắc tiếp theo. Thao tác này sẽ thêm $uid vào FileVault. Bạn cần thực hiện việc này nếu ổ đĩa macOS được mã hoá.

Bước 5: (Không bắt buộc) Đặt lựa chọn ưu tiên cho màn hình đăng nhập

  1. Chuyển đến phần System preferences > Users & Groups > Login Options (Tuỳ chọn đăng nhập) ở dưới cùng bên trái.
  2. Mở khoá bằng cách cung cấp thông tin đăng nhập của quản trị viên.
  3. Thay đổi chế độ Hiển thị cửa sổ đăng nhập dưới dạng thành Tên và mật khẩu.

Bước 6: Khởi động lại và đăng nhập vào thiết bị

  1. Đảm bảo thiết bị đã kết nối với Internet. Nếu bạn không có kết nối Internet, thì thông tin đăng nhập cho người dùng LDAP bảo mật sẽ không hoạt động.
    Lưu ý: Bạn chỉ cần kết nối Internet cho lần đăng nhập đầu tiên. Bạn có thể đăng nhập vào những lần tiếp theo mà không cần có Internet.
  2. Đăng nhập vào thiết bị bằng tài khoản người dùng được định cấu hình để sử dụng LDAP bảo mật cho mục đích xác thực.

Giai đoạn triển khai

Hướng dẫn trong phần này tập trung vào việc tự động hoá cấu hình thiết bị cho người dùng. Thực hiện bước 1 và 2 bên dưới trên cùng một thiết bị macOS mà bạn đã hoàn tất cấu hình thủ công trong giai đoạn chuẩn bị.

Bước 1: Tạo hồ sơ Mac có chứng chỉ bằng Apple Configurator 2

  1. Cài đặt Apple Configurator 2 trên máy mà bạn đã định cấu hình phương thức xác thực macOS theo cách thủ công bằng LDAP bảo mật.
  2. Mở Apple Configurator 2, tạo một hồ sơ mới và trong phần Chứng chỉ, hãy nhấp vào Định cấu hình rồi nhập tệp .p12 đã tạo trước đó.

    Lưu ý: Hãy đảm bảo rằng tệp .p12 này có mật khẩu. Nhập mật khẩu này vào phần Mật khẩu của Chứng chỉ.

  3. Lưu hồ sơ này.
  4. (Đối với các thiết bị dùng bộ xử lý M1 hoặc M2, hãy bỏ qua bước này và chuyển sang Bước 5. ) Mở hồ sơ này trong bất kỳ trình chỉnh sửa văn bản nào và thêm các dòng sau vào thẻ <dict> đầu tiên:

    <key>PayloadScope</key>
    <string>System</string>


    Thao tác này được thêm vào vì Apple Configurator hiện chưa hỗ trợ hồ sơ cho macOS.
  5. Trong thẻ <dict> thứ hai, song song với dữ liệu chứng chỉ, hãy thêm các dòng sau:

    <key>AllowAllAppsAccess</key>
    <true/>


    Thao tác này sẽ đảm bảo rằng tất cả các ứng dụng đều có thể truy cập vào chứng chỉ này.

Bước 2: Chuyển đổi tệp cấu hình Thư mục (plist) sang xml

Trong bước này, bạn sẽ trích xuất tất cả các cấu hình thủ công mà bạn đã hoàn thành trong bước 3 của giai đoạn chuẩn bị vào một tệp XML. Bạn có thể sử dụng tệp này và hồ sơ Mac đã tạo ở bước 1 ở trên để tự động định cấu hình các thiết bị macOS khác.

  1. Sao chép /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist vào màn hình hoặc một vị trí khác trên máy tính.
  2. Chuyển đổi tệp này sang XML để bạn có thể kiểm tra trong bất kỳ trình chỉnh sửa văn bản nào. Chạy lệnh sau trong Terminal:

    sudo plutil -convert xml1 <path>/ldap.google.com.plist

    Bạn có thể truy cập vào tệp dưới dạng <path>/ldap.google.com.plist.
  3. Thay đổi quyền của tệp nêu trên để bạn có thể mở tệp XML. Đảm bảo rằng trường này không được để trống.

Bước 3: Tạo một tập lệnh Python để tự động hoá cấu hình trên thiết bị của người dùng cuối

Sao chép tập lệnh python bên dưới và lưu dưới dạng tệp python (tệp .py).

Lưu ý: Tập lệnh mẫu này được thiết kế để tương thích với Python phiên bản 3.10.x. Tập lệnh này được cung cấp theo nguyên trạng. Nhóm hỗ trợ của Google sẽ không hỗ trợ các tập lệnh mẫu.

Ldap_python_config.py

#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData

import os
import sys

# Reading plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()

# Write the plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b' '*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)

# Edit the default search path and append the new node to allow for login
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")

Bước 4: Tự động định cấu hình thiết bị của người dùng cuối

Chuyển đến các thiết bị macOS khác mà bạn muốn định cấu hình rồi làm theo các bước sau:

  1. Sao chép tệp Hồ sơ Mac được tạo ở bước 1, tệp cấu hình XML được tạo ở bước 2 và tập lệnh Python ở bước 3 vào thiết bị.
  2. Để cài đặt phần phụ thuộc cần thiết cho tập lệnh, hãy chạy lệnh sau:
    python3 -m pip install pyobjc-framework-opendirectory
  3. Chạy lệnh sau:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. Để nhập chứng chỉ vào chuỗi khoá hệ thống macOS, hãy nhấp đúp vào tệp hồ sơ Mac được tạo ở bước 1, rồi cung cấp thông tin đăng nhập của quản trị viên cục bộ macOS khi được nhắc. Sau đó, bạn sẽ được nhắc nhập mật khẩu .p12 mà bạn đã đặt trong giai đoạn chuẩn bị.
  5. Khởi động lại máy macOS.
  6. Tạo tài khoản di động theo hướng dẫn ở bước 4 của giai đoạn chuẩn bị và bạn có thể đặt các lựa chọn ưu tiên bổ sung được nêu ở bước 5 của giai đoạn chuẩn bị.

Giới hạn và nguyên tắc

  • Đối với người dùng đăng nhập vào macOS bằng thông tin đăng nhập Google, tên người dùng tài khoản Workspace của họ phải khác với mã nhận dạng người dùng trong hồ sơ người dùng macOS, nếu không, họ sẽ không đăng nhập được.
  • Khi người dùng bắt đầu đăng nhập vào macOS bằng thông tin đăng nhập Google, hoạt động quản lý mật khẩu người dùng (đặt lại hoặc khôi phục) phải diễn ra trên trang web của Google (ví dụ: tại myaccount.google.com hoặc trong Bảng điều khiển dành cho quản trị viên của Google). Nếu bạn chọn quản lý mật khẩu bằng một giải pháp của bên thứ ba, hãy đảm bảo rằng mật khẩu mới nhất được đồng bộ hoá với Google.
  • Nếu quản trị viên tạo người dùng mới hoặc đặt lại mật khẩu của người dùng hiện tại khi bật chế độ cài đặt Yêu cầu thay đổi mật khẩu vào lần đăng nhập tiếp theo, thì người dùng sẽ không thể đăng nhập vào máy Mac bằng mật khẩu tạm thời do quản trị viên đặt.
    Giải pháp: Người dùng cần đăng nhập vào Google bằng một thiết bị khác (ví dụ: thiết bị di động hoặc thiết bị máy tính khác), đặt mật khẩu cố định rồi đăng nhập vào macOS bằng mật khẩu mới.
  • Máy Mac phải được kết nối với Internet đang hoạt động để có thể truy cập vào ldap.google.com trong lần đăng nhập đầu tiên sau khi thiết lập như trên. Bạn không cần có Internet cho những lần đăng nhập tiếp theo, miễn là bạn chọn thiết lập tài khoản mạng di động.
  • Tính năng tích hợp LDAP bảo mật của Google với macOS đã được kiểm thử trên macOS Catalina, Big Sur và Monterey.

Khắc phục sự cố

Nếu bạn gặp vấn đề khi kết nối với dịch vụ LDAP bảo mật, hãy làm theo hướng dẫn bên dưới.

Bước 1: Xác minh kết nối.

Xác minh kết nối bằng odutil.
Chạy lệnh odutil show nodenames trong cửa sổ dòng lệnh.
Xác minh rằng trạng thái /LDAPv3/ldap.google.comđang hoạt động. Nếu không có trên mạng, hãy thử lựa chọn telnet.

Xác minh kết nối bằng nc.
Thực thi lệnh sau trong thiết bị đầu cuối: nc -zv ldap.google.com 636
Nếu không thể kết nối với Google bằng phương pháp này, hãy thử kết nối bằng IPv4.

Xác minh kết nối bằng IPv4.
Bạn có thể thay đổi thiết bị để sử dụng IPv4 theo các bước sau:

  1. Chuyển đến phần Lựa chọn ưu tiên về hệ thống > Mạng > Wi-Fi > Nâng cao.
  2. Trong trình đơn Nâng cao, hãy chuyển đến thẻ TCP/IP.
  3. Thay đổi lựa chọn trong trình đơn thả xuống từ Configure IPv6 (Định cấu hình IPv6) thành Link-local only (Chỉ liên kết cục bộ).
  4. Nhấp vào OK, rồi nhấp vào Áp dụng để lưu các thay đổi.
  5. Kiểm tra hoạt động xác thực dịch vụ thông qua kết nối ldapsearch và tìm kiếm hợp lệ.

Bước 2: Kiểm tra xem bạn có thể thấy các đối tượng trong thư mục hay không.

  1. Mở Directory Utility (Tiện ích thư mục), rồi mở thẻ Directory Editor (Trình chỉnh sửa thư mục).
  2. Chọn nút /LDAPv3/ldap.google.com trong danh sách thả xuống.
  3. Xác minh xem bạn có thể thấy người dùng và nhóm trong miền mua qua Google của mình hay không.

Hướng dẫn định cấu hình cho các ứng dụng Java

Bạn có thể định cấu hình hầu hết các ứng dụng dựa trên Java cung cấp chức năng LDAP để xác thực bằng chứng chỉ ứng dụng bằng cách cài đặt chứng chỉ ứng dụng trong kho khoá của ứng dụng. Các tệp cấu hình chính xác sẽ khác nhau giữa các ứng dụng, nhưng quy trình thường tương tự nhau. Để thiết lập, bạn cần cài đặt OpenSSL và Môi trường chạy Java.

  1. Chuyển đổi chứng chỉ và khoá sang định dạng kho khoá Java. Bạn sẽ được nhắc nhập mật khẩu trong suốt quá trình này. Chọn một mật khẩu an toàn và sử dụng mật khẩu đó trong tất cả các lời nhắc. Giả sử tệp khoá ứng dụng của bạn có tên là ldap-client.key:

    Nếu bạn đang dùng macOS hoặc Linux, hãy sử dụng các lệnh sau:

    $  openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
    

    Nếu bạn đang dùng Windows, hãy sử dụng các lệnh sau:

    $  certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12
    

    Lưu ý quan trọng: Hai tệp (<CERT_FILE>.crt<CERT_FILE>.key) phải nằm trong cùng một thư mục. Ngoài ra, hãy đảm bảo cả keycrt đều có tên giống nhau (với 2 đuôi khác nhau). Trong ví dụ này, chúng ta sử dụng các tên ldap-client.crtldap-client.key.

  2. Nhập chứng chỉ vào kho khoá:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. Bạn có thể định cấu hình các thuộc tính Java theo nhiều cách, tuỳ thuộc vào ứng dụng. Thông thường, bạn có thể đặt các thuộc tính này bằng tuỳ chọn -D trên dòng lệnh "java" dùng để khởi động. Đặt các thuộc tính Java cho ứng dụng của bạn:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. Định cấu hình chế độ cài đặt kết nối LDAP của ứng dụng bằng thông tin trong Hướng dẫn định cấu hình cơ bản.

Không bắt buộc: Sử dụng stunnel làm proxy

Đối với những ứng dụng không cung cấp cách xác thực với LDAP bằng chứng chỉ ứng dụng, hãy dùng stunnel làm proxy.

Định cấu hình stunnel để cung cấp chứng chỉ ứng dụng cho máy chủ LDAP và định cấu hình ứng dụng để kết nối với stunnel. Tốt nhất là bạn nên chạy stunnel trên(các) máy chủ giống như ứng dụng của mình và chỉ nghe cục bộ để không làm lộ thư mục LDAP ra ngoài máy chủ đó.

Làm theo các bước sau:

  1. Cài đặt stunnel. Ví dụ: trên Ubuntu:

    $  sudo apt-get install stunnel4
    
  2. Tạo tệp cấu hình /etc/stunnel/google-ldap.conf có nội dung sau (giả sử ldap-client.crt là chứng chỉ và ldap-client.key là khoá):

    [ldap]
    client = yes
    accept = 127.0.0.1:1636
    connect = ldap.google.com:636
    cert = ldap-client.crt
    key =
    ldap-client.key

  3. Để bật stunnel, hãy chỉnh sửa /etc/default/stunnel4 và đặt ENABLED=1.

  4. Khởi động lại stunnel.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. Định cấu hình ứng dụng để trỏ đến ldap://127.0.0.1:1636.

    Bạn có thể thay thế "1636" bằng bất kỳ cổng nào chưa sử dụng nếu bạn cũng thay đổi dòng accept trong tệp cấu hình ở trên. Bạn cần sử dụng LDAP văn bản thuần tuý mà không bật StartTLS/SSL/TLS giữa ứng dụng và stunnel, vì chúng đang giao tiếp cục bộ.

Lưu ý: Nếu chọn chạy stunnel trên một máy chủ riêng, bạn phải định cấu hình tường lửa để chỉ những ứng dụng cần thiết mới có thể truy cập vào máy chủ stunnel của bạn. Bạn cũng có thể định cấu hình stunnel để nghe bằng TLS, nhờ đó dữ liệu giữa ứng dụng và máy chủ stunnel sẽ được mã hoá. Thông tin chi tiết về cả hai cấu hình này phụ thuộc vào môi trường của bạn.

Các bước tiếp theo

Sau khi kết nối ứng dụng LDAP với dịch vụ LDAP bảo mật, bạn cần chuyển trạng thái dịch vụ thành Bật cho ứng dụng LDAP.

Để biết các bước tiếp theo, hãy xem 5. Chuyển ứng dụng LDAP sang trạng thái Bật.

Lưu ý: Nếu cần, bạn có thể sử dụng các công cụ đơn giản như ldapsearch, ADSI hoặc ldp.exe để khắc phục sự cố nếu gặp lỗi khi cố gắng kết nối ứng dụng LDAP với dịch vụ. Để biết hướng dẫn, hãy xem phần Kiểm thử và khắc phục sự cố về khả năng kết nối.