FreeIPA adalah solusi Identitas dan Otentikasi terintegrasi sumber terbuka untuk sistem berbasis Linux dan Unix. Ini menyediakan otentikasi terpusat dengan menyimpan data tentang pengguna, grup, host, dan objek lainnya. Ini menyediakan layanan manajemen identitas terintegrasi untuk Linux, Mac, dan Windows. FreeIPA didasarkan pada Server Direktori 389, Kerberos, SSSD, Dogtag, NTP, dan DNS. Ini menyediakan antarmuka berbasis web untuk mengelola pengguna dan klien Linux di ranah Anda dari lokasi pusat.
Dalam tutorial ini, kami akan menunjukkan cara menginstal server FreeIPA di CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Sandi root dikonfigurasi untuk server.
Setel Nama Inang
Pertama, Anda perlu mengatur nama host yang sepenuhnya memenuhi syarat di sistem Anda. Anda dapat mengaturnya dengan perintah berikut:
hostnamectl set-hostname freeipa.mydomain10.com
Selanjutnya, edit file /etc/hosts dan tambahkan IP server dan nama host Anda:
nano /etc/hosts
Tambahkan baris berikut:
45.58.43.185 freeipa.mydomain10.com
Simpan dan tutup file setelah Anda selesai.
Instal Server FreeIPA
Secara default, paket FreeIPA tidak tersedia di repositori standar CentOS. Jadi, Anda perlu mengaktifkan idm:DL1 repo di sistem Anda.
Anda dapat mengaktifkannya dengan perintah berikut:
dnf module enable idm:DL1
Selanjutnya, sinkronkan repositori dengan perintah berikut:
dnf distro-sync
Selanjutnya, jalankan perintah berikut untuk menginstal server FreeIPA di sistem Anda.
dnf install ipa-server ipa-server-dns -y
Setelah penginstalan selesai, Anda dapat melanjutkan ke langkah berikutnya.
Siapkan Server FreeIPA
Selanjutnya, Anda perlu mengatur server FreeIPA. Anda dapat mengaturnya dengan perintah berikut:
ipa-server-install
Anda akan diminta untuk mengkonfigurasi DNS terintegrasi seperti yang ditunjukkan di bawah ini:
The log file for this installation can be found in /var/log/ipaserver-install.log ipa-server-install The log file for this installation can be found in /var/log/ipaserver-install.log ============================================================================== This program will set up the IPA Server. Version 4.8.4 This includes: * Configure a stand-alone CA (dogtag) for certificate management * Configure the NTP client (chronyd) * Create and configure an instance of Directory Server * Create and configure a Kerberos Key Distribution Center (KDC) * Configure Apache (httpd) * Configure the KDC to enable PKINIT To accept the default shown in brackets, press the Enter key. Do you want to configure integrated DNS (BIND)? [no]:
Tekan Enter untuk memilih no. Anda akan diminta untuk memberikan nama host server Anda:
Enter the fully qualified domain name of the computer on which you're setting up server software. Using the form. Example: master.example.com. Server host name [freeipa.mydomain10.com]:
Tekan Enter untuk memilih nama host default. Anda akan diminta untuk mengkonfirmasi nama domain Anda seperti yang ditunjukkan di bawah ini:
The domain name has been determined based on the host name. Please confirm the domain name [mydomain10.com]:
Tekan Enter untuk memilih nama domain default. Anda akan diminta untuk mengatur kata sandi Manajer direktori seperti yang ditunjukkan di bawah ini:
The kerberos protocol requires a Realm name to be defined. This is typically the domain name converted to uppercase. Please provide a realm name [MYDOMAIN10.COM]: Certain directory server operations require an administrative user. This user is referred to as the Directory Manager and has full access to the Directory for system management tasks and will be added to the instance of directory server created for IPA. The password must be at least 8 characters long. Directory Manager password: Password (confirm):
Berikan kata sandi yang Anda inginkan dan tekan Enter. Anda akan diminta untuk mengatur kata sandi admin IPA seperti yang ditunjukkan di bawah ini:
The IPA server requires an administrative user, named 'admin'. This user is a regular system account used for IPA server administration. IPA admin password: Password (confirm):
Berikan kata sandi yang Anda inginkan dan tekan Enter. Anda akan diminta untuk mengkonfigurasi server NTP seperti yang ditunjukkan di bawah ini:
Do you want to configure chrony with NTP server or pool address? [no]:
Tekan Enter untuk memilih opsi default. Anda akan mendapatkan output berikut:
The IPA Master Server will be configured with: Hostname: freeipa.mydomain10.com IP address(es): 45.58.43.185 Domain name: mydomain10.com Realm name: MYDOMAIN10.COM The CA will be configured with: Subject DN: CN=Certificate Authority,O=MYDOMAIN10.COM Subject base: O=MYDOMAIN10.COM Chaining: self-signed Continue to configure the system with these values? [no]: yes
Ketik ya dan tekan Enter untuk mengonfigurasi sistem dengan nilai di atas. Setelah penyiapan selesai, Anda akan mendapatkan output berikut:
SSSD enabled Configured /etc/openldap/ldap.conf Configured /etc/ssh/ssh_config Configured /etc/ssh/sshd_config Configuring mydomain10.com as NIS domain. Client configuration complete. The ipa-client-install command was successful unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete Please add records in this file to your DNS system: /tmp/ipa.system.records._u0fzahd.db ============================================================================== Setup complete Next steps: 1. You must make sure these network ports are open: TCP Ports: * 80, 443: HTTP/HTTPS * 389, 636: LDAP/LDAPS * 88, 464: kerberos UDP Ports: * 88, 464: kerberos * 123: ntp 2. You can now obtain a kerberos ticket using the command: 'kinit admin' This ticket will allow you to use the IPA tools (e.g., ipa user-add) and the web user interface. Be sure to back up the CA certificates stored in /root/cacert.p12 These files are required to create replicas. The password for these files is the Directory Manager password The ipa-server-install command was successful
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Firewall dan SELinux
Jika firewalld diinstal di sistem Anda, maka Anda harus mengizinkan beberapa port yang digunakan oleh FreeIPA. Anda dapat mengizinkannya dengan perintah berikut:
firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
Selanjutnya, muat ulang firewalld dengan perintah berikut untuk menerapkan perubahan:
firewall-cmd --reload
Selanjutnya, Anda juga perlu menonaktifkan SELinux di sistem Anda.
Anda dapat menonaktifkan SELinux dengan mengedit file /etc/selinux/config:
nano /etc/selinux/config
Temukan baris berikut:
SELINUX=enforcing
Dan, ganti dengan baris berikut:
SELINUX=permissive
Simpan dan tutup file. Kemudian, mulai ulang sistem Anda untuk menerapkan perubahan:
Mengakses UI Web FreeIPA
Sekarang, buka browser web Anda dan akses antarmuka web FreeIPA menggunakan URL https://freeipa.mydomain10.com. Anda akan diarahkan ke halaman login FreeIPA seperti gambar di bawah ini:
Berikan nama pengguna, kata sandi admin Anda, dan klik Log di tombol. Anda akan melihat dasbor FreeIPA di halaman berikut:
Bekerja Dengan FreeIPA CLI
FreeIPA juga menyediakan alat baris perintah untuk menambahkan pengguna baru, grup, prinsip layanan, dan memberikan akses tulis ke atribut tertentu dari satu grup ke grup lainnya.
Sebelum menggunakan alat CLI, Anda harus mendapatkan tiket Kerberos dengan perintah berikut:
kinit admin
Anda akan diminta untuk memberikan kata sandi seperti yang ditunjukkan di bawah ini:
Password for [email protected]:
Berikan kata sandi admin Anda dan tekan Enter untuk mendapatkan tiket Kerberos.
Selanjutnya, jalankan perintah berikut untuk memeriksa masa berlaku tiket:
klist
Anda akan mendapatkan output berikut:
Ticket cache: KCM:0 Default principal: [email protected] Valid starting Expires Service principal 2020-09-28T03:36:54 2020-09-29T03:36:50 krbtgt/[email protected]
Selanjutnya, tambahkan akun pengguna baru dengan perintah berikut:
ipa user-add user1 --first=hit --last=jethva [email protected] --password
Anda akan mendapatkan output berikut:
Password: Enter Password again to verify: ------------------ Added user "user1" ------------------ User login: user1 First name: hit Last name: jethva Full name: hit jethva Display name: hit jethva Initials: hj Home directory: /home/user1 GECOS: hit jethva Login shell: /bin/sh Principal name: [email protected] Principal alias: [email protected] User password expiration: 20200928073905Z Email address: [email protected] UID: 384600001 GID: 384600001 Password: True Member of groups: ipausers Kerberos keys available: True
Anda juga dapat membuat daftar semua akun pengguna di sistem Anda dengan perintah berikut:
ipa user-find
Anda akan melihat output berikut:
--------------- 2 users matched --------------- User login: admin Last name: Administrator Home directory: /home/admin Login shell: /bin/bash Principal alias: [email protected] UID: 384600000 GID: 384600000 Account disabled: False User login: user1 First name: hit Last name: jethva Home directory: /home/user1 Login shell: /bin/sh Principal name: [email protected] Principal alias: [email protected] Email address: [email protected] UID: 384600001 GID: 384600001 Account disabled: False ---------------------------- Number of entries returned 2
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi server FreeIPA di CentOS 8. Sekarang Anda dapat menginstal klien FreeIPA dan menambahkannya ke server FreeIPA untuk Centralize Authentication. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.