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.
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
orLDAPS
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!
Luar biasa.
Salam ElioTime3000 dan terima kasih telah berkomentar !!!
Salam eliotime3000 dan terima kasih atas pujian untuk artikelnya !!!
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!
Terima kasih banyak atas pujian dan komentar Anda !!! Kekuatan yang Anda berikan kepada saya untuk terus berbagi ilmu dengan komunitas tempat kita semua belajar.
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!
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.
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!