spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
Unix Tabanlı İşletim Sistemlerinin Merkezi Kimlik Yönetimi Yazdır E-posta
Yılmaz Çankaya, TÜBİTAK-UEKAE   
30.10.2009

İşletim sistemi yöneticileri, BT ekosisteminde üstün yetkilere sahip kullanıcılar olarak kabul edilmektedir. Bu kabulün en belirgin sebebi, iş verisine ve kullanıcıların kritik verilerine erişimin arka kapılarının ellerinde bulundurmalarıdır. Yetkin işletim sistemi kullanıcılarının erişim kontrolü ve denetimi tamamen teknik bir konu olduğundan, bağımsız denetim işlevinin yerine getirilmesi  güçleşmekte ve çoğunlukla aynı işin birden fazla kişi tarafından yapılması sağlanarak görevlerin ayrılığı prensibine uyulması yoluna gidilmektedir.  Unix işletim sistemlerinin kendi yerel yapıları yerine, merkezi bir LDAP dizin sunucudan kimlik doğrulama ve erişim kontrolü (yetkilendirme)  işlevlerini yerine getirmesi mümkündür. Yönetici kullanıcılar BT ekosisteminin doğası gereği her zaman bulunacaktır. Diğer taraftan bu kimliklerin merkezi bir yerden yönetilmesi hem denetimsel hem de yönetimsel avantajlar sunacaktır. İşletim sistemi kullanıcılarının da kimlik doğrulama ve yetkilendirme (veri erişim)  işlemlerini merkezi bir LDAP dizinden yapılabiliyor olması KYS’ye (Kimlik Yönetim Sistem) işletim sistemelerinin de entegrasyonu için itici bir faktör oluşturmuştur.

Bu yazı kapsamında açık kaynak kodlu bir LDAP dizininin kurulumu ve unix işletim sistemlerinin dizin sunucusu ile entegrasyonu anlatılacaktır. Öncelikle LDAP dizin sunucusu kurulumu ve yapılandırması sağlayacak ve sonrasında kullanıcıların göçü gerçekleştirilecektir. Veri göçü kapsamında işletim sistemi kullanıcıları, grupları ve kullanıcı takma isimleri de aktarılacaktır. Bu işlemler sonrası işletim sistemleri dizin sunucu üzerinden kimlik yönetimini gerçekleştirebileceklerdir.

OpenLDAP Kurulumu  ve Kullanıcı Göçü

Kurulumlar RedHat tabanlı işletim sistemleri üzerinde gerçekleştirilecektir. Diğer linux ve unix türevi işletim sistemleri de benzer şekilde, kurulacak birkaç paket ismi farklı olmak kaydıyla,  LDAP sunucu ile entegre edilebilir.  Uygulamalarınız hali hazırda bir KYS’ye (Kimlik Yönetim Sistemi)  entegre çalışıyor ise,  OpenLDAP yerine  KYS’nin kullanıyor olduğu LDAP dizinin  kullanılması tercih edilmelidir.

OpenLDAP Kurulumu 

1. İşletim sisteminize uygun OpenLDAP [2] sürümünün kurulmasını sağlayınız.

yum install openldap-servers.i386

2. /etc/openldap/slapd.conf

dosyası, LDAP dizin sunucumuzun konfigurasyonu için kullanılmaktadır. Bu dosyaya ilk olarak aşağıdaki satırlar eklenmelidir.

include         /etc/openldap/schema/kerberosobject.schema

TLSCACertificateFile /etc/openldap/cacerts/KOKSHS.v3.pem

TLSCertificateFile /etc/openldap/certificate.pem

TLSCertificateKeyFile /etc/openldap/certificate.pem

suffix          "dc=kurum, dc=etkialani, dc=com"

rootdn          "cn=root, dc=kurum, dc=etkialani, dc=com"

rootpw                {crypt}ijFYNcSNctBYg

kerberosobject.schema şema dosyasının birkaç alt elamanı (attribute) daha sonra Kerberos protokolü üzerinden kimlik doğrulama işlemi için kullanılabilir. Bu dosya OpenLDAP kurulumu ile gelmemektedir ve ayrıca temin edilmelidir.
“rootdn” dizin yöneticisini belirlemektedir ve şifresi “rootpw” olarak, slappasswd  uygulaması tarafından özeti alınarak atanmıştır.  TLS yada SSL bağlantılar için kullanacağınız kök sertifikası, açık anahtar ve özel anahtar dosyalarının konumları belirtilmiştir.

Kullanıcı, Grup ve Konfigurasyon Göçü

OpenLDAP kurulumu ve gerekli ayarlar sonrası MigrationTools [1]  betikleri kullanıcı verileri ve  konfigürasyonları LDAP dizinine aktarmak için kullanılacaktır.

1.    migrate_common.ph dosyasında aşağıdaki güncellemeler  yapılmalıdır.

$DEFAULT_MAIL_DOMAIN = "kurum.etkialani.com";

$DEFAULT_BASE = "ou=unix,dc=kurum,dc=etkialani,dc=com";

$DEFAULT_MAIL_HOST = "mailsunucu.kurum.etkialani.com ";

$IGNORE_UID_BELOW = 500;

$EXTENDED_SCHEMA = 1

$DEFAULT_BASE  sabiti,  /etc/openldap/slapd.conf dosyasında belirlenen suffix değerine uygun oluşturulmalıdır.  MigrationTools tarafından oluşturulan ldif uzantılı içe aktarım dosyaları dizin üzerinde, "ou=unix,dc=kurum,dc=etkialani,dc=com"  yapısını da sizin için oluşturacaktır. $IGNORE_UID_BELOW ile de işletim sistemi tarafından kullanılan kullanıcıların aktarılmasını engelleyebilirsiniz.

2.    MigrationTools içinde bulunan, migrate_base.pl, migrate_group.pl, migrate_aliases.pl  ve  migrate_passwd.pl   perl betiklerini çalıştırmak, ilgili içe aktarım dosyalarının oluşturulması için yeterli olacaktır.

Bu betikleri çalıştırıp, kendi isimleri ile aynı ldif dosyaları oluşturduğunuzu varsayalım, bu durumda içe aktarma sırası:

  • migrate_base.ldif

  • migrate_group.ldif

  • migrate_passwd.ldif

  • migrate_aliases.ldif

şeklinde olabilir.

3.    (Opsiyonel) kerberosobject.schema  şema alt özelliklerinin aktarılmasını istemiyorsanız, migrate_passwd.pl dosyasında

#if ($DEFAULT_REALM) { # print $HANDLE "objectClass: krb5Principal\n"; #}

ve

# if ($DEFAULT_REALM) { # print $HANDLE "krb5PrincipalName: $user\@$DEFAULT_REALM\n"; # }

satırlarının deaktive edilmesi gerekmektedir.

4.    Oluşturulan ldif dosyalarının içeri atılması için,  her bir dosya üzerinde ayrı ayrı çalıştırılmak üzere,

ldapmodify –D “cn=root,dc=kurum,dc=etkialani,dc=com” –w “root_sifresi”  -c –a –f  dosya_ismi.ldif

komutu kullanılabilir. Bu işlemler sırasında birkaç hata alınması normaldir.  Problemi çözüp tekrar aktarım yapmadan önce  dizin sunucusu üzerinde bulunan yapıların temizlenmesi faydalı olabilir.  ldapmodify komutu, aktarılmış olan verilerin güncellenmesi için de kullanılabilir ( -a  seçeneği olmadan çalıştırılmalıdır).

LDAP Dizin Yönetimi

LDAP dizin yapınızda veri güncelleme ve ekleme işlemleri için,  Apache Directory Studio ya da web tabanlı Phpldapadmin [3] gibi uygulamalar kullanabilirsiniz.

OpenLDAP ya da OpenDS dizin sunucularını  kullanmanız durumunda,  kimlik ekleme, güncelleme, şifre değiştirme işlemleri için web arayüzü olan basit bir uygulama geliştirilmesi gerekmektedir. Ayrıca kullanıcıların kendi şifrelerini değiştirmesine izin vermek için intranet (internet) portalinizde küçük eklentiler yapmak sağlıklı bir kimlik yönetimi açısından gereklidir.  Webmail ürünlerinin birçoğu LDAP dizin üzerinden kullanıcı yönetimi  sağlayan eklentiler barındırmaktadır.

OpenDS  kullanmanız durumunda, yönetim arayüzü (control center)  dizin sunucu ile kurulu olarak gelecektir.  LDAP sunucu olarak Aktif Dizin kullanmanız durumunda ise  Microsoft Windows Services for Unix 3.5 kurulması ve sonrasında Aktif Dizin’e aktarımların yapılması gerekmektedir. Diğer taraftan, Aktif Dizin kullanılması durumunda, bu dizinle daha entegre çalışacağı ve şifre politikalarını da  (şifre değiştirmeye zorlamak gibi)  yönetmenize izin vereceği için, Winbind  servisi aracılığı ile Aktif Dizin’e entegrasyon da gerçekleştirilebilir.  Winbind seçeneği, hem işletim sistemi, hem Aktif Dizin hem de Winbind uygulamasının kendisinde birbirinden bağımsız güncellemeler  olabileceğinden,  işletim sistemine girişinizi engelleyecek sürprizlerin oluşması sonucunu doğurabilir.

Unix İstemcilerin LDAP Üzerinden Kimlik Yönetimi

Daha önce de belirtildiği üzere, bu makale kapsamında RedHat linux dağıtımı prototip olarak kullanılmıştır.  Geçiş sonrası amaçlanan bütün sunucuların kimlik yönetiminin merkezileştirilmesi ve LDAP dizin üzerinden yönetiminin sağlanması olacaktır. Bu nedenle, bütün istemcilerde kimlik yönetiminin LDAP dizine taşınması önemlidir.  Unix sunucuların geçişi sonrası yapılabilecek diğer bir işlem de, unix kullanıcı hesaplarının Windows işletim sistemleri hesapları  ile örtüşmesi durumunda, Aktif Dizin ile ortak olan kullanıcıların şifrelerinin LDAP dizin ile senkronizasyonu temin edilmelidir. Şifrelerin tekilleşmesi bilgi güvenliği ekosistemi için ek bir güvenlik önlemi olacaktır.  Önemli bir güvenlik önlemi olarak, LDAP dizin sunucu ile istemciler arasında mutlaka şifreli veri transferi sağlanmalıdır. Bu makale kapsamında hem TLS hem de SSL bağlantı mümkün olacaktır.

1. Öncelikle ilgili makineye TLS için kullanılan sertifikaları imzalamış olan  kök sertifikalar yüklenmeli ve tüm kullanıcıların sertifika dosyalarını okumaları sağlanmalıdır. LDAP dizin ile entegre çalışmasını planladığınız sunucu sayısı fazla ise, sunucu bazında sertifika almak yerine,  etki alanı (domain) bazında sunucu sertifikası (wildcard certificate) kullanmayı tercih edebilirsiniz.

[root@sunucu~]# scp -p dizin_sunucu:/etc/openldap/cacerts/*.pem /etc/openldap/cacerts/

[root@sunucu ~]# chmod 644 /etc/openldap/cacerts/*.pem

2. PAM modülünün birincil olarak LDAP dizin sunucu üzerinden kimlik doğrulama ve yetkilendirme sorgularını gerçekleştirebilmesi için gerekli ayarlar yapılmalıdır.  Kimlik doğrulama ve yetkilendirme (kullanıcı grubu sorgulama)  işlemleri için, işletim sistemi yerel deposu ile LDAP dizin arasında öncelik sırasını kontrol etmek için /etc/nsswitch.conf dosyasını kullanabilirsiniz.

[root@sunucu ~]# authconfig-tui

authconfig-tui ekranından  istemci işletim sistemi üzerinde LDAP kimlik doğrulama aktive edilmelidir. Aşağıdaki resimlerde yapılandırma gösterilmektedir.

ekil-1.png

Şekil 1: authconfig-tui yapılandırması 1. ekran

ekil-2.png

Şekil 2: authconfig-tui yapılandırması 2. ekran

Son olarak, kullanıcı eklenmesi sırasında,  önceden var olmayan ev dizinlerinin otomatik oluşturulabilmesi için /etc/pam.d/system-auth dosyasına aşağıdaki satır eklenmelidir.

session     required      pam_mkhomedir.so skel=/etc/skel/ umask=0077

Bu ayar sonrası,  ou=unix (Organizational Unit) altında tanımlı kullanıcıların,  TLS yada SSL şifreli veri transferi kullanarak, kimlik doğrulama (şifre sorgusu) ve yetkilendirme (grup sorgusu)   işlemlerini gerçekleştirebilecektir.

Host ve URI LDAP  Ayar Parametreleri

Kullanılan LDAP istemci ve kütüphane versiyonuna bağımlı olarak sistemlerde /etc/ldap.conf dosyasında

host ldap://dizin_sunucu.kurum.etkialani.com

yerine

uri ldap://dizin_sunucu.kurum.etkialani.com

olarak değiştirilmelidir. Diğer taraftan sisteminizde hem /etc/ldap.conf hem de /etc/openldap/ldap.conf dosyalarının var olması durumunda, karışıklığa engel olmak için aşağıdaki şekilde /etc/openldap/ldap.conf dosyasının /etc/ldap.conf dosyasına link olması sağlanabilir.

rm /etc/openldap/ldap.conf

ln -s /etc/ldap.conf /etc/openldap/

SONUÇ

Unix ve linux tabanlı sunucuların LDAP dizin üzerinden kimlik yönetimini gerçekleştirmesi, standart dışı görülen bir uygulama olmasına karşın, çoğunlukla bu konuda var olan gelenekçi yaklaşım sebebiyle atıl kalmış ve önemli bir yönetimsel kolaylık  ve  güvenlik adımı atlanmıştır. Windows işletim sistemlerinde ise bu durum olağan olarak karşılanmış ve uzak ofislerdeki kullanıcıların bile etki alanları üzerinden merkezi kimlik yönetiminin başarımı sağlanmıştır.

Hangi LDAP dizinin kullanılacağı ve  süper kullanıcıların (root) kimlik yönetiminin de LDAP dizin üzerinden mi yapılacağı gibi konular, kurum ve kuruluş bazında karara bağlanmalıdır.  Yerel yetkili kullanıcı ve LDAP dizinden kimlik doğrulayan yetkili kullanıcı ayrımına gidilmesi tercih edilebilir.
Kurumsal bazda karşılaşılacak en büyük sorun, kimliklerin yönetiminin yapılacağı bir arayüzün, açık kaynak kodlu LDAP dizin kullanılması durumunda, bulunmamasıdır. Küçük programcıklar yardımı ile bu arayüzleri oluşturmak mümkündür.  Diğer taraftan,  kimlik yönetim sistemi ürünleri kullanıyor iseniz, bu ürünler tarafından zaten kullanılmakta olan LDAP dizin ile entegrasyon gerçekleştirilir ise, bu ürünlerin kimlik yönetimi arayüzleri  kullanılabilir.  Örneğin: OpenSSO üzerinden kaynak erişim kontrolü ve tümleşik oturum yönetimi gerçekleştiriyor iseniz, unix tabanlı işletim sistemlerinin OpenDS ile entegrasyonu sağlanır ise,  kimlik giriş, güncelleme ve şifre işlemleri OpenSSO yönetim arayüzü tarafından yapılabilecektir.

KAYNAKÇA

[1]    MigrationTools

http://www.padl.com/OSS/MigrationTools.html

[2]    OpenLDAP

http://www.openldap.org/

[3]    PHPLdapAdmin

http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page


Favori olarak ekle (0) | Görüntüleme sayısı: 1233

Bu yazıya ilk yorumu yazın

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2010 TÜBİTAK-UEKAE. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB