Takip et

CentOS 7 Üzerinde FreeIPA İstemcisini Yapılandırma Rehberi

CentOS 7 Üzerinde FreeIPA İstemcisini Yapılandırma Rehberi Bu makale, CentOS 7 işletim sistemi üzerinde bir FreeIPA istemcisini nasıl yapılan

CentOS 7 Üzerinde FreeIPA İstemcisini Yapılandırma Rehberi

Bu makale, CentOS 7 işletim sistemi üzerinde bir FreeIPA istemcisini nasıl yapılandıracağınızı adım adım açıklamaktadır. FreeIPA, Linux/Unix ortamlarında merkezi kimlik, kimlik doğrulama, yetkilendirme ve hesap yönetimi hizmetleri sunan kapsamlı bir açık kaynak çözümüdür. Kerberos, LDAP, DNS, NTP ve CA gibi temel hizmetleri tek bir çatı altında birleştirerek sistem yöneticilerine büyük kolaylıklar sağlar. Bir FreeIPA istemcisi, FreeIPA sunucusuna entegre olan ve merkezi olarak yönetilen bir makinedir; bu sayede kullanıcılar FreeIPA kimlik bilgileriyle bu makineye giriş yapabilir, sudo kurallarını uygulayabilir ve diğer merkezi hizmetlerden faydalanabilirler.

Giriş: FreeIPA ve Merkezi Yönetimin Önemi

Modern BT altyapılarında, sunucu ve istemci makinelerinin sayısı arttıkça, her bir makine üzerinde ayrı ayrı kullanıcı hesapları, yetkilendirmeler ve güvenlik politikaları yönetmek hem zaman alıcı hem de hataya açık bir süreç haline gelmektedir. Bu durum, özellikle büyük ve dinamik ortamlarda ciddi yönetim zorluklarına yol açar. İşte bu noktada FreeIPA gibi merkezi kimlik yönetimi çözümleri devreye girer.

FreeIPA (Identity, Policy, Audit), Red Hat tarafından desteklenen ve Linux tabanlı sistemler için tasarlanmış entegre bir kimlik ve güvenlik çözümüdür. Temelinde 389 Directory Server (LDAP), MIT Kerberos, NTP, DNS ve Dogtag Certificate System (CA) gibi güçlü açık kaynak bileşenleri barındırır. Bu bileşenlerin birleşimi sayesinde FreeIPA, kullanıcı ve grup yönetimi, kimlik doğrulama, yetkilendirme, DNS hizmetleri, zaman senkronizasyonu ve sertifika yönetimi gibi kritik işlevleri tek bir merkezi noktadan yönetme imkanı sunar.

Bir FreeIPA sunucusu kurduktan sonra, ağınızdaki diğer Linux makinelerini bu sunucuya istemci olarak bağlamak, merkezi yönetimin avantajlarından tam olarak yararlanmanızı sağlar. Bu istemciler, FreeIPA sunucusundaki kullanıcı hesaplarını kullanarak kimlik doğrulaması yapabilir, FreeIPA tarafından tanımlanan sudo kurallarını uygulayabilir ve SSH anahtarı yönetimi gibi ek güvenlik özelliklerinden faydalanabilirler. Bu sayede, yeni bir kullanıcı eklemek, mevcut bir kullanıcının şifresini değiştirmek veya bir kullanıcının erişim yetkilerini düzenlemek gibi işlemler, tüm istemci makinelerde tek tek yapmak yerine FreeIPA sunucusu üzerinden merkezi olarak gerçekleştirilebilir. Bu, hem güvenlik duruşunu güçlendirir hem de operasyonel verimliliği önemli ölçüde artırır.

Bu makalede, bir CentOS 7 makinesini FreeIPA ortamınıza nasıl bir istemci olarak dahil edeceğinizi adım adım ele alacağız. Başarılı bir yapılandırma için gerekli ön koşullardan başlayarak, istemci paketlerinin kurulumuna, yapılandırma sürecine ve son doğrulama adımlarına kadar her detayı açıklayacağız.

Ön Koşullar

FreeIPA istemcisini başarıyla yapılandırmadan önce, aşağıdaki ön koşulların yerine getirildiğinden emin olmanız gerekmektedir:

1. Çalışır Durumda Bir FreeIPA Sunucusu

Ağınızda kurulu ve düzgün bir şekilde çalışan bir FreeIPA sunucusunun olması zorunludur. Bu sunucu, istemcinin kimlik doğrulama, DNS ve diğer hizmetler için başvuracağı ana noktadır. Sunucunun FQDN (Tam Nitelikli Alan Adı), IP adresi ve yönetici kimlik bilgileri (genellikle admin kullanıcısı ve şifresi) elinizin altında olmalıdır.

2. CentOS 7 İstemci Makinesi

Yapılandırılacak makine, temiz bir CentOS 7 kurulumuna sahip olmalıdır. Bu makinenin ağa bağlı ve FreeIPA sunucusuyla iletişim kurabilir durumda olması gerekmektedir. Makinenin güncel olması, olası uyumluluk sorunlarını önleyecektir.

3. Ağ Bağlantısı ve DNS Çözümlemesi

* Ağ Bağlantısı: CentOS 7 istemcisinin FreeIPA sunucusuna ağ üzerinden erişebilmesi gerekir. İki makine arasında ping testi yaparak bağlantıyı doğrulayabilirsiniz.
* DNS Çözümlemesi: İstemcinin FreeIPA sunucusunun FQDN’ini doğru bir şekilde çözebilmesi kritik öneme sahiptir. İstemci makinesinin /etc/resolv.conf dosyasında FreeIPA sunucusunun IP adresinin DNS sunucusu olarak ayarlanması şiddetle tavsiye edilir. FreeIPA sunucusu aynı zamanda bir DNS sunucusu olarak da görev yapar ve istemci için gerekli DNS kayıtlarını otomatik olarak yönetir.

4. Zaman Senkronizasyonu (NTP)

Kerberos kimlik doğrulamasının düzgün çalışabilmesi için istemci ve sunucu arasındaki zaman farkının belirli bir toleransın (genellikle 5 dakika) altında olması gerekir. Bu nedenle, istemci makinesinin FreeIPA sunucusu veya başka bir güvenilir NTP sunucusu ile zaman senkronizasyonu yapması önemlidir.

5. Root Yetkileri

İstemci yapılandırma işlemi için CentOS 7 makinesinde root kullanıcısı olarak veya sudo yetkisine sahip bir kullanıcı olarak oturum açmış olmanız gerekmektedir.

Bu ön koşulların tamamlandığından emin olduktan sonra, FreeIPA istemcisini yapılandırma adımlarına geçebiliriz.

CentOS 7 İstemcisini Hazırlama

FreeIPA istemcisini kurmadan önce, CentOS 7 makinenizi doğru bir şekilde hazırlamanız gerekmektedir. Bu adımlar, kurulumun sorunsuz ilerlemesi ve istemcinin FreeIPA ortamına başarılı bir şekilde entegre olması için hayati öneme sahiptir.

1. Sistemi Güncelleme

Herhangi bir yazılım kurulumuna başlamadan önce sistem paketlerini güncellemek her zaman iyi bir uygulamadır. Bu, güvenlik açıklarını kapatır ve en son paket sürümlerine sahip olmanızı sağlar.

sudo yum update -y
sudo reboot

yum update komutu sistemdeki tüm paketleri güncelleyecektir. Güncelleme sonrası çekirdek veya önemli sistem bileşenleri güncellenmişse, değişikliklerin etkili olması için sistemi yeniden başlatmanız önerilir.

2. Hostname Ayarlama

İstemci makinesinin tam nitelikli alan adının (FQDN) doğru bir şekilde ayarlanmış olması gerekmektedir. Bu, FreeIPA ortamında istemcinin benzersiz bir şekilde tanımlanmasını sağlar. Hostname, FreeIPA alan adınızın bir alt alanı olmalıdır (örneğin, client01.example.com eğer FreeIPA alan adınız example.com ise).

* Hostname’i ayarlayın:

sudo hostnamectl set-hostname client01.example.com

client01.example.com yerine kendi istemcinizin FQDN’ini kullanın.

* /etc/hosts dosyasını kontrol edin:
Genellikle /etc/hosts dosyasında istemcinin IP adresi ve FQDN’inin doğru bir şekilde eşleştiğinden emin olmak iyi bir uygulamadır. Bu dosya, DNS çözümlemesi sorunları durumunda bir yedek görevi görebilir.

sudo vi /etc/hosts

Aşağıdaki gibi bir giriş ekleyin veya mevcut olanı doğrulayın:

192.168.1.100 client01.example.com client01

192.168.1.100 yerine istemcinizin kendi IP adresini kullanın.

* Hostname’i doğrulayın:

hostname
    hostname -f

Her iki komut da doğru FQDN’i döndürmelidir.

3. DNS Yapılandırması

İstemcinin FreeIPA sunucusunu bulabilmesi ve onunla iletişim kurabilmesi için DNS çözümlemesi hayati öneme sahiptir. İstemci makinesinin FreeIPA sunucusunu DNS sunucusu olarak kullanması gerekmektedir.

* /etc/resolv.conf dosyasını düzenleyin:

sudo vi /etc/resolv.conf

Dosyanın içeriğini FreeIPA sunucunuzun IP adresi ve alan adınızla güncelleyin. Örneğin:

search example.com
    nameserver 192.168.1.50

example.com yerine kendi FreeIPA alan adınızı, 192.168.1.50 yerine ise FreeIPA sunucunuzun IP adresini yazın.
Not: NetworkManager kullanıyorsanız, /etc/resolv.conf dosyası NetworkManager tarafından otomatik olarak yönetilebilir. Kalıcı bir değişiklik yapmak için NetworkManager ayarlarınızı düzenlemeniz gerekebilir (örneğin, nmcli connection modify ipv4.dns "192.168.1.50").

4. Ağ ve DNS Doğrulama

DNS ayarlarının doğru çalıştığından emin olmak için birkaç test yapın.

* FreeIPA sunucusuna ping atın:

ping -c 4 ipa.example.com

Bu komut, FreeIPA sunucusunun FQDN’ini çözüp çözemediğinizi ve sunucuya erişip erişemediğinizi kontrol eder.

* DNS kayıtlarını kontrol edin:
dig veya nslookup komutlarını kullanarak FreeIPA alan adınızın ve sunucunuzun doğru çözümlendiğini doğrulayın.

dig ipa.example.com
    dig -t SRV _kerberos._tcp.example.com

_kerberos._tcp.example.com gibi SRV kayıtları, Kerberos hizmetlerinin nerede bulunduğunu gösterir ve FreeIPA istemcisinin sunucuyu otomatik olarak bulmasına yardımcı olur. Bu kayıtların doğru bir şekilde çözümlenmesi önemlidir.

5. Zaman Senkronizasyonu

Kerberos kimlik doğrulaması için istemci ve sunucu arasında zaman senkronizasyonu zorunludur. CentOS 7’de chrony varsayılan zaman senkronizasyon hizmetidir.

* chrony hizmetini yapılandırın:
FreeIPA sunucunuz genellikle bir NTP sunucusu olarak da görev yapar. chrony yapılandırma dosyasını düzenleyerek FreeIPA sunucunuzu NTP kaynağı olarak ekleyin.

sudo vi /etc/chrony.conf

Mevcut server veya pool girdilerini yorum satırı yapın ve FreeIPA sunucunuzu ekleyin:

# pool 2.centos.pool.ntp.org iburst
    server ipa.example.com iburst

ipa.example.com yerine FreeIPA sunucunuzun FQDN’ini kullanın.

* chrony hizmetini yeniden başlatın ve durumunu kontrol edin:

sudo systemctl restart chronyd
    sudo systemctl enable chronyd
    sudo chronyc sources

chronyc sources komutu, istemcinin NTP sunucusuyla senkronize olup olmadığını ve ne kadar gecikme olduğunu gösterecektir. * işareti, başarıyla senkronize olunan sunucuyu belirtir.

Bu adımları tamamladıktan sonra, CentOS 7 istemciniz FreeIPA ortamına katılmaya hazır hale gelmiş demektir.

FreeIPA İstemci Paketlerini Kurma

CentOS 7 istemcisini FreeIPA ortamına dahil etmek için gerekli olan paketleri kurmanız gerekmektedir. Ana paket ipa-client paketidir ve bu paket, FreeIPA sunucusuyla iletişim kurmak ve kimlik doğrulama hizmetlerini yapılandırmak için gereken tüm bağımlılıkları ve yardımcı programları içerir.

1. ipa-client Paketini Yükleme

yum paket yöneticisini kullanarak ipa-client paketini ve bağımlılıklarını kurun:

sudo yum install ipa-client -y

Bu komut, aşağıdaki gibi temel bileşenleri ve bağımlılıklarını kuracaktır:
* SSSD (System Security Services Daemon): Linux sistemlerinde kimlik doğrulama ve yetkilendirme hizmetleri için ana arayüzdür. LDAP, Kerberos ve diğer kimlik kaynaklarından bilgi çekerek yerel sistemde kullanıcı ve grup bilgilerini sağlar. FreeIPA istemcisi için SSSD, FreeIPA sunucusuyla iletişim kuran birincil bileşendir.
* Kerberos istemci araçları: kinit, klist, kdestroy gibi komutlar, Kerberos biletlerini yönetmek için kullanılır.
* LDAP istemci kütüphaneleri: LDAP dizin hizmetiyle iletişim kurmak için gereklidir.
* ipa-client-install yardımcı programı: FreeIPA istemcisini yapılandırmak için kullanılan ana betiktir.
* authconfig: Kimlik doğrulama ayarlarını yapılandırmak için bir yardımcı program (SSSD tarafından kullanılır).
* oddjob-mkhomedir: Kullanıcı ilk kez oturum açtığında otomatik olarak ana dizin oluşturmak için kullanılır.

Kurulum tamamlandıktan sonra, ipa-client-install komutunu kullanarak istemciyi yapılandırma adımına geçebilirsiniz.

FreeIPA İstemcisini Yapılandırma

ipa-client paketini kurduktan sonra, istemciyi FreeIPA sunucusuna kaydetmek ve gerekli kimlik doğrulama ayarlarını yapmak için ipa-client-install komutunu kullanmanız gerekir. Bu komut, etkileşimli veya etkileşimsiz modda çalıştırılabilir.

1. ipa-client-install Komutunu Çalıştırma (Etkileşimli Mod)

En basit ve yaygın yöntem, komutu parametresiz çalıştırmaktır. Bu durumda komut, sizden gerekli bilgileri isteyecektir.

sudo ipa-client-install

Komut çalıştırıldığında size aşağıdaki gibi sorular sorulacaktır:

* Do you want to configure NTP? [no]: (NTP yapılandırmak ister misiniz?)
Daha önce chrony‘yi manuel olarak yapılandırdıysanız no diyebilirsiniz. Aksi takdirde, FreeIPA sunucusunu NTP kaynağı olarak kullanmak için yes diyerek FreeIPA sunucusunun FQDN’ini girmeniz gerekir.

* Continue to configure the system with these values? [no]: (Sistemi bu değerlerle yapılandırmaya devam edilsin mi?)
Önceki adımlarda belirttiğiniz hostname, alan adı gibi bilgileri gösterir. Bilgilerin doğru olduğundan emin olduktan sonra yes ile onaylayın.

* User authorized to enroll computers: admin (Bilgisayarları kaydetmeye yetkili kullanıcı: admin)
Genellikle admin kullanıcısı kullanılır. Eğer farklı bir kullanıcı yetkilendirilmişse onu girin.

* Password for admin@EXAMPLE.COM: (admin@EXAMPLE.COM için şifre:)
FreeIPA sunucusunun yönetici (admin) kullanıcısının şifresini girin.

* Do you want to configure mkhomedir? [yes]: (mkhomedir yapılandırmak ister misiniz?)
Bu seçenek, FreeIPA kullanıcıları ilk kez oturum açtığında otomatik olarak ana dizinlerinin oluşturulmasını sağlar. Genellikle yes olarak bırakılması önerilir.

* Systemwide CA trust for this IPA environment is set to yes. (Bu IPA ortamı için sistem genelinde CA güveni evet olarak ayarlandı.)
FreeIPA, kendi dahili Sertifika Otoritesine (CA) sahiptir. Bu seçenek, istemcinin FreeIPA CA’sına güvenmesini sağlar. yes ile onaylayın.

* Configure client DNS? [yes]: (İstemci DNS’ini yapılandırsın mı?)
Eğer istemcinin /etc/resolv.conf dosyasını FreeIPA DNS sunucusuna işaret etmesini istiyorsanız yes diyebilirsiniz. Ancak, daha önce manuel olarak yapılandırdıysanız veya NetworkManager kullanıyorsanız no diyerek mevcut yapılandırmayı koruyabilirsiniz.

* The IPA client has been configured successfully. (IPA istemcisi başarıyla yapılandırıldı.)
Bu mesajı gördüğünüzde kurulum başarılı demektir.

2. ipa-client-install Komutunu Çalıştırma (Etkileşimsiz Mod)

Otomatik betiklerde veya büyük ölçekli dağıtımlarda etkileşimsiz (unattended) kurulum tercih edilebilir. Bu modda, tüm gerekli parametreler komut satırında veya bir yanıt dosyasında belirtilir.

sudo ipa-client-install --unattended \
--hostname=client01.example.com \
--domain=example.com \
--server=ipa.example.com \
--realm=EXAMPLE.COM \
--principal=admin \
--password=YOUR_ADMIN_PASSWORD \
--mkhomedir \
--no-ntp \
--force-join \
--permit --enable-dns-updates

Yukarıdaki komutta kullanılan önemli parametreler:

* --unattended: Etkileşimsiz kurulumu başlatır.
* --hostname=: İstemcinin FQDN’ini belirtir (örneğin, client01.example.com).
* --domain=: FreeIPA alan adını belirtir (örneğin, example.com).
* --server=: FreeIPA sunucusunun FQDN’ini belirtir (örneğin, ipa.example.com).
* --realm=: Kerberos alanını belirtir (genellikle FreeIPA alan adının büyük harfli versiyonu, örneğin EXAMPLE.COM).
* --principal=: Bilgisayarı kaydetmek için yetkili FreeIPA kullanıcısını belirtir (genellikle admin).
* --password=: --principal ile belirtilen kullanıcının şifresini girer. Dikkat: Bu yöntemi betiklerde kullanırken şifrenin düz metin olarak görünmesi güvenlik riski oluşturabilir. Daha güvenli yöntemler için Kerberos anahtar tablosu (keytab) kullanmak veya şifreyi bir dosyadan okutmak düşünülebilir.
* --mkhomedir: FreeIPA kullanıcıları ilk kez giriş yaptığında ana dizinlerinin otomatik olarak oluşturulmasını sağlar.
* --no-ntp: Eğer chrony‘yi manuel olarak yapılandırdıysanız veya FreeIPA sunucusunun NTP yapılandırmasına müdahale etmesini istemiyorsanız bu seçeneği kullanın. Aksi takdirde, FreeIPA sunucusunu NTP kaynağı olarak ayarlamak için --ntp-server= kullanabilirsiniz.
* --force-join: Eğer istemci daha önce FreeIPA’ya katılmış ve kaydı temizlenmemişse, mevcut kaydın üzerine yazmak için kullanılır.
* --permit: İstemcinin Kerberos kimlik doğrulamasını kullanmasına izin verir.
* --enable-dns-updates: İstemcinin DNS kayıtlarını FreeIPA DNS sunucusuna otomatik olarak güncellemesine izin verir.

3. Kurulum Sırasında Sorun Giderme

ipa-client-install komutu sırasında çeşitli sorunlarla karşılaşılabilir:

* DNS Sorunları: “Cannot resolve hostname” veya “No SRV records found” gibi hatalar alıyorsanız, /etc/resolv.conf ayarlarınızı, /etc/hosts dosyanızı ve dig komutuyla DNS çözümlemenizi tekrar kontrol edin. FreeIPA sunucunuzun DNS hizmetinin çalıştığından emin olun.
* Zaman Senkronizasyonu Sorunları: “Clock skew too great” gibi Kerberos hataları alıyorsanız, istemci ve sunucu arasındaki zaman farkı çok fazladır. chronyc sources komutunu kullanarak zaman senkronizasyon durumunu kontrol edin ve gerekirse chronyd hizmetini yeniden başlatın.
* Güvenlik Duvarı Sorunları: İstemci ve FreeIPA sunucusu arasındaki güvenlik duvarlarının gerekli portları (LDAP: 389, 636; Kerberos: 88, 464; DNS: 53; NTP: 123) açık olduğundan emin olun.
* Yönetici Kimlik Bilgileri: admin şifresini doğru girdiğinizden emin olun.
* Log Kayıtları: Sorun giderme için ipa-client-install.log dosyasına ve /var/log/sssd/ dizinindeki SSSD loglarına bakmak faydalı olacaktır.

Kurulum başarıyla tamamlandıktan sonra, istemcinin FreeIPA ortamına düzgün bir şekilde entegre olup olmadığını doğrulamak için sonraki adımlara geçebilirsiniz.

İstemci Yapılandırmasını Doğrulama

FreeIPA istemcisini yapılandırdıktan sonra, her şeyin beklendiği gibi çalıştığından emin olmak için çeşitli doğrulama adımları uygulamanız önemlidir. Bu adımlar, istemcinin FreeIPA sunucusuyla iletişim kurabildiğini, kullanıcı kimlik doğrulamasını yapabildiğini ve diğer merkezi hizmetlerden faydalanabildiğini teyit eder.

1. Kerberos Biletlerini Kontrol Etme

FreeIPA’nın temelini oluşturan Kerberos, kimlik doğrulama için biletleri kullanır. Bir FreeIPA kullanıcısı olarak Kerberos bileti alıp alamadığınızı kontrol edin.

* kinit ile bilet alın:

kinit admin

admin yerine FreeIPA sunucusunda tanımlı herhangi bir kullanıcı adını kullanabilirsiniz (örneğin, user01). Komut sizden kullanıcının şifresini isteyecektir.

* klist ile biletleri listeleyin:

klist

Başarılı bir şekilde bilet aldıysanız, klist komutu bir veya daha fazla Kerberos bileti gösterecektir. Bu, istemcinin Kerberos KDC (Key Distribution Center) ile başarılı bir şekilde iletişim kurabildiği anlamına gelir.

2. Kullanıcıları ve Grupları Listeleme

İstemci makinesinin FreeIPA sunucusundaki kullanıcı ve grup bilgilerini çekip çekemediğini kontrol edin.

* Kullanıcıları listeleyin:

id admin
    getent passwd admin
    ipa user-find admin

Bu komutlar, admin kullanıcısının bilgilerini FreeIPA sunucusundan alabilmelidir. id komutu kullanıcının UID, GID ve grup bilgilerini gösterirken, getent passwd komutu /etc/passwd benzeri bir çıktı verir. ipa user-find ise FreeIPA komut satırı arayüzünü kullanarak doğrudan IPA sunucusundan bilgi çeker.

* Grupları listeleyin:

getent group ipausers
    ipa group-find ipausers

FreeIPA’da tanımlı grupları listeleyerek istemcinin grup bilgilerini de alabildiğini doğrulayın.

3. FreeIPA Kullanıcıları ile Giriş Yapma

En önemli doğrulama adımlarından biri, FreeIPA’da tanımlı bir kullanıcı ile istemci makinesine giriş yapabilmektir.

* SSH ile giriş yapın:
Başka bir terminalden veya başka bir makineden, FreeIPA’da tanımlı bir kullanıcı ile istemciye SSH yapmayı deneyin:

ssh user01@client01.example.com

user01 yerine FreeIPA’da mevcut bir kullanıcı adını, client01.example.com yerine ise istemcinizin FQDN’ini kullanın. Eğer --mkhomedir seçeneğini kullandıysanız, kullanıcı ilk kez giriş yaptığında ana dizini otomatik olarak oluşturulmalıdır.

* Sudo yetkilerini test edin (eğer yapılandırıldıysa):
Eğer FreeIPA sunucusunda user01 için sudo kuralları tanımladıysanız, SSH ile giriş yaptıktan sonra sudo komutunu deneyin:

sudo yum update

Kullanıcının kendi şifresiyle sudo komutunu çalıştırabilmesi gerekir.

4. SSSD Durumunu Kontrol Etme

SSSD (System Security Services Daemon), FreeIPA istemcisinin temel kimlik doğrulama bileşenidir. Durumunu kontrol etmek önemlidir.

sudo systemctl status sssd

SSSD hizmetinin active (running) durumda olduğunu görmelisiniz. Herhangi bir hata varsa, SSSD log dosyalarını (/var/log/sssd/) kontrol edin.

5. DNS Kayıtlarını Kontrol Etme

FreeIPA sunucusunda istemcinizin DNS kaydının otomatik olarak oluşturulduğunu doğrulayın. FreeIPA sunucusu üzerinde veya herhangi bir FreeIPA istemcisinde ipa dnsrecord-find komutunu kullanabilirsiniz:

ipa dnsrecord-find example.com client01

Bu komut, client01.example.com için DNS A kaydının ve muhtemelen PTR kaydının (ters DNS kaydı) FreeIPA DNS’inde mevcut olduğunu gösterecektir.

6. FreeIPA Sunucusunda İstemci Kaydını Kontrol Etme

FreeIPA sunucusu arayüzünden veya komut satırından istemcinizin FreeIPA’ya başarıyla katıldığını doğrulayın.

ipa host-find client01.example.com

Bu komut, client01.example.com için bir host kaydının FreeIPA dizininde mevcut olduğunu ve durumunu gösterecektir.

Bu doğrulama adımlarını başarıyla tamamladıysanız, CentOS 7 istemciniz FreeIPA ortamına tam olarak entegre olmuş ve merkezi kimlik yönetimi hizmetlerinden faydalanmaya hazır demektir.

Yapılandırma Sonrası Görevler ve En İyi Uygulamalar

FreeIPA istemcisini başarıyla yapılandırdıktan sonra, sisteminizin daha güvenli, daha işlevsel ve daha kolay yönetilebilir olmasını sağlayacak bazı ek görevler ve en iyi uygulamalar bulunmaktadır.

1. SSSD Yapılandırması (/etc/sssd/sssd.conf)

SSSD, FreeIPA istemcisinin kimlik doğrulama ve yetkilendirme süreçlerini yöneten ana bileşendir. /etc/sssd/sssd.conf dosyasını düzenleyerek SSSD’nin davranışını özelleştirebilirsiniz.

* Önbellek Kimlik Bilgileri (cache_credentials): Bu ayar varsayılan olarak True‘dur ve SSSD’nin kullanıcı kimlik bilgilerini önbelleğe almasını sağlar. Bu sayede FreeIPA sunucusuna erişilemediğinde bile kullanıcılar sistemde oturum açabilirler. Güvenlik ve kullanılabilirlik açısından önemlidir.
* Numaralandırma (enumerate): Varsayılan olarak False‘dur. Eğer True olarak ayarlanırsa, SSSD tüm FreeIPA kullanıcılarını ve gruplarını yerel sistemde gösterir (getent passwd, getent group gibi komutlarla). Büyük ortamlarda bu, performansı olumsuz etkileyebilir, bu yüzden genellikle False olarak bırakılır ve sadece ihtiyaç duyulan kullanıcılar sorgulanır.
* Hata Ayıklama Seviyesi (debug_level): Sorun giderme sırasında SSSD loglarının ayrıntı düzeyini artırmak için kullanılabilir. Üretim ortamında genellikle düşük bir seviyede tutulur.
* sudo_provider = ipa: Bu ayar, sudo kurallarının FreeIPA sunucusundan alınmasını sağlar. ipa-client-install genellikle bunu otomatik olarak yapılandırır.

Herhangi bir değişiklik yaptıktan sonra SSSD hizmetini yeniden başlatmayı unutmayın:

sudo systemctl restart sssd

2. SUDO Entegrasyonu

FreeIPA, merkezi sudo kuralları tanımlamanıza olanak tanır. Bu sayede, hangi FreeIPA kullanıcısının hangi istemci makinesinde hangi komutları sudo ile çalıştırabileceğini merkezi olarak yönetebilirsiniz.

* FreeIPA Sunucusunda Sudo Kuralı Oluşturma: FreeIPA web arayüzünden veya ipa sudorule-add, ipa sudorule-add-host, ipa sudorule-add-user, ipa sudorule-add-cmd gibi komutlarla sudo kuralları tanımlayın.
* İstemcide Kullanım: İstemci, SSSD aracılığıyla bu kuralları otomatik olarak alır. Bir FreeIPA kullanıcısı olarak giriş yaptıktan sonra, tanımlanan kurallara uygun şekilde sudo komutlarını kullanabilirsiniz.

3. SSH Entegrasyonu

FreeIPA, SSH anahtarlarının merkezi yönetimini de destekler. Kullanıcıların SSH public key’lerini FreeIPA profillerine ekleyerek, bu anahtarların istemci makinelere otomatik olarak dağıtılmasını sağlayabilirsiniz.

* FreeIPA Sunucusunda SSH Public Key Ekleme: FreeIPA web arayüzünden veya ipa user-mod --sshpubkey="" komutuyla bir kullanıcının SSH public key’ini ekleyin.
* İstemcide Kullanım: ipa-client-install sırasında veya daha sonra SSSD yapılandırmasında SSH entegrasyonu etkinleştirilmişse, SSSD otomatik olarak kullanıcıların SSH anahtarlarını ~/.ssh/authorized_keys dosyasına eklemek yerine doğrudan FreeIPA’dan çekecektir. Bu, sshd_config dosyasında AuthorizedKeysCommand ve AuthorizedKeysCommandUser ayarlarının doğru yapıldığından emin olmayı gerektirir.

4. Otomatik Ana Dizin Bağlama (Automounting Home Directories)

Büyük ortamlarda, kullanıcı ana dizinlerinin merkezi bir depolama (örneğin NFS) üzerinde tutulması ve istemci makinelerde otomatik olarak bağlanması yaygın bir uygulamadır. FreeIPA, bu automount yapılandırmasını da yönetebilir.

* FreeIPA Sunucusunda Automount Haritaları Tanımlama: FreeIPA web arayüzünden veya ipa automountmap-add, ipa automountlocation-add gibi komutlarla automount noktalarını ve haritalarını tanımlayın.
* İstemcide Kullanım: İstemci, SSSD aracılığıyla bu automount haritalarını alır ve autofs hizmetini kullanarak ana dizinleri otomatik olarak bağlar.

5. Güvenlik Duvarı Hususları

İstemci makinesinde güvenlik duvarının (firewalld) düzgün yapılandırıldığından emin olun. Gerekli hizmetlere erişime izin veren kurallar olmalıdır.

* SSH: Dışarıdan SSH erişimi için 22/TCP portu açık olmalıdır.
* Kerberos, LDAP, NTP, DNS: İstemci, FreeIPA sunucusuyla iletişim kurmak için bu hizmetlerin portlarını kullanır. İstemciden FreeIPA sunucusuna giden trafik için genellikle özel bir kural gerekmezken, eğer istemciye dışarıdan bu hizmetler üzerinden erişim olacaksa (örneğin, başka bir istemci NTP için bu istemciyi kullanacaksa) ilgili portların açılması gerekebilir.

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

FreeIPA sunucusuyla iletişim için istemcide genellikle ek giden kurala ihtiyaç duyulmaz, ancak sunucuda gelen kurallar açık olmalıdır.

6. İstemciyi FreeIPA’dan Ayırma (--uninstall)

Eğer bir istemciyi FreeIPA ortamından çıkarmak isterseniz, ipa-client-install komutunun --uninstall seçeneğini kullanabilirsiniz.

sudo ipa-client-install --uninstall -y

Bu komut, SSSD yapılandırmasını kaldırır, Kerberos anahtar tablosunu siler ve FreeIPA sunucusundaki istemci kaydını temizler. İstemci makinesi daha sonra bağımsız bir sistem olarak çalışmaya devam eder.

Bu ek adımlar ve en iyi uygulamalar, FreeIPA ortamınızın güvenliğini, verimliliğini ve yönetilebilirliğini artırmanıza yardımcı olacaktır. Merkezi bir kimlik yönetim sisteminin tüm avantajlarından yararlanmak için bu konulara dikkat etmek önemlidir.

Yaygın Sorun Giderme

FreeIPA istemcisi yapılandırma sürecinde veya sonrasında karşılaşabileceğiniz bazı yaygın sorunlar ve bunların çözüm yolları aşağıda listelenmiştir:

1. “Cannot resolve hostname” veya “No SRV records found” Hataları

Bu hatalar genellikle DNS çözümlemesi sorunlarına işaret eder.
* Çözüm:
* /etc/resolv.conf dosyasında FreeIPA sunucusunun IP adresinin DNS sunucusu olarak ayarlandığından emin olun.
* İstemcinin /etc/hosts dosyasında FreeIPA sunucusunun FQDN’inin doğru IP adresiyle eşleştiğini kontrol edin.
* dig ipa.example.com ve dig -t SRV _kerberos._tcp.example.com komutlarıyla DNS çözümlemesini test edin. SRV kayıtlarının doğru bir şekilde çözümlenmesi, Kerberos hizmetlerinin bulunması için kritik öneme sahiptir.
* FreeIPA sunucusunun DNS hizmetinin çalıştığından emin olun.

2. “Clock skew too great” Hataları

Bu hata, Kerberos kimlik doğrulamasının bir gereği olan zaman senkronizasyonu sorunlarına işaret eder. İstemci ve sunucu arasındaki zaman farkı genellikle 5 dakikayı aştığında bu hata alınır.
* Çözüm:
* İstemcinin FreeIPA sunucusu veya başka bir güvenilir NTP sunucusu ile zaman senkronizasyonu yaptığından emin olun.
* sudo chronyc sources komutuyla chronyd hizmetinin durumunu kontrol edin.
* Gerekirse sudo systemctl restart chronyd komutuyla chronyd hizmetini yeniden başlatın.

3. “Authentication failed” veya “Permission denied” Hataları

Bu tür hatalar genellikle kimlik doğrulama veya yetkilendirme sorunlarına işaret eder.
* Çözüm:
* Kullanıcı adını ve şifresini doğru girdiğinizden emin olun.
* kinit komutuyla Kerberos bileti almayı deneyin. Eğer bilet alamazsanız, Kerberos KDC ile iletişimde bir sorun olabilir.
* SSSD hizmetinin çalıştığından emin olun (sudo systemctl status sssd).
* SSSD loglarını kontrol edin (/var/log/sssd/sssd_default.log ve /var/log/sssd/sssd_ipa.log). Bu loglar, kimlik doğrulama hatasının nedenine dair ayrıntılı bilgi sağlayabilir.
* FreeIPA sunucusunda kullanıcının etkin ve kilitli olmadığından emin olun.

4. SSH ile Giriş Yapılamıyor

FreeIPA kullanıcılarının SSH ile istemciye giriş yapamaması.
* Çözüm:
* ssh -v user01@client01.example.com komutuyla ayrıntılı hata ayıklama çıktısı alın.
* SSSD loglarını kontrol edin.
* sshd hizmetinin çalıştığından emin olun (sudo systemctl status sshd).
* İstemcinin güvenlik duvarında 22/TCP portunun açık olduğundan emin olun.
* /etc/ssh/sshd_config dosyasında PasswordAuthentication yes (şifre ile giriş yapılıyorsa) ve UsePAM yes ayarlarının etkin olduğundan emin olun. Eğer SSH anahtarı ile giriş yapıyorsanız, AuthorizedKeysCommand ayarlarının doğru yapılandırıldığından emin olun.

5. SSSD Hizmeti Başlatılamıyor veya Çalışmıyor

* Çözüm:
* sudo systemctl status sssd komutuyla durumunu kontrol edin.
* sudo journalctl -xe | grep sssd komutuyla sistem günlüklerini kontrol edin.
* SSSD yapılandırma dosyasını (/etc/sssd/sssd.conf) kontrol edin. Özellikle dosya izinlerinin (600) ve sahipliğinin (root:root) doğru olduğundan emin olun. Yapılandırma dosyasında sözdizimi hataları da sorunlara yol açabilir.
* SSSD log dosyalarını (/var/log/sssd/) inceleyin.

6. FreeIPA Sunucusuna Erişilemiyor (Genel Bağlantı Sorunları)

* Çözüm:
* İstemciden FreeIPA sunucusuna ping atarak ağ bağlantısını kontrol edin.
* telnet ipa.example.com 389 (LDAP), telnet ipa.example.com 88 (Kerberos) gibi komutlarla gerekli portların açık olup olmadığını kontrol edin.
* İstemci ve FreeIPA sunucusu arasındaki güvenlik duvarı kurallarını kontrol edin. Gerekli portların (53, 88, 123, 389, 464, 636) açık olduğundan emin olun.

Sorun giderme sürecinde her zaman log dosyalarını incelemek, sorunun kök nedenini anlamak için en iyi başlangıç noktasıdır. FreeIPA ve SSSD, oldukça ayrıntılı loglar üretir ve bu loglar, sorunları teşhis etmede büyük yardımcı olur.

Sonuç

Bu makalede, CentOS 7 işletim sistemi üzerinde bir FreeIPA istemcisini nasıl yapılandıracağınızı ayrıntılı bir şekilde ele aldık. Merkezi kimlik yönetimi çözümlerinin günümüz BT altyapılarındaki önemini vurgulayarak başladık ve FreeIPA’nın sunduğu avantajlara değindik. Ardından, başarılı bir istemci entegrasyonu için gerekli olan ön koşulları (çalışır bir FreeIPA sunucusu, doğru DNS ve zaman senkronizasyonu gibi) adım adım açıkladık.

İstemci makinesinin hostname ve DNS ayarları gibi temel yapılandırmalarının nasıl yapılacağını gösterdikten sonra, ipa-client paketinin kurulum sürecini ve FreeIPA istemcisini yapılandırmak için ipa-client-install komutunun etkileşimli ve etkileşimsiz kullanımını detaylandırdık. Kurulum sonrası, istemcinin FreeIPA sunucusuyla doğru bir şekilde iletişim kurduğunu ve merkezi kimlik doğrulama hizmetlerinden faydalanabildiğini doğrulamak için Kerberos biletlerini kontrol etme, FreeIPA kullanıcılarıyla giriş yapma ve SSSD durumunu kontrol etme gibi çeşitli doğrulama adımları sunduk.

Son olarak, SSSD yapılandırmasının özelleştirilmesi, sudo ve SSH entegrasyonu, automounting ve güvenlik duvarı hususları gibi yapılandırma sonrası görevler ve en iyi uygulamalar hakkında bilgi verdik. Ayrıca, karşılaşabileceğiniz yaygın sorunları ve bunların çözüm yollarını içeren bir sorun giderme bölümü ile makaleyi tamamladık.

CentOS 7 istemcinizi FreeIPA ortamınıza entegre ederek, kullanıcı ve grup yönetimini merkezileştirmenin, güvenlik politikalarını tutarlı bir şekilde uygulamanın ve operasyonel yükü azaltmanın faydalarından yararlanabilirsiniz. Bu, özellikle birden fazla Linux sunucusu veya istemcisi olan ortamlarda yönetim kolaylığı ve güvenlik açısından büyük bir adım demektir. FreeIPA’nın sunduğu geniş özellik yelpazesi sayesinde, kimlik ve erişim yönetimi süreçlerinizi daha verimli ve güvenli hale getirebilirsiniz. Unutmayın, herhangi bir sorunla karşılaştığınızda log dosyalarını incelemek ve FreeIPA topluluk kaynaklarına başvurmak genellikle en hızlı çözüm yoludur.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version