FreeIPA adalah sistem informasi otentikasi, otorisasi, dan akun terpusat. FreeIPA adalah singkatan dari Free Identity, Policy, Audit dan merupakan solusi manajemen identitas sumber terbuka berdasarkan direktori LDAP dan Kerberos dengan komponen opsional seperti server DNS, otoritas sertifikasi, dan banyak lagi. Itu dapat mengelola domain dengan pengguna, komputer, kebijakan, dan hubungan kepercayaan. Ini mirip dengan Microsoft Active Directory.
FreeIPA juga dapat mengatur kepercayaan hutan-ke-hutan dengan hutan Active Directory yang ada dan bahkan tinggal di zona DNS di bawah zona yang dikelola oleh Active Directory, selama tidak tumpang tindih. Ini terdiri dari antarmuka web dan alat administrasi baris perintah.
Cek Juga:
- Cara Install Server Puppet 7 di Rocky Linux/Centos 8
- Cara mengelola pengguna dan grup di Server FreeIPA
- Cara Memasang Klien FreeIPA di Fedora 35
- Cara mengkonfigurasi Replikasi FreeIPA di Rocky Linux/Alma Linux/Centos 8
- Cara Install dan Konfigurasi FreeIPA di Rocky Linux/Centos
- Cara Memasang dan Mengonfigurasi Klien FreeIPA di Ubuntu 20.04
Prasyarat
Untuk mengikuti dengan baik, pastikan Anda memiliki:
- Server berbasis RHEL 8 seperti Rocky Linux
- Server harus memiliki setidaknya 1GB RAM, 2GB untuk kinerja optimal
- Server harus memiliki setidaknya 10 GB ruang disk
- Akses root atau pengguna dengan akses sudo
- Siapkan nama domain yang sepenuhnya memenuhi syarat sebagai nama host. Kami akan menggunakan subdomain
ipa.citizix.com
dalam kasus kami
Daftar isi
- Perbarui sistem, Setel nama host dan Zona Waktu
- Memasang Server FreeIPA
- Menjalankan Pemasang Server FreeIPA
- Konfigurasi Linux Firewalld
- Mengakses Antarmuka Web FreeIPA Gui
- Menggunakan Antarmuka CLI FreeIPA untuk melakukan operasi dasar
1. Perbarui sistem, Setel nama host dan Zona Waktu
Gunakan perintah ini untuk memastikan bahwa paket sistem kami mutakhir:
sudo dnf -y update
Kita perlu mengatur FQDN (Nama domain yang sepenuhnya memenuhi syarat) yang ingin kita gunakan untuk menunjuk ke server kita. Kita perlu mengatur subdomain (ipa.citizix.com
) DNS untuk diselesaikan ke server kami. jika Anda tidak memiliki server DNS, maka kami perlu menambahkan entri secara manual di file host server kami untuk menyelesaikan alamat IP sistem untuk nama host kami yang memenuhi syarat.
Setel nama host:
sudo hostnamectl set-hostname ipa.citizix.com
Ganti ipa.citizix.com dengan yang ingin Anda atur untuk nama host server Anda.
Konfirmasi nama host:
$ hostnamectl
Static hostname: ipa.citizix.com
Icon name: computer-vm
Chassis: vm
Machine ID: ee3563997878469ebfcc3f721aec3c66
Boot ID: 029a7962df24475091296d32b222f166
Virtualization: kvm
Operating System: Rocky Linux 8.4 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8.4:GA
Kernel: Linux 4.18.0-305.3.1.el8_4.x86_64
Architecture: x86-64
$ hostname
ipa.citizix.com
Domain yang digunakan untuk nama host harus menyelesaikan alamat IP untuk mencapai ke server. Selanjutnya, arahkan alamat IP server Anda ke nama host yaitu Nama domain yang sepenuhnya memenuhi syarat, di file Host.
echo "10.2.40.149 ipa.citizix.com ipa" | sudo tee -a /etc/hosts
Ganti 10.2.40.149 dengan alamat IP server Anda dan ipa.citizix.com dengan nama host FQDN Anda.
Setelah selesai, konfirmasikan bahwa sistem dapat melakukan ping ke host untuk menyelesaikan hal yang sama.
ping -c 2 ipa.citizix.com
Keluaran di mesin saya
# ping -c 2 ipa.citizix.com
PING ipa.citizix.com (10.2.40.149) 56(84) bytes of data.
64 bytes from ipa.citizix.com (10.2.40.149): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from ipa.citizix.com (10.2.40.149): icmp_seq=2 ttl=64 time=0.029 ms
--- ipa.citizix.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1039ms
rtt min/avg/max/mdev = 0.029/0.031/0.033/0.002 ms
Terakhir, mari kita atur zona waktu agar sesuai dengan wilayah tempat Anda berada. Bagi saya, saya berada di Africa/Nairobi
zona waktu, saya akan menggunakan perintah ini:
sudo timedatectl set-timezone Africa/Nairobi
Konfirmasikan bahwa itu dikonfigurasi seperti yang diharapkan:
$ timedatectl
Local time: Tue 2021-11-09 07:58:09 EAT
Universal time: Tue 2021-11-09 04:58:09 UTC
RTC time: Tue 2021-11-09 04:58:08
Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
2. Memasang Server FreeIPA
Tidak diperlukan repositori RPM tambahan, semua paket dan dependensi tersedia di repositori default OS default.
Dalam sistem berbasis EL8, paket yang diperlukan untuk menginstal server FreeIPA dikirimkan dalam aliran modul yang disebut aliran DL1 . Anda harus mengaktifkan aliran sebelum melakukan instalasi paket dari aliran.
Anda dapat menggunakan perintah berikut untuk membuat daftar modul yang berisi paket IdM.
$ sudo yum module list idm Rocky Linux 8 - AppStream Name Stream Profiles Summary idm DL1 adtrust, client, common [d], dn The Red Hat Enterprise Linux Identity Management syst s, server em module idm client [d] common [d] RHEL IdM long term support client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Anda dapat memeriksa lebih lanjut tentang Stream menggunakan perintah:
sudo dnf module info idm:DL1
Sekarang Aktifkan idm:DL1 aliran:
sudo dnf module enable idm:DL1
Keluaran di sistem saya
$ sudo dnf module enable idm:DL1
Last metadata expiration check: 0:45:05 ago on Tue 09 Nov 2021 07:22:21 AM EAT.
Dependencies resolved.
=====================================================================================================
Package Architecture Version Repository Size
=====================================================================================================
Enabling module streams:
389-ds 1.4
httpd 2.4
idm DL1
pki-core 10.6
pki-deps 10.6
Transaction Summary
=====================================================================================================
Is this ok [y/N]: y
Complete!
Pilih salah satu opsi berikut, tergantung pada persyaratan IdM Anda:
- Memasang Server IdM tanpa DNS terintegrasi:
sudo dnf module install idm:DL1/server
- Memasang server FreeIPA dengan DNS terintegrasi:
sudo dnf module install idm:DL1/dns
- Memasang Server FreeIPA yang memiliki perjanjian kepercayaan dengan Active Directory:
sudo dnf module install idm:DL1/adtrust
- Untuk beberapa profil, misalnya profil dns dan adtrust:
sudo dnf module install idm:DL1/{dns,adtrust}
- Untuk klien FreeIPA
sudo dnf module install idm:DL1/client
3. Menjalankan penginstal Server FreeIPA
Dengan menginstal paket FreeIPA, sekarang kita dapat menjalankan utilitas ipa-server-install. 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 gunakan ini:
sudo ipa-server-install \
--realm IPA.CITIZIX.COM \
-domain ipa.citizix.com \
--ds-password ds_password \
--admin-password admin_password \
--unattended
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
Untuk instalasi non-interaktif untuk IdM dengan DNS terintegrasi, gunakan ini:
sudo ipa-server-install \
--domain ipa.citizix.com \
--realm IPA.CITIZIX.COM \
--reverse-zone=40.2.10.in-addr.arpa. \
--no-forwarders \
--no-ntp \
--setup-dns \
--ds-password ds_password \
--admin-password admin_password \
--unattended
Ini adalah output dari sesi interaktif di server saya:
$ 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.2
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]: no
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.citizix.com]: ipa.citizix.com
The domain name has been determined based on the host name.
Please confirm the domain name [citizix.com]: ipa.citizix.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 [IPA.CITIZIX.COM]: IPA.CITIZIX.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):
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]: no
The IPA Master Server will be configured with:
Hostname: ipa.citizix.com
IP address(es): 10.2.40.149
Domain name: ipa.citizix.com
Realm name: IPA.CITIZIX.COM
The CA will be configured with:
Subject DN: CN=Certificate Authority,O=IPA.CITIZIX.COM
Subject base: O=IPA.CITIZIX.COM
Chaining: self-signed
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
No SRV records of NTP servers found and no NTP server or pool address was provided.
Using default chrony configuration.
Attempting to sync time with chronyc.
Time synchronization was successful.
Configuring directory server (dirsrv). Estimated time: 30 seconds
[1/41]: creating directory server instance
[2/41]: tune ldbm plugin
[3/41]: adding default schema
...
Setelah instalasi berhasil:
...
Client configuration complete.
The ipa-client-install command was successful
Please add records in this file to your DNS system: /tmp/ipa.system.records.87gb3voq.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
4. Konfigurasi Linux Firewalld
Jika Anda telah menginstal firewalld dan firewall diaktifkan di sistem Anda, Anda harus membuka port FreeIPA untuk akses.
Anda harus memastikan port jaringan ini terbuka:
Port TCP:
80, 443:HTTP/HTTPS
389, 636:LDAP/LDAPS
88, 464:Kerberos
Port UDP:
88, 464:Kerberos
123:NTP
Untuk membuka port menggunakan firewalld, gunakan perintah berikut:
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent sudo firewall-cmd --reload
5. Akses Antarmuka Web GUI FreeIPA
Setelah instalasi selesai dengan skrip, buka browser sistem Anda dan arahkan ke nama host FQDN yang Anda tetapkan untuk sistem di awal, mis. https://ipa.citizix.com
atau bahkan jika Anda mengetik https://your-server-ip
ini akan secara otomatis mengarahkannya ke FQDN.
Abaikan peringatan SSL dengan mengeklik “Lanjutan ”> “Lanjutkan ke ipa.citizix.com (tidak aman) ” jika Anda mendapatkannya.
Setelah login berhasil, Anda akan disajikan antarmuka Dasbor Identitas
6. Menggunakan Antarmuka CLI FreeIPA untuk melakukan operasi dasar
ipa perintah dapat digunakan untuk melakukan semua operasi server FreeIPA.
Tapi pertama-tama, dapatkan tiket admin pengguna Kerberos:
$ sudo kinit admin
Password for [email protected]:
Periksa informasi kedaluwarsa tiket menggunakan klist.
$ sudo klist
Ticket cache: KCM:0
Default principal: [email protected]
Valid starting Expires Service principal
11/09/2021 09:03:25 11/10/2021 09:03:19 krbtgt/[email protected]
- Setel shell default pengguna ke
/bin/bash
.
$ sudo ipa config-mod --defaultshell=/bin/bash
Maximum username length: 32
Maximum hostname length: 64
Home directory base: /home
Default shell: /bin/bash
Default users group: ipausers
Default e-mail domain: ipa.citizix.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=IPA.CITIZIX.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$sysadm_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.citizix.com
IPA master capable of PKINIT: ipa.citizix.com
IPA CA servers: ipa.citizix.com
IPA CA renewal master: ipa.citizix.com
2. Tambahkan pengguna ke FreeIPA
$ sudo ipa user-add etowett --first=Eutychus --last=Towett \
> [email protected] --password
Password:
Enter Password again to verify:
--------------------
Added user "etowett"
--------------------
User login: etowett
First name: Eutychus
Last name: Towett
Full name: Eutychus Towett
Display name: Eutychus Towett
Initials: ET
Home directory: /home/etowett
GECOS: Eutychus Towett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
User password expiration: 20211109060518Z
Email address: [email protected]
UID: 1063800001
GID: 1063800001
Password: True
Member of groups: ipausers
Kerberos keys available: True
3. Daftar Akun Pengguna di FreeIPA
$ sudo ipa user-find
---------------
2 users matched
---------------
User login: admin
Last name: Administrator
Home directory: /home/admin
Login shell: /bin/bash
Principal alias: [email protected], [email protected]
UID: 1063800000
GID: 1063800000
Account disabled: False
User login: etowett
First name: Eutychus
Last name: Towett
Home directory: /home/etowett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800001
GID: 1063800001
Account disabled: False
----------------------------
Number of entries returned 2
----------------------------
4. Login sebagai buat etowett
pengguna. Saat masuk pertama kali, Anda akan diminta untuk mengubah kata sandi:
$ ssh [email protected]
Password:
Password expired. Change your password now.
Current Password:
New password:
Retype new password:
$ id
uid=1063800001(etowett) gid=1063800001(etowett) groups=1063800001(etowett) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Kesimpulan
Dalam panduan ini, kami berhasil mengatur FreeIPA di sistem Rocky Linux kami. Anda dapat bermain dengan antarmuka untuk memahami penempatan berbagai fungsi manajemen FreeIPA.