| |||||||
Birçok linux dağıtımı kullanıcı kimlik kanıtlamasını yeterince güvenli gerçekleştirmez. Bu bölümde sisteminizde kimlik denetimini nasıl daha güvenli hale getirebileceğinizi tartışacağız. Burada anlatılanları yapmanız sisteminizi daha güvenli hale getirir ama kırılamaz yapmaz.
/etc/pam.d/ dizinindeki dosyaların tümü özel bir servis için yapılandırmaları içerir. Bu kuralın tek istisnası /etc/pam.d/other dosyasıdır. Bu dosya kendisi için bir yapılandırma dosyası bulunmayan servisler için yapılandırmaları içerir. Örneğin, eğer (hayali) xyz servisi kimlik kanıtlamasına ihtiyaç duyarsa PAM /etc/pam.d/xyz dosyasını arar. Bulamayınca xyz uygulaması için kimlik denetiminde /etc/pam.d/other dosyasını kullanır. /etc/pam.d/other sahipsiz PAM servislerinin yapılandırma dosyası olduğundan onun güvenli olması önemlidir. Burada /etc/pam.d/other dosyasının birisi neredeyse paranoyak diğeri biraz daha mantıklı olan iki farklı güvenli yapılandırmasını tartışacağız.
/etc/pam.d/other dosyasının paronayak yapılandırması aşağıdaki gibidir:
auth required pam_deny.so auth required pam_warn.so account required pam_deny.so account required pam_warn.so password required pam_deny.so password required pam_warn.so session required pam_deny.so session required pam_warn.so |
Bu yapılandırma ile bilinmeyen bir servis dört yapılandırma türünden birine erişmeye çalışırsa PAM kimlik denetimini reddeder (pam_deny.so modülü ile) ve sistem günlüklerine bir uyarı mesajı (pam_warn.so modülü ile) kaydeder. Bu yapılandırma ile PAM kabaca güvenlidir. Bu kabalık ile ilgili tek problem eğer bir servisin yapılandırma dosyasını silerseniz ortaya çıkar. Örneğin eğer /etc/pam.d/login dosyasını kazara silerseniz kimse oturum açamaz!
O kadar da kaba olmayan bir yapılandırma aşağıdaki gibidir:
auth required pam_unix.so auth required pam_warn.so account required pam_unix.so account required pam_warn.so password required pam_deny.so password required pam_warn.so session required pam_unix.so session required pam_warn.so |
Bu yapılandırma ile bilinmeyen bir servis için kullanıcı kimlik kanıtlamasına (pam_unix.so modülü ile) izin verilir ama parolasını değiştirmesine izin verilmez. Bilinmeyen servislerin kimlik kanıtlaması yapmalarına izin verilse bile sistem günlüklerine bir uyarı mesajı kaydeder.
Aksi yönde çok iyi bir nedeniniz olmadıkça yukarıdaki /etc/pam.d/other dosyalarından ilkini seçmenizi kuvvetle öneririm. 'Öntanımlı olarak güvenli' olmak her zaman iyi fikirdir. Eğer yeni bir servis için kimlik kanıtlamasına izin vermeniz gerekirse bunu basitçe o servis için bir PAM yapılandırma dosyası oluşturarak yapabilirsiniz.
Linux sistemlerinin çoğunda ftp, web sunucusu ve mail gibi sistem servislerine ayrıcalıklar tanıyabilmek için bir takım “sözde” kullanıcı hesapları bulunur. Bu hesapların bulunması sisteminizi daha güvenli hale getirir. Çünkü bir servisin açığından faydalanan saldırgan sınırsız root yetkilerini değil sadece kısıtlı ayrıcalıkları olan sözde hesabın yetkilerini kazanacaktır. Bununla birlikte bu sözde hesapların bulunması genellikle boş (null) parolaları olduğundan bir güvenlik açığıdır. Boş parolaların kabul edilmesine “nullok” yapılandırma seçeneği izin verir. Bu seçeneği oturum açmasına izin verilen 'auth' türündeki tüm servislerden kaldırmak isteyebilirsiniz. Bu genellikle login servisidir ama rlogin ve ssh gibi servisleri de kapsayabilir. Bu yüzden /etc/pam.d/login dosyasının aşağıdaki satırı:
auth required pam_unix.so nullok |
yerine
auth required pam_unix.so |
haline getirilmelidir.
/etc/pam.d/ dizinindeki dosyalara baktığınızda kullanmadığınız hatta bazılarının adını bile duymadığınız programlar için yapılandırma dosyaları olduğunu göreceksiniz. Bu servislerin kimlik denetimi yapmasına izin vermek sisteminizde büyük güvenlik açıkları oluşturmasa da kimlik denetiminden reddedilmeleri daha iyidir. Bu programlar için PAM kimlik denetimine izin vermemenin en iyi yolu dosyalarını yeniden adlandırmaktır. PAM kimlik kanıtlama talebinde bulunan servis için gerekli dosyayı bulamadığında çok güvenli olan /etc/pam.d/other dosyasını kullanacaktır. Eğer ilerde bu programlardan birine ihtiyacınız olduğunu farkederseniz dosyanın adını eski haline getirmeniz her şeyin gerektiği gibi çalışması için yeterli olacaktır.
Parola-kırma araçları saldırganlar tarafından sistemi ele geçirmek için kullanılabilecekleri gibi sistem yöneticileri tarafından sistemlerinde güçlü parolalar kullanıldığından emin olmak için de kullanılırlar. En yaygın kullanılan parola-kırma araçları “crack” ve “John the Ripper”'dır. Crack büyük ihtimalle kullandığınız dağıtıma dahil edilmiştir. John the Ripper ise http://www.openwall.com/john/ adresinden edinilebilir. Bu araçları parola veri tabanınızda çalıştırdığınızda sonuçlar büyük ihtimalle sizi şaşırtacaktır.
Bunlara ilave olarak, kullanıcılar parolalarını değiştirirken parolaların dayanıklılıklarını ölçen bir PAM modülü de mevcuttur. Bu modül yüklendiğinde kullanıcılar parolalarını ancak minimum dayanıklılığa sahip parolalar ile değiştirebilirler.
Bu belgenin ilk bölümünde bahsettiğimiz gibi gölgelenmiş ve MD5 parolalar sisteminizi daha güvenli hale getirir. Günümüzdeki dağıtımların çoğu kurulum aşamasında gölgelenmiş ve/veya MD5 parolaları kullanmak isteyip istemediğinizi sorar. Aksi için çok iyi bir nedeniniz yoksa onları etkin kılın. Gölgelenmemiş/MD5-lenmemiş parolaların dönüştürülmesi karmaşık bir süreçtir ve bu belgenin kapsamının dışındadır. Gölgelenmiş Parola NASIL belgesi eskimiş olsa da yardımcı olabilir.
| ||||||||||