Pengujian dan pemecahan masalah konektivitas

Fitur ini tersedia di Cloud Identity Premium Edition. Bandingkan edisi 

Sebelum mencoba menghubungkan klien LDAP Anda ke layanan LDAP Aman, secara opsional, Anda dapat melakukan uji konektivitas cepat menggunakan alat sederhana, seperti ldapsearch, ADSI, atau ldp.exe. Alat ini juga dapat digunakan untuk memecahkan masalah jika terjadi error saat mencoba menghubungkan klien LDAP Anda ke layanan.

Dengan pengujian sebagaimana dijelaskan pada bagian-bagian di bawah, Anda dapat mengetahui seandainya terjadi masalah konfigurasi di pihak Anda, pesan error umum, juga memperoleh rekomendasi tentang cara memperbaiki masalah tersebut.

Artikel ini berisi bagian-bagian berikut:

Catatan: Jika Anda perlu menghubungi Google Workspace Dukungan atau Dukungan Cloud Identity Premium selama proses ini, pastikan untuk menyimpan output perintah. Pastikan Anda menghapus semua informasi identitas pribadi dari output sebelum membagikannya ke tim dukungan.

Memverifikasi konektivitas dan menjalankan kueri LDAP

Setelah menyiapkan layanan LDAP Aman di konsol Google Admin, Anda dapat menggunakan salah satu dari tiga alat sederhana ini untuk memverifikasi konektivitas dengan LDAP Aman: ldapsearch, ADSI, atau ldp.exe. Untuk mengetahui detail dan petunjuknya, lihat bagian di bawah.

ldapsearch

Gunakan utilitas ldapsearch dari command line untuk membuat kueri LDAP dasar. Hasil kueri LDAP yang berhasil akan menunjukkan bahwa klien LDAP dan sesi TLS dasar serta sambungan TCP berfungsi sebagaimana mestinya.

Untuk menguji konektivitas dengan ldapsearch:

  1. Buat konfigurasi LDAP, lalu download sertifikatnya dengan mengikuti petunjuk di 1. Menambahkan klien LDAP.

    Catatan: Untuk menyederhanakan lingkungan pengujian, pastikan ada sedikitnya satu pengguna di unit organisasi yang diberi otorisasi untuk mengakses klien LDAP.
     
  2. Jalankan kueri LDAP.

    Perintah berikut adalah contoh cara menggunakan alat command line ldapsearch untuk mengajukan kueri pengguna tertentu (untuk mengetahui detail selengkapnya, lihat OpenLDAP lapsearch): 
     

    LDAPTLS_CERT={crt_file} LDAPTLS_KEY={key_file} ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} '(mail={user_email})'

    Ganti placeholder berikut:

    {crt_file} : Nama file .crt
    {key_file} : Nama file dari file .key
    {domain} : Setiap bagian dari nama domain, misalnya: example.com akan menjadi "dc=example,dc=com"
    {user_email} : Alamat email primer dari pengguna di domain.

Gunakan ldapsearch dengan stunnel

Jika deployment Anda mewajibkan penggunaan stunnel, gunakan perintah berikut:

ldapsearch -H ldap://{stunnel_host}:{stunnel_port} -b
dc={domain},dc={domain} '(mail={user_email})'

Ganti placeholder khusus untuk stunnel:
{stunnel_host} : Alamat IP atau nama host perangkat yang menjalankan stunnel di jaringan Anda.
{stunnel_port} : port tempat stunnel berjalan, periksa konfigurasi stunnel Anda

Skenario perintah ldapsearch yang berhasil

Output perintah ldapsearch yang berhasil akan mencantumkan pengguna beserta email (sebagaimana ditentukan saat membuat klien LDAP) dalam format LDIF.

Contoh:

# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# example.com
dn: dc=example,dc=com
objectClass: top
objectClass: domain
objectClass: dcObject
dc: example

# admin-group, Groups, example.com
dn: cn=admin-group,ou=Groups,dc=example,dc=com
objectClass: top
objectClass: groupOfNames
objectClass: posixGroup
cn: admin-group
displayName: admin-group
description:
gidNumber: 12345
member: uid=admin,ou=Users,dc=example,dc=com
memberUid: admin
googleAdminCreated: FALSE


# example-user, Users, example.com
dn: uid=example-user,ou=Users,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
uid: example-user
googleUid: example-user
posixUid: example-user
cn: example-user
cn: FirstName LastName
sn: FirstName
displayName: FirstName LastName
givenName: FirstName
mail: example-user@example.com
uidNumber: 12345
gidNumber: 12345
homeDirectory: /home/example-user
loginShell: /bin/bash
gecos:

Kemungkinan error

  • Klien dan/atau koleksi OpenLDAP dikompilasi tanpa dukungan SNI

    SNI (Indikasi Nama Server) harus didukung oleh klien LDAP (Dalam hal ini OpenLDAP). Jika SNI tidak tersedia,  mungkin akan muncul error seperti ini:

    SASL/EXTERNAL authentication started

    ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
     additional info: SASL(-4): no mechanism available:

    Rekomendasi:
    • Jika Anda menggunakan MacOS, SASL diaktifkan secara default dan dapat diabaikan dengan opsi "-x".
    • Tambahkan opsi -d5 ke ldapsearch, lalu periksa output untuk baris berikut:

      TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client.
       
  • ldapsearch menampilkan status 0 (berhasil), tetapi tidak ada pengguna dalam output

    Menentukan opsi ldapsearch -x (gunakan autentikasi SASL) dengan sertifikat klien akan membuat autentikasi berhasil, tetapi tidak akan mencantumkan pengguna di domain.

    Rekomendasi: Hapus opsi -x ,lalu coba lagi.

ADSI Edit (Windows)
  1. Ikuti langkah 1–11 di ldp.exe (Windows) untuk menginstal sertifikat klien.
  2. Buka Action > Connect to…
  3. Masukkan setelan sambungan berikut:

    Name: Ketik nama untuk sambungan Anda, misalnya Google LDAP.
    Connection Point: “Pilih atau ketik Distinguished Name atau Naming Context”
    Masukkan nama domain Anda dalam format DN (misalnya, dc=example,dc=com untuk example.com).

    Computer: “Pilih atau ketik domain atau server”
    ldap.google.com

    Use SSL-based Encryption: Dicentang
     
  4. Klik Advanced..., lalu masukkan detail berikut:

    Specify credentials: Dicentang
    Username: Nama pengguna kredensial akses dari konsol Admin
    Password: Sandi kredensial akses dari konsol Admin
    Port Number: 636
    Protocol: LDAP
    Simple bind authentication: Dicentang
     
  5. Klik OK, lalu klik OK lagi.
  6. Jika konektivitas berhasil, konten direktori di DN dasar ditampilkan di panel sebelah kanan.
ldp.exe (Windows)
  1. Instal OpenSSL.
  2. Konversikan file sertifikat dan kunci menjadi satu file berformat PKCS12. Di command prompt, masukkan perintah berikut:

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

    Masukkan sandi untuk mengenkripsi file output.
     
  3. Buka Control Panel.
  4. Di kotak penelusuran, telusuri “certificate", lalu klik Manage user certificates.
  5. Buka Action > All Tasks > Import…
  6. Pilih Current User, lalu klik Next.
  7. Klik Browse…
  8. Pada menu drop-down file type di pojok kanan bawah kotak dialog, pilih Personal Information Exchange (*.pfx;*.p12).
  9. Pilih file ldap-client.p12 dari langkah 2, klik Open, lalu klik Next.
  10. Masukkan sandi dari langkah 2, lalu klik Next.
  11. Pilih penyimpanan sertifikat Personal, klik Next, lalu klik Finish.
  12. Jalankan Ldp.exe.
  13. Buka Connection > Connect...
  14. Masukkan detail sambungan berikut:

    Server: ldap.google.com
    Port: 636
    Connectionless: Tidak dicentang
    SSL: Dicentang
     
  15. Klik OK.
  16. Buka View > Tree.
  17. Masukkan DN dasar. Ini adalah nama domain Anda dalam format DN. (misalnya, dc=example,dc=com untuk example.com).
  18. Klik OK.
  19. Jika konektivitas berhasil, konten direktori di DN dasar ditampilkan di panel sebelah kanan.

Menjalankan pengujian konektivitas dasar jika diperlukan

Jika gagal Memverifikasi konektivitas dan menjalankan kueri LDAP, ikuti petunjuk di bagian ini untuk pengujian konektivitas. Jika ldapsearch gagal menampilkan pengguna yang diinginkan dan tidak memberi indikasi yang jelas apakah sesi TLS dasar berhasil, gunakan klien OpenSSL untuk memastikan bahwa lapisan jaringan yang digunakan OpenLDAP berfungsi sebagaimana mestinya.

Untuk melakukan uji konektivitas dasar:

  1. Instal utilitas klien openssl untuk sistem operasi Anda.

    Sebagian besar distribusi GNU/Linux menggunakan nama paket "openssl". Lihat detail tentang sistem operasi lain.
     
  2.  Buat sambungan manual ke layanan LDAP Aman menggunakan klien openssl:

    openssl s_client -connect ldap.google.com:636

    Pastikan negosiasi SSL berhasil dengan adanya baris berikut di akhir output openssl s_client: 

    Verify return code: 0 (ok)

Kemungkinan error

Klien/koleksi OpenSSL tidak mendukung SNI (Indikasi Nama Server)

Selama uji konektivitas, output berikut mungkin akan ditampilkan:

Verify return code: 18 (self signed certificate)

Layanan LDAP Aman memerlukan klien TLS yang mendukung dan memulai sesi TLS menggunakan SNI (Indikasi Nama Server). Jika klien TLS tidak mendukung SNI, server TLS (ldap.google.com) akan menampilkan sertifikat yang ditandatangani sendiri yang akan gagal dalam pemeriksaan validasi CA, untuk menunjukkan bahwa SNI diperlukan.

Perilaku ini dapat dipastikan dengan memeriksa baris berikut di dekat bagian awal output klien OpenSSL:

depth=0 OU = "No SNI provided; please fix your client.", CN = invalid2.invalid

Penyebab error ini di antaranya adalah versi OpenSSL yang tidak mendukung SNI, atau aplikasi yang menggunakan koleksi OpenSSL dengan SNI dinonaktifkan secara eksplisit.

Sambungan ditolak

Jika output berikut ditampilkan, dengan {timestamp} sebagai stempel waktu UNIX dalam mikrodetik, artinya koneksi TCP secara aktif ditolak sebelum negosiasi TLS dimulai:

{timestamp}:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
{timestamp}:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:connect:errno=111

Hal ini kemungkinan disebabkan oleh:

  • Firewall tingkat aplikasi atau tingkat sistem di perangkat lokal
  • Firewall di jaringan fisik atau jaringan upstream yang sama

Untuk menginvestigasi error ini, gunakan tcptraceroute untuk mencari tahu host yang menolak sambungan—misalnya, tcptraceroute ldap.google.com 636.

Artikel terkait

Apakah ini membantu?
Bagaimana cara meningkatkannya?