Red SWL (V): Debian Wheezy dan ClearOS. Autentikasi SSSD terhadap LDAP asli.

Halo teman-teman!. Tolong, saya ulangi, baca sebelumnya «Pengenalan ke Jaringan dengan Perangkat Lunak Gratis (I): Presentasi ClearOS»Dan unduh paket gambar instalasi ClearOS Langkah-demi-Langkah (1,1 mega), untuk mengetahui apa yang sedang kita bicarakan. Tanpa pembacaan itu akan sulit untuk mengikuti kita.

Daemon Layanan Keamanan Sistem

Programnya SSSD o Daemon untuk Layanan Keamanan Sistem, adalah proyek dari Fedora, yang lahir dari proyek lain -juga dari Fedora- bernama IPA Gratis. Menurut penciptanya sendiri, definisi singkat dan diterjemahkan secara bebas adalah:

SSSD adalah layanan yang menyediakan akses ke penyedia Identitas dan Otentikasi yang berbeda. Ini dapat dikonfigurasi untuk domain LDAP asli (penyedia identitas berbasis LDAP dengan otentikasi LDAP), atau untuk penyedia identitas LDAP dengan otentikasi Kerberos. SSSD menyediakan antarmuka ke sistem melalui NSS y PAM, dan Back End yang dapat disisipkan untuk menghubungkan ke beberapa akun asal yang berbeda.

Kami percaya bahwa kami menghadapi solusi yang lebih komprehensif dan kuat untuk identifikasi dan otentikasi pengguna terdaftar di OpenLDAP, daripada yang dibahas di artikel sebelumnya, sebuah aspek yang diserahkan kepada kebijaksanaan setiap orang dan pengalaman mereka sendiri.

Solusi yang diusulkan dalam artikel ini adalah yang paling direkomendasikan untuk komputer seluler dan laptop, karena memungkinkan kami untuk bekerja secara offline, karena SSSD menyimpan kredensial di komputer lokal.

Contoh jaringan

  • Pengontrol Domain, DNS, DHCP: ClearOS Perusahaan 5.2sp1.
  • Nama Pengontrol: CentOS
  • Nama domain: friends.cu
  • IP Pengontrol: 10.10.10.60
  • ---------------
  • Versi Debian: Mengi.
  • Nama tim: debian7
  • Alamat IP: Menggunakan DHCP

Kami memeriksa bahwa server LDAP berfungsi

Kami memodifikasi file /etc/ldap/ldap.conf dan instal paketnya ldap-utils:

: ~ # nano /etc/ldap/ldap.conf
[----] BASE dc = friends, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ # aptitude install ldap-utils: ~ $ ldapsearch -x -b 'dc = friends, dc = cu' '(objectclass = *)': ~ $ ldapsearch -x -b dc = friends, dc = cu 'uid = langkah
: ~ $ ldapsearch -x -b dc = friends, dc = cu 'uid = legolas' cn gidNumber

Dengan dua perintah terakhir, kami memeriksa ketersediaan server OpenLDAP dari ClearOS kami. Mari kita lihat baik-baik output dari perintah sebelumnya.

Penting: kami juga telah memverifikasi bahwa Layanan Identifikasi di server OpenLDAP kami berfungsi dengan benar.

network-swl-04-users

Kami menginstal paket sssd

Juga disarankan untuk menginstal paket jari untuk membuat cek lebih bisa diminum daripada pencarian ldap:

: ~ # aptitude install jari sssd

Setelah menyelesaikan penginstalan, layanan ssd tidak dimulai karena file hilang /etc/sssd/sssd.conf. Output dari instalasi mencerminkan hal ini. Oleh karena itu, kita harus membuat file itu dan membiarkannya dengan konten minimum berikutnya:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD tidak akan dimulai jika Anda tidak mengkonfigurasi domain apa pun. # Tambahkan konfigurasi domain baru sebagai [domain / ], dan # lalu tambahkan daftar domain (dalam urutan yang Anda inginkan agar # dikueri) ke atribut "domain" di bawah dan hapus komentarnya. domain = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # domain LDAP [domain / amigos.cu] id_provider = ldap
auth_provider = ldap
chpass_provider = ldap # ldap_schema dapat disetel ke "rfc2307", yang menyimpan nama anggota grup di atribut # "memberuid", atau ke "rfc2307bis", yang menyimpan DN anggota grup di # atribut "anggota". Jika Anda tidak mengetahui nilai ini, tanyakan pada administrator LDAP Anda. # bekerja dengan ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = friends, dc = cu # Perhatikan bahwa mengaktifkan enumerasi akan memiliki dampak kinerja yang moderat. # Akibatnya, nilai default untuk pencacahan adalah FALSE. # Lihat halaman manual sssd.conf untuk detil lengkapnya. enumerate = false # Izinkan login offline dengan menyimpan hash kata sandi secara lokal (default: false). cache_credentials = true
ldap_tls_reqcert = izinkan
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Setelah file dibuat, kami menetapkan izin yang sesuai dan memulai ulang layanan:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # layanan sssd restart

Jika kami ingin memperkaya konten file sebelumnya, sebaiknya jalankan man sssd.conf dan / atau lihat dokumentasi yang ada di Internet, dimulai dengan tautan di awal kiriman. Konsultasikan juga man sssd-ldap. Paket ssd menyertakan contoh di /usr/share/doc/sssd/examples/sssd-example.conf, yang dapat digunakan untuk mengotentikasi terhadap Microsoft Active Directory.

Sekarang kita bisa menggunakan perintah yang paling bisa diminum jari y jadilah:

: ~ $ langkah jari
Login: strides Nama: Direktori Strides El Rey: / home / strides Shell: / bin / bash Tidak pernah login. Tidak ada surat. Tidak ada rencana.

: ~ $ sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas The Elf: / home / legolas: / bin / bash

Kami masih tidak dapat mengautentikasi sebagai pengguna server LDAP. Sebelumnya kita harus memodifikasi file tersebut /etc/pam.d/common-session, sehingga folder pengguna secara otomatis dibuat saat Anda memulai sesi Anda, jika tidak ada, lalu reboot sistem:

[----]
sesi diperlukan pam_mkhomedir.so skel = / etc / skel / umask = 0022

### Baris di atas harus disertakan SEBELUM
# berikut adalah modul per paket (blok "Utama") [----]

Kami memulai kembali Wheezy kami:

: ~ # reboot

Setelah masuk, putuskan sambungan jaringan menggunakan Manajer Sambungan dan keluar dan masuk kembali. Tidak lebih cepat. Jalankan di terminal ifconfig dan mereka akan melihat bahwa eth0 itu tidak dikonfigurasi sama sekali.

Aktifkan jaringan. Harap keluar dan masuk lagi. Periksa lagi dengan ifconfig.

Tentu saja, untuk bekerja secara offline, perlu untuk masuk setidaknya sekali saat OpenLDAP sedang online, sehingga kredensial disimpan di komputer kita.

Jangan lupa untuk membuat pengguna eksternal yang terdaftar di OpenLDAP sebagai anggota grup yang diperlukan, selalu memperhatikan pengguna yang dibuat selama instalasi.

catatan:

Deklarasikan opsi ldap_tls_reqcert = tidak pernah, di File /etc/sssd/sssd.conf, merupakan risiko keamanan sebagaimana dinyatakan di halaman SSSD - FAQ. Nilai defaultnya adalah «permintaan«. Lihat man sssd-ldap. Namun, di bab tersebut 8.2.5 Konfigurasi Domain Dari dokumentasi Fedora, ia menanyakan hal berikut:

SSSD tidak mendukung otentikasi melalui saluran yang tidak dienkripsi. Akibatnya, jika Anda ingin mengautentikasi terhadap server LDAP TLS/SSL or LDAPS Dibutuhkan.

SSSD itu tidak mendukung otentikasi melalui saluran yang tidak dienkripsi. Oleh karena itu, jika Anda ingin mengautentikasi terhadap server LDAP, itu akan diperlukan TLS / SLL o LDAP.

Kami pribadi berpikir bahwa solusinya ditangani itu cukup untuk LAN Perusahaan, dari sudut pandang keamanan. Melalui WWW Village, kami merekomendasikan untuk menerapkan saluran terenkripsi menggunakan TLS atau "Lapisan Keamanan Transportasi », antara komputer klien dan server.

Kami mencoba mencapainya dari generasi yang benar dari sertifikat yang Ditandatangani Sendiri atau «Ditandatangani Sendiri “Di server ClearOS, tapi kami tidak bisa. Ini sebenarnya adalah masalah yang menunggu keputusan. Jika ada pembaca yang tahu bagaimana melakukannya, selamat datang untuk menjelaskannya!

debian7.amigos.cu


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   eliotime3000 dijo

    Luar biasa.

    1.    Federico dijo

      Salam ElioTime3000 dan terima kasih telah berkomentar !!!

    2.    Federico dijo

      Salam eliotime3000 dan terima kasih atas pujian untuk artikelnya !!!

  2.   kuray dijo

    Luar biasa! Saya ingin mengucapkan selamat yang sebesar-besarnya kepada penulis publikasi karena telah membagikan pengetahuannya yang luas dan kepada blog karena mengizinkan penerbitannya.

    Terima kasih!

    1.    Federico dijo

      Terima kasih banyak atas pujian dan komentar Anda !!! Kekuatan yang Anda berikan kepada saya untuk terus berbagi ilmu dengan komunitas tempat kita semua belajar.

  3.   fenobarbital dijo

    Artikel bagus! Perhatikan bahwa terkait penggunaan sertifikat, ketika Anda membuat sertifikat, Anda harus menambahkan ke konfigurasi ldap (cn = config):

    olcLokalSSF: 71
    olcTLSCACertificateFile: / path / ke / ca / ​​cert
    olcTLSCertificateFile: / path / ke / public / cert
    olcTLSCertificateKeyFile: / path / ke / private / key
    olcTLSVerifyClient: coba
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Dengan ini (dan menghasilkan sertifikat) Anda akan memiliki dukungan SSL.

    Salam!

    1.    Federico dijo

      Terima kasih atas kontribusi anda !!! Namun, saya menerbitkan 7 artikel tentang OpenLDAP di:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      Di dalamnya saya menekankan penggunaan Start TLS sebelum SSL, yang direkomendasikan oleh openldap.org. Salam @phenobarbital, dan terima kasih banyak telah berkomentar.
      Email saya adalah federico@dch.ch.gob.cu, jika Anda ingin menukar lebih banyak. Mengakses Internet sangat lambat bagi saya.

    2.    fenobarbital dijo

      Untuk TLS konfigurasinya sama, mengingat bahwa dengan SSL pengangkutan dibuat transparan melalui saluran terenkripsi, sedangkan di TLS enkripsi dua arah dinegosiasikan untuk pengangkutan data; dengan TLS, jabat tangan dapat dinegosiasikan pada port yang sama (389) sedangkan dengan SSL negosiasi dilakukan pada port alternatif.
      Ubah berikut ini:
      olcLokalSSF: 128
      olcTLSVerifyClient: memungkinkan
      olcTLSCipherSuite: NORMAL
      (jika Anda paranoid tentang keamanan yang Anda gunakan:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      dan restart, Anda akan melihat nanti dengan:
      gnutls-cli-debug -p 636 ldap.ipm.org.gt

      Menyelesaikan 'ldap.ipm.org.gt'…
      Memeriksa dukungan SSL 3.0… ya
      Memeriksa apakah% COMPAT diperlukan… tidak
      Memeriksa dukungan TLS 1.0… ya
      Memeriksa dukungan TLS 1.1… ya
      Memeriksa fallback dari TLS 1.1 ke… N / A
      Memeriksa dukungan TLS 1.2… ya
      Memeriksa dukungan negosiasi ulang yang aman… ya
      Memeriksa dukungan negosiasi ulang Aman (SCSV)… ya

      Dengan dukungan TLS yang juga diaktifkan, Anda menggunakan 389 (atau 636) untuk TLS dan 636 (ldaps) untuk SSL; mereka benar-benar independen satu sama lain dan Anda tidak perlu menonaktifkan yang satu untuk menggunakan yang lain.

      Salam!