Yazarın bu bölümdeki diğer yazıları... |
| Unix Tabanlı İşletim Sistemlerinin Merkezi Kimlik Yönetimi |
| 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 Kurulumu1. İşletim sisteminize uygun OpenLDAP [2] sürümünün kurulmasını sağlayınız.
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.
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. 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_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ı:
şeklinde olabilir. 3. (Opsiyonel) kerberosobject.schema şema alt özelliklerinin aktarılmasını istemiyorsanız, migrate_passwd.pl dosyasında
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,
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önetimiLDAP 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önetimiDaha ö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.
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.
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: authconfig-tui yapılandırması 1. ekran
Ş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.
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 ParametreleriKullanılan LDAP istemci ve kütüphane versiyonuna bağımlı olarak sistemlerde /etc/ldap.conf dosyasında
yerine
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.
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. KAYNAKÇA[1] MigrationTools http://www.padl.com/OSS/MigrationTools.html [2] OpenLDAP [3] PHPLdapAdmin http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page Favori olarak ekle (0) | Görüntüleme sayısı: 1314
Sadece kayıtlı kullanıcılar yorum yazabilir. |
|||||