Active Directory (AD) Microsoft adalah layanan direktori masuk untuk banyak organisasi. Jika Anda dan tim Anda bertanggung jawab atas lingkungan campuran Windows dan Linux, maka Anda mungkin ingin memusatkan autentikasi untuk kedua platform. Saya akan membahas cara menambahkan komputer Linux ke domain Active Directory.
Active Directory dan kebutuhan akan manajemen akses terpusat
Direktori Aktif Microsoft, lebih dikenal sebagai AD, telah memegang pangsa pasar terbesar untuk manajemen akses perusahaan selama bertahun-tahun sekarang. Ini digunakan oleh institusi dan individu di seluruh dunia untuk mengontrol akses secara terpusat ke sumber daya milik organisasi. Ini memberi Anda kemampuan untuk mengelola pengguna, sandi, resource seperti komputer, dan mendikte siapa yang memiliki akses ke apa. Bagi sebagian dari Anda yang membaca tulisan ini, terutama mereka yang bekerja di institusi besar, Anda pernah berinteraksi dengan AD sebelumnya. Biasanya, interaksi menggunakan satu set kredensial masuk untuk masuk ke stasiun kerja mana pun di organisasi. Itu hanyalah puncak gunung es yang besar.
Bayangkan kumpulan 40 sistem komputer dan 70 pengguna dalam sebuah perusahaan. Beberapa karyawan menjalankan shift sementara yang lain bekerja dengan jam reguler. Beberapa memiliki akses ke pencetakan; yang lain tidak. Cara kerja tradisional adalah membuat akun pengguna lokal di setiap komputer yang perlu diakses pengguna. Bayangkan beban kerja pada tim dukungan pengguna akhir. Ketika pengguna mengubah kata sandinya untuk alasan apa pun, pengguna tersebut harus mengubah kata sandi di semua komputer yang sebelumnya dia akses, untuk menjaga sinkronisasi. Dalam waktu singkat, akan ada kekacauan. Sekarang, bayangkan dua anggota staf mengundurkan diri. Saya tidak perlu memberi tahu Anda pekerjaan monoton yang harus diulang setiap kali ada perubahan staf atau stasiun kerja. Untuk tim IT, ini adalah mimpi buruk. Waktu yang dapat digunakan untuk tugas-tugas inovatif sekarang dihabiskan untuk menciptakan kembali roda. Saya bahkan belum berbicara tentang mengelola akses ke printer.
Di sinilah layanan direktori seperti Active Directory tumbuh subur. Ini benar-benar bisa menjadi penyelamat. Dengan Active Directory, setiap pengguna dibuat secara unik sebagai objek di database pusat, dengan satu set kredensial. Setiap sistem komputer juga dibuat sebagai objek. Secara otomatis, setiap pengguna dapat mengakses setiap workstation dengan set kredensial yang sama. Setiap perubahan akun yang perlu dilakukan dilakukan sekali di database pusat. Anggota staf dapat mengakses printer menggunakan set kredensial yang sama. Mekanisme otentikasi printer dapat digabungkan dengan AD untuk mencapai itu. Pengguna yang bahagia, tim IT yang bahagia.
Menggunakan grup dan unit organisasi, akses ke berbagai sumber daya dapat disesuaikan dan dipelihara. Ini menjadi lebih baik. Direktori ini dapat menyimpan nomor telepon staf, alamat email, dan dapat diperluas untuk menyimpan informasi lainnya. Bagaimana jika seseorang mengundurkan diri? Tidak masalah. Nonaktifkan saja akun pengguna. Akses orang itu ke semua sumber daya dibatalkan di tempat. Semakin besar organisasi, semakin besar kebutuhan akan manajemen terpusat. Ini menghemat waktu; itu menghemat emosi.
Pada intinya, layanan direktori hanyalah cara terorganisir untuk merinci semua sumber daya dalam suatu organisasi sambil memfasilitasi akses mudah ke sumber daya tersebut. Pada dasarnya, AD adalah sejenis database terdistribusi, yang diakses dari jarak jauh melalui Lightweight Directory Access Protocol (LDAP). LDAP adalah protokol terbuka untuk mengakses layanan direktori dari jarak jauh melalui media berorientasi koneksi seperti TCP/IP. AD bukan satu-satunya layanan direktori berdasarkan standar x.500, atau yang dapat diakses menggunakan LDAP. Layanan direktori lainnya termasuk OpenLDAP dan FreeIPA. Namun, AD adalah layanan berbasis Windows yang matang yang digabungkan dengan sistem Windows Server. Dengan kata lain, itu akan menjadi pemenang otomatis ketika organisasi Anda memiliki banyak sistem Windows. Ini adalah salah satu alasan keberadaannya di mana-mana. Layanan direktori seperti FreeIPA berbasis Linux dan menyediakan layanan yang sangat baik untuk Linux yang stabil. Ketika karet menghantam jalan, pilihannya adalah yang mana dari keduanya yang dapat Anda atur dengan cepat, mengingat lingkungan Anda saat ini dan keahlian tim Anda.
[ Anda mungkin juga menyukai: Interoperabilitas Windows dan Linux:Sekilas tentang Samba ]
Tetapi apa yang terjadi ketika Anda memilih AD, dan Anda memiliki beberapa server CentOS, dan Anda tidak ingin mempertahankan kumpulan kredensial terpisah untuk pengguna Linux Anda? Overhead itu sepenuhnya dapat dihindari. Yang perlu Anda lakukan adalah menggabungkan server Linux ke domain AD, seperti yang Anda lakukan pada server Windows.
Jika itu yang perlu Anda lakukan, baca terus untuk mengetahui cara melakukannya. Dimungkinkan untuk menggabungkan sistem Windows ke domain FreeIPA, tetapi itu di luar cakupan artikel ini.
Prasyarat
Artikel ini mengandaikan bahwa Anda memiliki setidaknya beberapa pengalaman tingkat pengantar dengan Active Directory, terutama seputar manajemen akun pengguna dan komputer. Selain itu, persyaratan yang jelas berikut ini perlu dipenuhi:
- Akun di AD yang memiliki hak istimewa yang diperlukan untuk bergabung dengan sistem ke domain.
- Server Linux (server CentOS 7 digunakan untuk demonstrasi ini).
- Pengontrol Domain.
- Pastikan server Linux Anda mengetahui cara menemukan pengontrol domain melalui DNS.
Untuk membuat artikel ini lebih mudah bagi semua orang, berikut adalah daftar detail utama. Beginilah cara lab yang saya gunakan untuk penulisan ini diatur, jadi Anda harus memodifikasinya.
- Nama Domain IKLAN:Hope.net
- Akun pengguna untuk bergabung dengan domain:fkorea (Nama Lengkap - Fiifi Korea)
- Nama host server Linux:centy2
Paket yang akan dipasang
Untuk konfigurasi ini, paket penting yang harus diinstal adalah realmd
. Selain realmd
, ada sejumlah paket yang perlu diinstal agar ini berfungsi.
# yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python
Realmd
menyediakan cara yang disederhanakan untuk menemukan dan berinteraksi dengan domain Active Directory. Ini menggunakan sssd
untuk melakukan pencarian aktual yang diperlukan untuk autentikasi jarak jauh dan pekerjaan berat lainnya dalam berinteraksi dengan domain. Untuk singkatnya, saya tidak akan membahas paket lain dalam daftar.
Namun, bagi mereka yang tertarik dengan detailnya, penelusuran Google cepat akan sangat membantu.
Realmd (berinteraksi dengan domain)
Sekarang semua paket telah terinstal, hal pertama yang harus dilakukan adalah menggabungkan sistem CentOS ke domain Active Directory. Kami menggunakan realm
aplikasi untuk itu. realm
klien diinstal bersamaan dengan realmd
. Ini digunakan untuk menggabungkan, menghapus, mengontrol akses, dan menyelesaikan banyak tugas lainnya. Berikut adalah sintaks yang diharapkan untuk bergabung dengan domain sederhana:
realm join --user=[domain user account] [domain name]
Spasi antara akun pengguna dan akun domain bukanlah salah ketik. Dengan memasukkan detail yang sesuai, kita mendapatkan perintah berikut:
# realm join --user=fkorea hope.net
Masukkan kata sandi saat prompt muncul dan tunggu prosesnya selesai.
Jangan biarkan kurangnya output menipu Anda. Ada sejumlah operasi yang berlangsung sebagai bagian dari proses. Anda dapat menempelkan -v
beralih untuk output yang lebih verbose. Namun, cara terbaik untuk memeriksa apakah komputer sekarang menjadi anggota domain adalah dengan menjalankan realm list
memerintah. Perintah mencoba untuk menampilkan status server saat ini sehubungan dengan domain. Ini adalah cara cepat dan kotor untuk mengetahui grup atau pengguna mana yang dapat mengakses server.
Lihat hasilnya:
Juga cukup sepele untuk menempatkan objek komputer AD yang baru dibuat di Unit Organisasi (OU) tertentu sejak awal. Saya akan membiarkannya untuk membaca lebih lanjut, tetapi, sebagai tip, Anda dapat berkonsultasi dengan halaman manual. Menggunakan realm
klien, Anda dapat memberikan atau mencabut akses ke pengguna dan grup domain. Penjelasan mendalam tentang penggunaan realmd
dengan cara yang lebih halus sudah cukup untuk membuat artikel lain. Namun, saya tidak akan salah untuk memilih beberapa parameter untuk perhatian Anda, yaitu perangkat lunak klien dan perangkat lunak server. Sekarang, Anda seharusnya mengerti mengapa kami harus menginstal begitu banyak paket.
Untuk meninggalkan domain sama sekali, Anda memerlukan dua kata:realm leave
Konfigurasi lebih lanjut
Jadi sekarang server Linux adalah bagian dari domain AD, pengguna domain dapat mengakses server dengan kredensial mereka yang biasa. Kita sudah selesai, kan? Salah. "Apa masalahnya?" Saya mendengar Anda berkata.
Sebagai permulaan, ini adalah konfigurasi barebone untuk membuat Anda siap dan berjalan. Tapi pengalamannya kikuk, untuk sedikitnya. Kami perlu mengonfigurasi layanan lebih lanjut untuk memberikan nuansa AD yang sebenarnya. Seharusnya seperti masuk ke workstation Windows 10 yang bergabung dengan domain.
Kedua, ada gajah besar di ruangan untuk sysadmin yang disebut Dynamic DNS Updates (DynDNS). Jika tidak diatur dengan benar, kami membuat overhead tambahan dengan harus memelihara catatan DNS secara manual. Untuk lingkungan yang sangat bergantung pada DNS, itu bisa menjadi masalah. Untuk sistem Windows, bergabung dengan sistem ke domain berarti dua entri secara otomatis dikelola dan dipelihara di server DNS. Ketika alamat IP berubah, perubahan tersebut secara otomatis tercermin dalam DNS. Ini berarti Anda dapat mengubah IP sistem tanpa menimbulkan biaya pemeliharaan manual. Ini hanya akan masuk akal bagi orang yang sudah memanfaatkan DNS di lingkungan mereka. Selain peningkatan produktivitas yang nyata dari otomatisasi, lingkungan Windows dan Linux bekerja dengan cara yang sama juga membantu.
Masalah ketiga adalah DNS Scavenging. Dalam domain Direktori Aktif, DNS biasanya disediakan oleh Pengontrol Domain. Setiap sistem yang bergabung ke domain memiliki entri DNS otomatis dengan alamat IP yang sesuai. Ini sangat nyaman. Secara otomatis, pada interval tertentu, catatan DNS basi dihapus untuk mencegah paket yang salah arah dan juga menangani objek komputer yang dihapus. Ini dikenal sebagai memulung , dan tidak diaktifkan secara default di AD. Namun, jika dihidupkan, kita perlu mengkonfigurasinya. Biasanya, interval pemulungan adalah tujuh hari. Jika, setelah periode itu, tidak ada pembaruan pada catatan, catatan itu dihapus, kecuali jika itu adalah catatan statis. Untuk sistem Windows, fitur Pembaruan Dinamis diatur secara otomatis. Namun, dengan server Linux, beberapa modifikasi perlu dilakukan. Tanpa melakukan itu, kami akan menghentikan layanan setelah beberapa saat karena catatannya dihapus dari DNS, dan tidak ada yang tahu cara menjangkau bagian komponennya.
Sekarang setelah kita mengetahui beberapa masalah potensial yang perlu kita atasi, mari kita lihat beberapa hal yang dapat kita sesuaikan untuk memberikan pengalaman yang lebih mulus kepada pengguna akhir dan sysadmin.
SSSD (login lebih mudah dan pembaruan dinamis)
sssd
pada sistem Linux bertanggung jawab untuk memungkinkan sistem mengakses layanan otentikasi dari sumber jarak jauh seperti Active Directory. Dengan kata lain, ini adalah antarmuka utama antara layanan direktori dan modul yang meminta layanan otentikasi, realmd
. File konfigurasi utamanya terletak di /etc/sssd/sssd.conf
. Sebenarnya, ini adalah file konfigurasi utama yang akan kita modifikasi.
Mari kita lihat isinya sebelum konfigurasi. Setelah Anda bergabung dengan domain, domain tersebut segera dimodifikasi untuk memuat informasi minimum yang diperlukan untuk login yang berhasil. File saya terlihat seperti ini:
Untuk mengatasi ketiga masalah yang saya sebutkan sebelumnya, edit file Anda agar terlihat seperti di bawah ini:
Sebagian besar opsi sudah cukup jelas, dan Anda dapat memodifikasinya sesuai dengan itu sementara kami menelusuri apa yang diwakili oleh beberapa opsi utama. Informasi lebih lanjut tentang semua opsi dapat diperoleh dengan memeriksa halaman manual. Saya pikir itu ditulis dengan baik. Cukup ketik man 5 sssd.conf
di baris perintah. Anda juga dapat melihat halaman manual untuk sssd_ad
untuk informasi lebih lanjut.
Pertama dan terpenting, file konfigurasi dipisahkan menjadi dua bagian. Bagian global, di bawah [sssd] dan bagian opsi khusus domain, [domain/[nama domain]] .
Bagian global berisi opsi yang memengaruhi perilaku umum sssd
, seperti informasi versi dan layanan terkait. Salah satu parameter kunci di bawah bagian ini ditunjukkan di bawah ini:
- default_domain_suffix - Setel ini ke nama domain jika Anda tidak ingin harus mengetikkan nama akun pengguna lengkap saat masuk. Daripada harus mengetik
[email protected]
selalu, Anda cukup mengetikfkorea
dan kata sandi. Ini sangat membantu jika Anda memiliki nama domain yang panjang.
Bagian khusus domain berisi parameter khusus untuk domain tempat Anda bergabung. Parameter kuncinya adalah:
- penyedia_akses - Memungkinkan Anda memilih penyedia yang dioptimalkan dan digunakan untuk berinteraksi dengan server AD untuk tujuan otentikasi. Itu harus disetel ke
ad
. Nilai lain yang dapat digunakan di sini adalahldap
danipa
, dengan asumsi Anda menggunakan layanan direktori tersebut. - id_provider - Memungkinkan Anda memilih penyedia yang dioptimalkan dan digunakan untuk berinteraksi dengan server AD untuk tujuan identifikasi. Itu harus disetel ke
ad
. - namahost_iklan - Ini harus menjadi nama host server yang sepenuhnya memenuhi syarat. Ini harus diatur jika nama host sistem adalah apa pun selain nama domain yang sepenuhnya memenuhi syarat. Jika ini tidak disetel dan
sssd
tidak memiliki akses ke nama host yang sepenuhnya memenuhi syarat, pembaruan dinamis akan gagal. - domain_iklan - Ini harus berupa nama domain lengkap (
hope.net
dalam hal ini). - cache_credentials - Ini memungkinkan pengguna AD untuk masuk saat pengontrol domain offline. Jika ini disetel ke true , kredensial di-cache untuk jangka waktu tertentu sehingga autentikasi tidak gagal saat back-end offline. Periode penyimpanan juga dapat dikonfigurasi.
- fallback_homedir - Ini membantu Anda mengatur direktori home untuk pengguna AD yang tidak memiliki atribut direktori home di AD. Ini berbeda dengan override_home parameter yang berfungsi saat direktori home disetel dalam AD untuk pengguna.
- dyndns_update - Ini memungkinkan pembaruan DNS dinamis dan menerima salah satu dari true atau salah sebagai sebuah nilai. Saat pembaruan dinamis diaktifkan, pembaruan terjadi terutama dalam tiga kondisi:
- Saat server Linux dimulai ulang.
- Saat penyedia online.
- Saat jeda waktu penyegaran.
- dyndns_refresh_interval - Nilai ini dalam detik dengan minimum praktis 60 detik. Ia menerima nilai integer dan memiliki default 24 jam (86400s). Dalam contoh ini, kami mengaturnya menjadi 12 jam. Jika tidak ada hal lain yang memicu pembaruan, pembaruan akan dilakukan di antara keduanya.
- dyndns_update_ptr - Nilai boolean yang menentukan apakah catatan PTR terkait akan diperbarui di setiap siklus pembaruan. Data PTR digunakan untuk pencarian terbalik, dan kecuali ada alasan yang baik, ini harus disetel ke true .
- dyndns_auth - Menentukan apakah pembaruan dinamis harus dilakukan dengan aman atau tidak. Pengaturan tergantung pada mode yang diterima oleh AD. Jika AD disetel ke Hanya Terima Pembaruan Aman , nilai ini harus disetel ke GSS-TSIG . Jika tidak, dan Anda tidak peduli dengan manfaat keamanan dari pembaruan dinamis yang aman (meskipun ada peringatan keras di AD), nilai ini dapat disetel ke none .
Setelah konfigurasi selesai, mulai ulang sssd
untuk segera menerapkan setelan.
# systemctl restart sssd
Pada titik ini, kita sudah siap. Sekarang kita dapat login seperti yang kita lakukan di workstation atau server Windows.
Visudo (memberikan hak istimewa admin)
Pengguna yang diberikan akses memiliki akses tidak terbatas ke server Linux. Untuk semua maksud dan tujuan, semua akun Active Directory sekarang dapat diakses oleh sistem Linux, dengan cara yang sama seperti akun lokal yang dibuat secara asli dapat diakses oleh sistem. Anda sekarang dapat melakukan tugas sysadmin biasa untuk menambahkannya ke grup, menjadikannya pemilik sumber daya, dan mengonfigurasi pengaturan lain yang diperlukan. Jika pengguna mencoba aktivitas apa pun yang memerlukan sudo
akses, kesalahan akrab disajikan. Seperti yang dapat dilihat di inset, pengguna kami tidak berada di sudoers
berkas.
Dalam hal itu, kita dapat mengedit sudoers
file secara langsung untuk memberi mereka hak pengguna super. Ini bukan artikel tentang pemberian hak istimewa pengguna super, tetapi kita dapat menggunakan visudo
alat untuk berinteraksi secara aman dengan sudoers
berkas.
Atau, kita bisa saja menambahkan pengguna ke wheel
kelompok. Intinya adalah akun pengguna sekarang tersedia untuk digunakan oleh sistem.
[ Jaringan lepas kendali? Lihat Otomatisasi jaringan untuk semua orang, buku gratis dari Red Hat. ]
Menutup
Cobalah ini di lingkungan organisasi atau lab Anda. Jelas saya baru saja membahas topik ini tetapi ini akan membawa Anda cukup jauh ke dalam prosesnya. Lihat dokumentasi masing-masing jika Anda ingin menjelajahi opsi yang tidak tercakup dalam artikel ini.
Bergabung dengan sistem Linux ke domain Active Directory memungkinkan Anda mendapatkan yang terbaik dari kedua dunia. Prosesnya sangat sederhana dan dapat menggunakan skrip Bash atau otomatis menggunakan Ansible, terutama selama pengaturan awal sistem. Jika Anda masih mengelola grup yang terdiri lebih dari lima sistem tanpa layanan direktori dan alasan yang baik, bantulah diri Anda sendiri dan siapkan satu. Anda bisa berterima kasih kepada saya nanti.