FreeIPA, ağınızdaki kullanıcıları ve bilgisayarları merkezi olarak yönetmek için ücretsiz ve açık kaynaklı bir kimlik yönetim sistemidir. Bu yazıda, Ubuntu 20.04|18.04|16.04 Linux üzerinde FreeIPA Sunucusunun hem kurulumunu hem de yapılandırmasını ele alacağız.
Kurulum Ön Koşulları
FreeIPA sunucusunu kurmadan önce, aşağıdaki minimum gereksinimlerin karşılandığından emin olun;
- Tam nitelikli bir alan adı – örneğin ipa.computingforgeeks.com .
- Ana bilgisayar adı çözülebilir olmalıdır . Bir DNS sunucunuz yoksa, ana bilgisayar adınızı ana bilgisayar dosyasında tanımlayabilirsiniz.
- 4 GB RAM
- 10 GB disk alanı
- 2 vCPU
FreeIPA Sunucusunu Ubuntu’ya Yükleme
Ubuntu üzerinde FreeIPA Server kurulumuna başlamadan önce, biraz hazırlık yapalım.
1. Adım: Uygun ana bilgisayar adını ve FQDN’yi ayarlayın
Sunucunuz için uygun ana bilgisayar adını ayarlayın
$ hostname -f
ipa
Bu iyi görünmüyor. Tam nitelikli hale getirelim.
sudo hostnamectl set-hostname ipa.example.com
Yeni ana bilgisayar adınızı onaylayın.
$ hostname -f
ipa.example.com
Her yerden çözülebilir hale getirmek için FQDN’nizi /etc/hosts dosyasına ekleyin :
$ sudo vim /etc/hosts
192.168.58.121 ipa.example.com ipa
2. Adım: Ubuntu sunucunuzu güncelleyin
Sisteminizin güncellendiğinden emin olun.
sudo apt -y update
sudo apt -y upgrade
Sunucu yükseltildikten sonra her zaman yeniden başlatma yapılması önerilir.
sudo reboot
3. Adım: rng-tools’u kurun
FreeIPA sunucusu çalışırken birçok şifreleme işlemi gerçekleştirir ve bu nedenle VM’nizin FreeIPA şifreleme işlemlerinin durmamasını sağlamak için yeterli entropiye sahip olması gerekir. Yüksek entropi elde etmek için rng araçlarını kurun ve yapılandırın.
sudo apt -y install rng-tools
Kurulum tamamlandıktan sonra, /etc/default/rng-tools dosyasını düzenleyin ve gösterildiği gibi HRNGDEVICE=/dev/urandom satırını ekleyerek rastgele veriler için giriş kaynağını /dev /urandom olarak ayarlayın ;
$ sudo vim /etc/default/rng-tools
# This is a POSIX shell fragment
# Set to the input source for random data, leave undefined
# for the initscript to attempt auto-detection. Set to /dev/null
# for the viapadlock and tpm drivers.
#HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null
HRNGDEVICE=/dev/urandom
rng araçlarını etkinleştirin ve başlatın:
sudo systemctl enable rng-tools
sudo systemctl start rng-tools
Adım 4: FreeIPA Sunucusunu Ubuntu üzerine kurun
Ubuntu sunucunuza FreeIPA paketlerini kurmak için aşağıdaki komutu çalıştırın.
sudo apt -y install freeipa-server
Kurulumun ortasında Kerberos bölgesini, Kerberos sunucularının ana bilgisayar adlarını ve Kerberos bölgesi için yönetim sunucusunun ana bilgisayar adını girmeniz istenecektir.
Örnek:
- Kerberos bölgesi: COMPUTINGFORGEEKS.COM
- Kerberos Sunucusu ana bilgisayar adı: ipa.computingforgeeks.com
- İdari sunucu ana bilgisayar adı: ipa.computingforgeeks.com
Kerberos ve Tomcat ile ilgili hatalarla karşılaşırsanız, bunları güvenle yok sayabilirsiniz.
Kurulum tamamlandıktan sonra FreeIPA kurulum komutunu çalıştırın.
sudo ipa-server-install
Bu, sizden bir dizi yapılandırma seçeneği isteyecek ve FreeIPA’yı kuracaktır. İlk istem FreeIPA’nın entegre DNS’si hakkında olacak ve bu kurulumda bu hizmete ihtiyacımız olmadığı için onu yapılandıramıyoruz.
To accept the default options shown in square brackets, just press Enter key.…
Do you want to configure integrated DNS (BIND)? [no]: Enter
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.computingforgeeks.com]: Enter
The domain name has been determined based on the host name.
Please confirm the domain name [computingforgeeks.com]: Enter
The kerberos protocol requires a Realm name to be defined.
This is typically the domain name converted to uppercase.
Please provide a realm name [COMPUTINGFORGEEKS.COM]: Enter
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: <secure password>
Password (confirm): <secure 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: <secure password>
Password (confirm): <secure password>
The IPA Master Server will be configured with:
Hostname: ipa.computingforgeeks.com
IP address(es): 192.168.58.121
Domain name: computingforgeeks.com
Realm name: COMPUTINGFORGEEKS.COM
The CA will be configured with:
Subject DN: CN=Certificate Authority,O=COMPUTINGFORGEEKS.COM
Subject base: O=COMPUTINGFORGEEKS.COM
Chaining: self-signed
Continue to configure the system with these values? [no]: yes
...output cut…
Client configuration complete.
The ipa-client-install command was successful
==============================================================================
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.
Artık FreeIPA sunucu kurulumu tamamlandığına göre, güvenlik duvarı aracılığıyla çeşitli FreeIPA sunucu hizmetleri için gereken bağlantı noktalarını açın.
ufw çalışmıyorsa , etkinleştirebilir ve yukarıdaki bağlantı noktalarına gelen tüm bağlantılara izin verebilirsiniz.
Adım 5: FreeIPA için Güvenlik Duvarını Yapılandırın
Yüklüyse ufw’yi etkinleştirin.
sudo ufw enable
Gerekli tüm TCP bağlantı noktalarını açın
for i in 80 443 389 636 88 464; do sudo ufw allow proto tcp from any to any port $i; done
UDP bağlantı noktaları için de aynısını yapın.
for i in 88 464 123; do sudo ufw allow proto udp from any to any port $i; done
Değişiklikleri yaptıktan sonra ufw’yi yeniden yükleyin.
sudo ufw reload
Bağlantı noktaları güvenlik duvarı üzerinden açıldığına göre, yönetici kullanıcı için bir Kerberos belirteci başlatarak FreeIPA sunucumuzu doğrulayalım.
Normal yönetim etkinliği için bir yönetici hesabı yöneticisi oluşturulmuştur. Parola sorulduğunda, yönetici kullanıcı için yapılandırma adımında belirttiğiniz parolayı kullanın.
$ sudo kinit admin
Password for [email protected]:
Kerberos biletlerini kontrol edin:
$ sudo klist
Ticket cache: KEYRING:persistent:0:0
Default principal: [email protected]
Valid starting Expires Service principal
06/29/18 22:52:40 06/30/18 22:52:36 krbtgt/[email protected]
Bu başarılı olursa, kullanıcı yöneticisinin FreeIPA sunucusunda bulunup bulunmadığını bulmaya çalışın.
$ sudo ipa user-find admin
--------------
1 user matched
--------------
User login: admin
Last name: Administrator
Home directory: /home/admin
Login shell: /bin/bash
Principal alias: [email protected]
UID: 1506000000
GID: 1506000000
Account disabled: False
----------------------------
Number of entries returned 1
----------------------------
Her şey yolunda gibi. Artık herhangi bir IPA görevini web panosundan ve komut satırından gerçekleştirebilirsiniz. Web kontrol paneline giriş yapmak için https://ipa.example.com adresini kullanın.
Web oturum açma kullanıcı adı admin’dir ve parola, yönetici kullanıcı için yapılandırma adımı sırasında sağlanan paroladır.
Bir sonraki görünüm aşağıdakine benzer olacaktır.
IPA Sunucusu bilgileri:
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.