Instal Server FreeIPA di Rocky Linux 9 / AlmaLinux 9 – (AlmaLinux)

Pada artikel ini kita membahas secara detail instalasi dan konfigurasi Server FreeIPA pada sistem Rocky Linux 9 / AlmaLinux 9. FreeIPA adalah solusi manajemen identitas yang populer dan banyak digunakan yang berguna dalam pengelolaan otentikasi pengguna, pembuatan dan penegakan kebijakan, penyimpanan identitas, dan kebijakan otorisasi di domain Linux. FreeIPA bertujuan untuk menghilangkan overhead untuk Administrator Linux yang bekerja di infrastruktur bertenaga Linux skala menengah hingga besar.

Beberapa fitur lanjutan dari FreeIPA adalah;

  • Dukungan untuk kelompok besar mesin Linux
  • Memiliki integrasi asli dengan Windows Active Directory
  • Fitur lanjutan dari lingkungan sistem operasi Linux
  • Replikasi multi master penuh untuk redundansi dan skalabilitas yang lebih tinggi
  • Penyediaan antarmuka manajemen yang dapat diperluas (Web UI, CLI, XMLRPC dan JSONRPC API) dan Python SDK

Manfaat Utama menggunakan FreeIPA

  • Central Authentication Management  – ​​Manajemen terpusat dari pengguna, mesin, dan layanan dalam lingkungan perusahaan Linux/Unix yang besar.
  • Kontrol Akses Berbutir Halus : Menyediakan metode yang jelas untuk mendefinisikan kebijakan kontrol akses untuk mengatur identitas pengguna dan pendelegasian tugas administratif.
  • One Time Password (OTP) : Menyediakan metode populer untuk mencapai otentikasi dua faktor (2FA).
  • Direct Connect to Active Directory : Anda dapat mengambil informasi dari Active Directory (AD) dan bergabung dengan domain atau ranah dengan cara standar.
  • Active Directory Cross-Realm Trust : Sebagai Administrator Sistem, Anda dapat membuat trust Kerberos lintas hutan dengan Microsoft Active Directory. Hal ini memungkinkan pengguna Active Directory (AD) eksternal akses mudah ke sumber daya di domain Manajemen Identitas.
  • Layanan Infrastruktur Kunci Publik Terpadu (PKI) : Ini menyediakan layanan PKI yang menandatangani dan menerbitkan sertifikat untuk host dan layanan, Daftar Pencabutan Sertifikat (CRL) dan layanan OCSP untuk perangkat lunak yang memvalidasi sertifikat yang diterbitkan, dan API untuk meminta, menunjukkan, dan menemukan sertifikat .

Pastikan instalasi ini dilakukan pada sistem Rocky Linux 9 / AlmaLinux 9 yang baru diinstal karena port layanan IPA dapat bertentangan dengan layanan Linux lainnya.

Langkah 1: Perbarui sistem, atur nama host, zona waktu

Perbarui server Rocky Linux / AlmaLinux 8 Anda:

sudo yum -y update sudo reboot

Setelah reboot, atur nama host sistem yang benar.

sudo hostnamectl set-hostname ipa.example.com

Nama host harus nama domain yang sepenuhnya memenuhi syarat, seperti ipa.example.com. Setelah disetel, konfigurasikan juga zona waktu sistem agar sesuai dengan wilayah Anda:

sudo timedatectl set-timezone Africa/Nairobi

Konfirmasi pengaturan zona waktu Anda:

$ timedatectl Local time: Wed 2022-07-27 21:44:27 EAT Universal time: Wed 2022-07-27 18:44:27 UTC RTC time: Wed 2022-07-27 18:44:27 Time zone: Africa/Nairobi (EAT, +0300) System clock synchronized: yes NTP service: active RTC in local TZ: no

Langkah 2: Periksa pra-persyaratan instalasi server FreeIPA

Komponen server FreeIPA utama adalah:

  • MIT Kerberos KDC  – Menyediakan solusi otentikasi Single-Sign-on
  • 389 Directory Server  – Penyimpanan data utama dan menyediakan infrastruktur direktori LDAPv3 multi-master penuh.
  • ISC Bind DNS server  – Bind adalah layanan resolusi nama Domain default di FreeIPA.
  • Sistem Sertifikat Dogtag  – Komponen ini menyediakan CA & RA yang digunakan untuk fungsi manajemen sertifikat.
  • Server NTP – Untuk sinkronisasi waktu di seluruh armada node yang bergabung ke domain
  • Antarmuka Web UI / CLI – Digunakan untuk mengelola kontrol akses, pendelegasian tugas administratif, dan tugas administrasi jaringan lainnya secara terpusat.

Persyaratan perangkat keras minimum saat menginstal Server FreeIPA di Rocky Linux 9 / AlmaLinux 9:

  • RAM 4GB
  • 2 vCPU
  • FQDN – Itu harus dapat diselesaikan dari server DNS yang dikonfigurasi dalam sistem
  • Ketersediaan ruang disk minimal 10 GB

Gunakan perintah yang dibagikan di bawah ini untuk memeriksa CPU, Memori, dan ruang disk pada instance Rocky Linux 9 / AlmaLinux 9 Anda.

# CPU Cores $ grep -c ^processor /proc/cpuinfo 4 # Memory check $ free -h # Disk space $ lsblk -fp

Tambahkan alamat IP Server FreeIPA dan nama DNS-nya di dalam /etc/hostsfile:

$ sudo vi /etc/hosts 172.20.30.252 ipa.example.com

Validasi pengaturan IP Anda:

$ hostname --ip-address 172.20.30.252

Verifikasi konfigurasi DNS terbalik (catatan PTR) diatur dengan benar di Server DNS Anda menggunakan perintah dig :

$ dig +short -x <ServerIPAddress>

Langkah 3: Instal server FreeIPA di Rocky Linux 9 / AlmaLinux 9

Selanjutnya kita melakukan instalasi paket FreeIPA pada server Rocky Linux 9 / AlmaLinux 9. Tidak diperlukan repositori RPM tambahan, semua paket dan dependensi tersedia di repositori default OS default.

Instal semua paket server dan klien FreeIPA dengan perintah berikut:

sudo dnf -y install freeipa-server freeipa-server-dns freeipa-client

Jalankan penginstal server FreeIPA

Konfigurasi server FreeIPA dilakukan menggunakan ipa-server-installalat baris perintah. Skrip installer akan membuat file log di /var/log/ipaserver-install.log :

 

sudo ipa-server-install

Skrip meminta beberapa pengaturan yang diperlukan dan menawarkan nilai default yang direkomendasikan dalam tanda kurung.

  • Untuk menerima nilai default, tekan  Enter .
  • Untuk memberikan nilai khusus, masukkan nilai yang diperlukan.

Untuk instalasi Non-interaktif untuk IdM tanpa DNS:

sudo ipa-server-install --realm EXAMPLE.COM  --ds-password DM_password  --admin-password admin_password  --unattended # OR sudo ipa-server-install  --domain example.com  --realm EXAMPLE.COM  --ds-password DM_password  --admin-password admin_password

Opsi minimum yang diperlukan untuk instalasi non-interaktif adalah:

  • --realm untuk memberikan nama ranah Kerberos
  • --ds-password untuk memberikan kata sandi untuk Directory Manager (DM), pengguna super Directory Server
  • --admin-password untuk memberikan kata sandi untuk  admin, administrator IdM
  • --unattended untuk membiarkan proses instalasi memilih opsi default untuk nama host dan nama domain

Instalasi non-interaktif untuk IdM dengan DNS terintegrasi:

sudo ipa-server-install --domain example.com --realm EXAMPLE.COM  --reverse-zone=30.20.172.in-addr.arpa.  --no-forwarders  --no-ntp  --setup-dns  --ds-password StrongDMPassw0rd  --admin-password StrongDMPassw0rd  --unattended

Instalasi interaktif server FreeIPA

Lihat di bawah untuk petunjuk lengkap yang akan Anda dapatkan selama instalasi dan tanggapan yang diharapkan:

 

$ sudo 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.9.8 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 SID generation * 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]: yes Enter the fully qualified domain name of the computer on which you're setting up server software. Using the form <hostname>.<domainname> Example: master.example.com. Server host name [ipa.example.com]: ipa.example.com  The domain name has been determined based on the host name. Please confirm the domain name [example.com]: example.com The kerberos protocol requires a Realm name to be defined. This is typically the domain name converted to uppercase. Please provide a realm name [EXAMPLE.COM]: EXAMPLE.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: <Directory-Manager-Password> Password (confirm): <Confirm-Directory-Manager-Password> 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): Do you want to configure chrony with NTP server or pool address? [no]: yes Enter NTP source server addresses separated by comma, or press Enter to skip: 0.de.pool.ntp.org,1.de.pool.ntp.org Enter a NTP source pool address, or press Enter to skip: The IPA Master Server will be configured with: Hostname: ipa.example.com IP address(es): 172.20.30.252 Domain name:  example.com Realm name: EXAMPLE.COM The CA will be configured with: Subject DN: CN=Certificate Authority,O=EXAMPLE.COM Subject base: O=EXAMPLE.COM Chaining: self-signed NTP server:	0.de.pool.ntp.org NTP server:	1.de.pool.ntp.org Continue to configure the system with these values? [no]: yes The following operations may take some minutes to complete. Please wait until the prompt is returned. Disabled p11-kit-proxy Synchronizing time Configuration of chrony was changed by installer. Attempting to sync time with chronyc. Process chronyc waitsync failed to sync time! Unable to sync time with chrony server, assuming the time is in sync. Please check that 123 UDP port is opened, and any time server is on network. Warning: IPA was unable to sync time with chrony! Time synchronization is required for IPA to work correctly Configuring directory server (dirsrv). Estimated time: 30 seconds [1/41]: creating directory server instance [2/41]: tune ldbm plugin .....

Jika instalasi server FreeIPA Anda di Rocky Linux 9 / AlmaLinux 9 berhasil, harapkan output seperti ini:

 

...... Sudoers I/O plugin version 1.8.29 Client hostname: ipa.example.com Realm: EXAMPLE.COM DNS Domain: example.com IPA Server: ipa.example.com BaseDN: dc=example,dc=com Configured sudoers in /etc/authselect/user-nsswitch.conf Configured /etc/sssd/sssd.conf Systemwide CA database updated. Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub Could not update DNS SSHFP records. SSSD enabled Configured /etc/openldap/ldap.conf Configured /etc/ssh/ssh_config Configured /etc/ssh/sshd_config Configuring example.com as NIS domain. Client configuration complete. The ipa-client-install command was successful Please add records in this file to your DNS system: /tmp/ipa.system.records.hh7e7u2h.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

Buka port layanan FreeIPA di firewall

Daftar port layanan FreeIPA adalah seperti yang tercantum dalam tabel berikut:

 

Mari kita buka port pada firewall menggunakan firewall-cmd:

sudo firewall-cmd --add-service={dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent

Kemudian muat ulang konfigurasi firewalld agar perubahan segera berlaku:

 

sudo firewall-cmd --reload

Daftar layanan yang diizinkan di firewall:

$ sudo firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens18 sources: services: cockpit dhcpv6-client dns freeipa-ldap freeipa-ldaps ntp ssh ....

Langkah 4: Akses Dasbor Manajemen FreeIPA

Setelah instalasi, konsol administrasi berbasis web FreeIPA Server dapat diakses menggunakan nama host server di https:

 

https://ipa.example.com

Abaikan peringatan SSL dengan mengklik “ Lanjutan ” > “ Lanjutkan ke ipa.example.com (tidak aman)

Masuk dengan nama pengguna dan kata sandi admin yang ditetapkan selama instalasi.

Setelah login berhasil, Anda akan disajikan dengan antarmuka yang memiliki tampilan seperti ini:

Langkah 5: Amankan FreeIPA Dengan Let’s Encrypt SSL

Setelah instalasi, kami sarankan menggunakan SSL aman di Server FreeIPA Anda. Jika berjalan pada instance publik, ikuti panduan kami di tautan berikutnya:

 

  • Amankan Server FreeIPA Dengan Let’s Encrypt SSL Certificate

Langkah 6: Kelola FreeIPA menggunakan Antarmuka CLI

Perintah ipa dapat digunakan untuk melakukan semua operasi server FreeIPA. Tapi pertama-tama, dapatkan tiket admin pengguna Kerberos:

$ kinit admin Password for [email protected]:

Validitas waktu tiket yang ditetapkan dapat diperiksa menggunakan klist:

$ klist Ticket cache: KCM:0 Default principal: [email protected] Valid starting Expires Service principal 07/27/2022 17:42:38 07/28/2022 21:49:26 krbtgt/[email protected]

Setel shell default pengguna ke  /bin/bash.

 

$ ipa config-mod --defaultshell=/bin/bash  Maximum username length: 32 Home directory base: /home Default shell: /bin/bash Default users group: ipausers Default e-mail domain: example.com Search time limit: 2 Search size limit: 100 User search fields: uid,givenname,sn,telephonenumber,ou,title Group search fields: cn,description Enable migration mode: FALSE Certificate Subject base: O=EXAMPLE.COM Password Expiration Notification (days): 4 Password plugin features: AllowNThash, KDC:Disable Last Success SELinux user map order: guest_u:s0$xguest_u:s0$user_u:s0$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023 Default SELinux user: unconfined_u:s0-s0:c0.c1023 Default PAC types: MS-PAC, nfs:NONE IPA masters: ipa.example.com IPA CA servers: ipa.example.com IPA CA renewal master: ipa.example.com IPA master capable of PKINIT: ipa.example.com

Uji dengan menambahkan akun pengguna dan daftar akun yang ada:

$ ipa user-add test --first=Test --last=User [email protected] --password Password: Enter Password again to verify: ------------------- Added user "test" ------------------- User login: test First name: Test Last name: User Full name: Test User Display name: Test User Initials: TU Home directory: /home/test GECOS: Test User Login shell: /bin/bash Principal name: [email protected] Principal alias: [email protected] User password expiration: 20210802153038Z Email address: [email protected] UID: 1201400001 GID: 1201400001 Password: True Member of groups: ipausers Kerberos keys available: True

Untuk membuat daftar akun pengguna yang ditambahkan, jalankan:

$ ipa user-find --------------- 2 users matched --------------- User login: admin Last name: Administrator Home directory: /home/admin Login shell: /bin/bash Principal alias: [email protected] UID: 1201400000 GID: 1201400000 Account disabled: False User login: test First name: Test Last name: User Home directory: /home/test Login shell: /bin/bash Principal name: [email protected] Principal alias: [email protected] Email address: [email protected] UID: 1201400001 GID: 1201400001 Account disabled: False ---------------------------- Number of entries returned 2 ----------------------------

Coba login sebagai  testpengguna. Pada login pertama Anda, Anda akan diminta untuk mengubah kata sandi Anda:

 

$ ssh [email protected] Password: Password expired. Change your password now. Current Password: New password: <Set new password> Retype new password: Activate the web console with: systemctl enable --now cockpit.socket [[email protected] ~]$ id uid=1201400003(test1) gid=1201400003(test1) groups=1201400003(test1) cont

Jika Anda ingin mengubah masa kadaluwarsa kata sandi pengguna, lihat panduan berikut:

Anda dapat bermain dengan antarmuka untuk memahami penempatan berbagai fungsi manajemen FreeIPA. Dalam panduan untuk diikuti, kami membahas contoh penggunaan – bagaimana server FreeIPA dapat membantu pengguna, grup, host, dan manajemen kebijakan di seluruh Infrastruktur. Tetap terhubung untuk pembaruan.

Related Posts