Cara menginstal server dan klien Kerberos KDC di Ubuntu 18.04
- 4516
- 1231
- Luis Baumbach
Tutorial ini mencakup panduan bertahap untuk mengatur server Kerberos (KDC) dan klien yang diaktifkan Kerberos, kemudian menguji pengaturan dengan mendapatkan tiket Kerberos dari server KDC.
Dalam tutorial ini Anda akan belajar:
- Apa itu Kerberos dan cara kerjanya
- Konfigurasikan Server Kerberos (KDC)
- Konfigurasikan klien
- Uji otentikasi Kerberos
- Penciptaan KeyTab
Tinjauan Kerberos.
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Ubuntu 18.04 |
Perangkat lunak | Server Kerberos dan paket admin |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah. |
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
Apa itu Kerberos dan cara kerjanya
Kerberos adalah protokol otentikasi jaringan. Ini dirancang untuk memberikan otentikasi yang kuat untuk aplikasi klien/server dengan menggunakan kriptografi rahasia.
Klien mengotentikasi dirinya ke server otentikasi (AS) yang meneruskan nama pengguna ke pusat distribusi utama (KDC). KDC mengeluarkan tiket tiket (TGT), yang dicap waktu dan mengenkripsi menggunakan kunci rahasia Layanan Tiket (TGS) dan mengembalikan hasil yang dienkripsi ke workstation pengguna. Ini jarang dilakukan, biasanya di Pengguna Logon; TGT berakhir di beberapa titik meskipun mungkin diperbarui secara transparan oleh manajer sesi pengguna saat mereka masuk.
Ketika klien perlu berkomunikasi dengan simpul lain ("kepala sekolah" dalam bahasa Kerberos) ke beberapa layanan di simpul itu klien mengirimkan TGT ke TGS, yang biasanya berbagi host yang sama dengan KDC. Layanan harus didaftarkan di TGT dengan nama utama layanan (SPN). Klien menggunakan SPN untuk meminta akses ke layanan ini. Setelah memverifikasi bahwa TGT valid dan bahwa pengguna diizinkan untuk mengakses layanan yang diminta, TGS mengeluarkan tiket dan kunci sesi ke klien. Klien kemudian mengirim tiket ke server layanan (SS) bersama dengan permintaan layanannya.
Konfigurasikan Server Kerberos (KDC)
Sinkronisasi waktu dan DNS memainkan peran penting untuk bekerja KDC dengan benar. Jika perbedaan waktu lebih dari 5 menit otentikasi akan gagal. FQDN's idealnya harus diselesaikan di lingkungan yang tepat, di sini kita bertahan dengan memodifikasi /etc/host
tetapi menggunakan DNS dengan benar direkomendasikan.
Jalankan perintah di bawah ini untuk menginstal Server Admin Kerberos dan KDE (Pusat Distribusi Utama):
# APT Instal Krb5-KDC Krb5-Admin-Server Krb5-Config
Itu akan menanyakan tiga hal berikut satu per satu
- Kerberos Realm. (di sini saya telah menggunakan ubuntubox.Com)
- Kerberos Server HostName - KDC.ubuntubox.com
- Nama host dari server administratif (perubahan kata sandi) untuk Kerberos Realm Ubuntubox.Com - kdc.ubuntubox.com
Menyediakan server admin fqdn. Mengkonfigurasi Server Admin KRB5.
Sekarang jalankan perintah di bawah ini untuk mengatur ranah.
# krb5_newrealm
Ini akan meminta untuk memasukkan kata sandi untuk pembuatan basis data dan setelah itu, itu akan memulai Kerberos KDC KRB5KDC dan Server Administratif Kerberos Proses Kadmind.
root@kdc: ~# krb5_newrealm skrip ini harus dijalankan pada server master kdc/admin untuk menginisialisasi ranah Kerberos. Ini akan meminta Anda untuk mengetikkan kata sandi utama utama. Kata sandi ini akan digunakan untuk menghasilkan kunci yang disimpan di/etc/krb5kdc/stash. Anda harus mencoba mengingat kata sandi ini, tetapi jauh lebih penting bahwa itu menjadi kata sandi yang kuat daripada diingat. Namun, jika Anda kehilangan kata sandi dan/etc/krb5kdc/simpanan, Anda tidak dapat mendekripsi database Kerberos Anda. Memuat data inisialisasi data acak '/var/lib/krb5kdc/prinsipal' untuk ranah 'ubuntubox.Com ', master nama kunci' k/[email protected] 'Anda akan diminta untuk kata sandi master basis data. Penting bagi Anda untuk tidak lupa kata sandi ini. Masukkan Kunci Master Database KDC: Masukkan kembali Kunci Master Database KDC untuk memverifikasi: Sekarang ranah Anda diatur, Anda mungkin ingin membuat kepala sekolah administratif menggunakan sub-perintah addPrinc dari Kadmin.program lokal. Kemudian, kepala sekolah ini dapat ditambahkan ke/etc/krb5kdc/kadm5.ACL sehingga Anda dapat menggunakan program Kadmin di komputer lain. Kepala Sekolah Admin Kerberos biasanya milik satu pengguna dan berakhir di /admin. Misalnya, jika Jruser adalah administrator Kerberos, maka di samping kepala sekolah Jruser normal, jruser/prinsipal admin harus dibuat. Jangan lupa untuk mengatur informasi DNS sehingga klien Anda dapat menemukan KDC dan server admin Anda. Melakukan hal itu didokumentasikan dalam panduan administrasi. root@kdc: ~#
Membuka /etc/krb5kdc/kadm5.ACL
file dengan salah satu editor teks dan membatalkan komentari baris terakhir sehingga file akan terlihat seperti.
vim/etc/krb5kdc/kadm5.ACL
# File ini adalah daftar kontrol akses untuk administrasi KRB5. # Saat file ini diedit menjalankan layanan KRB5-Admin-Server restart untuk mengaktifkan # satu cara umum untuk mengatur administrasi Kerberos adalah dengan mengizinkan prinsipal # yang berakhir di /admin diberikan hak administratif penuh. # Untuk mengaktifkan ini, unkromment baris berikut: */admin *
Menyalin Sekarang proses pengaturan server Kerberos berhasil diselesaikan.
Konfigurasikan klien
Jalankan perintah di bawah ini untuk menginstal dan mengatur klien Kerberos.
# tepat instal krb5-user
Sekali lagi itu akan menanyakan 3 hal satu per satu seperti pengaturan server KDC.
- Kerberos Realm - Ubuntubox.Com
- Nama host untuk server KDC - KDC.ubuntubox.com
- Hostname of Admin Server - KDC.ubuntubox.com
Uji otentikasi Kerberos
Kepala Sekolah Kebs adalah identitas unik yang dapat ditetapkan oleh Kerberos, oleh karena itu kami akan membuat kepala sekolah di server KDC seperti di bawah ini.
addPrinc "principal_name"
root@kdc: ~# kadmin.Authenticating lokal sebagai root utama/[email protected] dengan kata sandi. Kadmin.Lokal: AddPrinc Sandipb Peringatan: Tidak ada kebijakan yang ditentukan untuk [email protected]; Default ke No Policy Masukkan Kata Sandi untuk Kepala Sekolah "[email protected] ": Masukkan kembali kata sandi untuk kepala sekolah" [email protected] ": kepala sekolah" [email protected] "dibuat. Kadmin.lokal:
Untuk menghapus kepala sekolah dari KDC, jalankan perintah berikut.
delprinc "principal_name"
root@kdc: ~# kadmin.Lokal: Autentikasi sebagai root utama/[email protected] dengan kata sandi. Kadmin.Lokal: Delprinc Sandipb apakah Anda yakin ingin menghapus kepala sekolah "[email protected] "? (ya/tidak): Ya kepala sekolah "[email protected] "dihapus. Pastikan bahwa Anda telah menghapus kepala sekolah ini dari semua ACL sebelum menggunakan kembali. Kadmin.lokal:
Sekarang, untuk mengotentikasi di Kerberos dan mendapatkan tiket dari server KDC menjalankan perintah berikut di Node Klien.
Catatan: Tiket akan dihancurkan saat Anda memulai ulang komputer Anda, saat Anda menjalankan perintahkdestroy, atau saat mereka kedaluwarsa. Anda perlu menjalankan kinit lagi setelah semua ini terjadi.
# Kinit Sandipb
root@kdcclient: ~# Kinit Sandipb Kata Sandi Untuk [email protected]: root@kdcclient: ~# root@kdcclient: ~# KLIST Cache Tiket: File:/TMP/KRB5CC_0 Kepala Sekolah Default: [email protected] valid start principal layanan kedaluwarsa 2018-12-29t19: 38: 53 2018-12-30t05: 38: 53 krbtgt/[email protected] Perbarui hingga 2018-12-30t19: 38: 38 root@kdcclient: ~#
Untuk memeriksa detail kepala sekolah, jalankan perintah di bawah ini di server KDC.
getPrinc "principal_name"
root@kdc: ~# kadmin.Authenticating lokal sebagai root utama/[email protected] dengan kata sandi. Kadmin.Lokal: GetPrinc Sandipb Prinsipal: [email protected] kedaluwarsa com: [tidak pernah] Kata Sandi Terakhir Perubahan: Sun 30 Des 19:30:59 +04 2018 Kata Sandi Tanggal Kedaluwarsa: [tidak pernah] Kehidupan tiket maksimum: 0 Hari 10:00:00 Maksimum Kehidupan Terbarukan: 7 Hari 00:00: 00 Terakhir Modifikasi: Sun 30 Des 19:30:59 +04 2018 (root/[email protected]) Otentikasi Terakhir Sukses: Sun 30 Des 19:38:53 +04 2018 Otentikasi Gagal Terakhir: [tidak pernah] Upaya Kata Sandi Gagal: 0 Jumlah Kunci: 2 Kunci: VNO 1, AES256-CTS-HMAC-SHA1-96 KUNCI: vno 1, aes128-cts-hmac-sha1-96 mkey: vno 1 atribut: kebutuhan_pre_auth kebijakan: [tidak ada] kadmin.lokal:
Penciptaan KeyTab
Keytab adalah file yang berisi pasangan kepala sekolah Kerberos dan kunci terenkripsi (yang berasal dari kata sandi Kerberos). Anda dapat menggunakan file keytab untuk mengotentikasi ke berbagai sistem jarak jauh menggunakan Kerberos tanpa memasukkan kata sandi. Namun, saat Anda mengubah kata sandi Kerberos Anda, Anda perlu membuat ulang semua keytab Anda.
root@kdc: ~# ktutil ktutil: add_entry -password -p [email protected] -k 1 -e aes256-cts-hmac-sha1-96 Kata sandi untuk [email protected]: ktutil: add_entry -password -p [email protected] -k 1 -e aes128-cts-hmac-sha1-96 Kata sandi untuk [email protected]: ktutil: wkt sandipkt.Keytab Ktutil: q root@kdc: ~#
root@kdc: ~# klist -kte sandipkt.Keytab Keytab Nama: File: Sandipkt.Keytab Kvno Timestamp Principal ---- ------------------- ----------------------- ------------------------------- 1 2018-12-30t00: 35: 07 [email protected] (AES256-CTS-HMAC-SHA1-96) 1 2018-12-30t00: 35: 07 [email protected] (aes128-cts-hmac-sha1-96) root@kdc: ~#
root@kdc: ~# kinit -k -t sandipkt.Keytab Sandipb root@kdc: ~# KLIST Tiket cache: File:/tmp/krb5cc_0 Kepala Sekolah Default: [email protected] Valid Starting Principal Layanan Kedaluwarsa 2018-12-30t00: 36: 44 2018-12-30t10: 36: 44 Krbtgt/[email protected] Perpanjakan hingga 2018-12-31t00: 36: 34 root@kdc: ~#
Kesimpulan
Otentikasi sangat penting untuk keamanan sistem komputer, metode otentikasi tradisional tidak cocok untuk digunakan dalam jaringan komputer.Sistem otentikasi Kerberos sangat cocok untuk otentikasi pengguna di lingkungan seperti itu.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Menguasai loop skrip bash
- File Konfigurasi Linux: 30 Teratas Paling Penting
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Ubuntu 20.04 Panduan
- Daftar Alat Linux Kali Terbaik untuk Pengujian Penetrasi dan ..
- Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
- Hal -hal yang harus diinstal pada Ubuntu 22.04