Uygulama

FreeIPA Sunucusunu Ubuntu’ya Kurma ve Yapılandırma

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.