İstemci Yapılandırması

Genel GNU/Linux İstemci Yapılandırması

Kerberos'un GNU/Linux dağıtımları KDC ile Kerberos kimlik denetiminde istemcilerin ihtiyaç duyacakları bütün yazılımları ve yapılandırma dosyalarını içerirler. Fedora GNU/Linux'da bu paket krb5-workstation paketidir. Sisteminizin ve uygulamalarınızın Kerberos kimlik denetimi yapabilmesi için sisteminizde Kerberos'u yapılandırmanız gerekir.

Yapılandırma için /etc/krb5.conf dosyası düzenlenmelidir. Bu dosyada bölge, KDC'ler, yönetim sunucusu, öntanımlı etki alanı ve KDC bilgisi belirtilmelidir. krb5.conf dosyasında yeri belirtilen kdc.conf dosyası da düzenlenmelidir. Bu dosya öntanımlı olarak /var/Kerberos/krb5kdc/kdc.conf adresindedir. kdc.conf dosyasında bölgenin şifreleme algortima politikası bilgisi bulunur.

Kerberos kimlik denetimini gerçekleştirmek istediğiniz sistemin yapılandırma bilgisi, KDC'deki /etc/krb5.conf dosyasındaki bilginin aynısıdır. İstemci için örnek krb5.conf ve kdc.conf dosyalarını inceleyebilirsiniz.

Artık Kerberos kimlik denetimini kinit komutunu kullanarak deneyebilirsiniz:

bash$ kinit kullanıcıismi

Eğer kimlik denetimi başarısız olursa, nedenini öğrenmek için bakılacak en iyi yerler; istemcinin sistem kayıt dosyaları ve KDC kayıt dosyasıdır. Kimlik denetimi sorunlarının analizinde KDC'de bir terminal penceresi açıp kayıt dosyaları için tail -f komutunu çalıştırmanız oldukça yararlı olacaktır. Örnek krb5.conf dosyamızda KDC kayıt dosyası /var/log/Kerberos/krb5kdc.log'dur.

PAM

Birçok GNU/Linux dağıtımı ile birlikte gelen PAM (Pluggable Authentication Module) teknolojisi pam_krb5 modülü ile Kerberos'la bütünleştirilebilir. Kerberos kimlik denetimini PAM ile kullanmak için pam_krb5 modülünü yüklemeli ve PAM yapılandırma dosyalarını düzenlemelisiniz.

pam_krb5 modülü ile birlikte /usr/share/doc/pam_krb5-1.55/pam.d dizininde örnek yapılandırma dosyaları da gelir. Bu yapılandırma dosyalarında yapılacak temel değişiklik, PAM'ın kontrol ettiği servislerin Kerberos'tan kimlik denetimi yapmalarını aşağıdaki gibi sağlamaktır:

auth       required     /lib/security/pam_krb5.so use_first_pass

Apache Web Sunucusu

Kerberos Apache Web Sunucusu için bir kimlik denetimi mekanizması olarak kullanılabilir. Bu görevi bir apache modülü olan mod_auth_kerb yerine getirir. Bu modülü kullanarak, Kerberos'u httpd.conf dosyasında bir erişim denetimi türü olarak ayarlamak mümkündür. Kerberos kullanıldığı sürece, bunun kimlik denetiminde ideal mekanizma olmadığı unutulmamalıdır. Çünkü biletler istemcide değil web sunucuda tutulmaktadır. Bununla birlikte, eğer hedefiniz bir oturum açma çözümü üretmek veya hesapları bir yerde toplamaksa işinizi görecektir. mod_auth_kerb Kerberos 4'ü destekleyebiliyor olmasına rağmen Kerberos 4'ün bilinen zayıflıkları yüzünden bu özellikten bu belgede bahsedilmeyecektir.

mod_auth_kerb uygulamasının web adresi http://modauthkerb.sourceforge.net/'tir. mod_auth_kerb kullanan bir siteye erişilmek istendiğinde HTTPS protokolü kullanmak önemlidir çünkü mod_auth_kerb temel kimlik denetimi mekanizmasını kullanır. Temel kimlik denetimi kolaylıkla çözülebilecek 64 bit şifreleme kullandığı için kimlik denetimindeki kullanıcı adı ve parola değişiminin SSL ile şifrelenerek yapılması web sunucuya güvenli gönderilmelerini sağlamak için önemlidir.

Apache'yi mod_auth_krb modülü ile birlikte derlemek için aşağıdaki adımları takip etmelisiniz:

bash$ export 'LIBS=-L/usr/Kerberos/lib -lkrb5 -lcrypto -lcom_err'
bash$ export 'CFLAGS=-DKRB5 -DKRB_DEF_REALM=\\\"GNUD.IE\\\"'
bash$ export 'INCLUDES=-I/usr/Kerberos/include'
bash$ mkdir apache_x.x.x/src/modules/kerberos
bash$ cp mod_auth_kerb-x.x.x.c apache_x.x.x/src/modules/kerberos
bash$ ./configure --prefix=/home/httpd --add-module=src/modules/Kerberos/mod_auth_kerb.c
bash$ make
bash$ make install

Çalıştığından emin olmak için apache'yi denemelisiniz. Apache'nin SSL ile çalıştığını gördükten sonra httpd.conf dosyasını düzenleyerek belli bir dizin için Kerberos kimlik denetimini sağlayabilirsiniz:

Aşağıda belli bir dizin için Kerberos 5 kimlik denetimini etkin hale getiren bir mod_auth_kerb apache modül örneği bulacaksınız:

<Directory "/home/httpd/htdocs/content">
   AllowOverride None
   AuthType KerberosV5
   AuthName "Kerberos Login"
   KrbAuthRealm GNUD.IE
   require valid-user
</Directory>

Microsoft Windows

Kerberos standardının Microsoft tarafından kusurlu uygulanması sonucu, standart MIT Kerberos ile Microsoft'un Kerberos'u arasında kısıtlı bir uyumluluk vardır. Microsoft kendi kırık Kerberos sürümünün standart Kerberos ile birlikte çalışabilmesinin kısıtlı yöntemlerini açıklayan bir belge yayınlamıştır. Belgeye buradan ulaşılabilir.