Güvenlik kurulum ile başlar; doğru kurulmamış bir Linux’u korumak mümkün olmayabilir
Dağıtım seçerken paket yönetiminin kolaylığı ve etkinliğine dikkat edilmeli
Daima seçilen dağıtımın en güncel sürümü kurulmalı
Kurulumda disk bölümlendirmesi yapılırken kullanıcıların ev dizinlerinin ve /tmp’nin ayrı disk bölümlerine yerleşmesi sağlanmalı
Sunucu güvenlik duvarı yapılandırılmalıdır
Kurulum, fiziksel ağ bağlantıları olmadan gerçekleştirilmelidir
Güncelleme ve Yamalama
Kurulumun hemen ardından ilk güncelleme ve yamalar yüklenmelidir
Düzenli güncelleme ve yamalama güvenlik risklerini önemli ölçüde azaltır; güncellemelerin düzenli takibi esastır
Dağıtıma özgü güncelleme programı periyodik olarak çalışır duruma getirilmelidir
RedHat / Fedora / Mandrake için synaptic önerilir
http://www.freshrpms.net
root ve Yetki Dağıtımı
Sistem yöneticisi, zorunlu olmadıkça yetkili kullanıcı hesabı ile çalışmamalıdır
Mümkün olduğunca sıradan bir kullanıcı hesabı ile çalışma ve yalnızca gerektiğinde root yetkilerine geçiş
Operasyonel destek personeline, zorunlu değilse, root yetkileri verilmemelidir
Root dışında hiçbir kullanıcının kullanıcı numarası 0 (sıfır) olmamalıdır
sudo ve osh (Operator Shell) yalnızca belli işlemler için operatör yetkilendirmesine izin verir
root olarak Çalışmak
root olarak HTML gösterim becerili e-posta istemcisi kullanılmamalı ya da bu özellik kapatılmalıdır
root olarak sohbet istemcileri ve web tarayıcıları kullanılmamalıdır
Minimum Uygulama Prensibi
Gerekmeyen programlar sunucu üzerine kurulmamalıdır; aksi durum bir saldırı durumunda
saldırganın çalışmasını kolaylaştırabilir
sıradan kullanıcı yetkilerine erişen bir saldırgan, zorlayacak daha fazla sayıda SUID/SGID programa erişebilir duruma gelecektir
Gerekmeyen hiçbir sunucu programı ( daemon ) başlatılmamalıdır
Minimum Yetki Prensibi
Kullanıcılara mümkün olan en az yetki atanmalıdır
Kullanıcılar ve ait oldukları gruplar yapacakları işlemlere göre belirlenmeli; mümkün olan en az yetki atanmalıdır
Süreçlere mümkün olan en az yetki atanmalıdır
daemon süreçleri, mümkünse, her hizmet için ayrı bir kullanıcı kimliği altında çalıştırılmalıdır
Web sunucusu apache kullanıcı kimliği ile, DNS sunucusu bind kullanıcı kimliği ile ...
Süreç İzolasyonu
daemon süreçlerinin sistemin geri kalanından izole edilmesi için
Ağa dönük her hizmetin ayrı bir bilgisayar sistemi üzerinde işletilmesi
Yumurtaların ayrı sepetlere konması
User Mode Linux ya da VMWare ile sanal makine uygulaması ile sistemin kompartmanlara ayrılması
chroot ile süreçlerin güvenli bir ortam içine hapis edilmesi
seçeneklerinden uygun olanı belirlenmeli ve uygulanmalıdır
Hizmet Süreçlerinin Ayarları
Her hizmet sürecinin kendisine has güvenlik ayarları vardır ve kurulum sonrasında bu ayarlar yapılmalıdır
Dağıtım üreticileri genellikle bu ayarları yapmamayı tercih eder
Kullanışlılık ve güvenlik arasında üretici tercihleri, geleneksel olarak önce kullanışlılık biçiminde gerçekleşmiştir
Öntanımlı ayarlar kullanılmamalı, her türlü örnek silinmelidir
Ayarlar için kılavuzuna ve reçetelere başvurulmalıdır
Ayarlar sürümden sürüme farklılaşabilmektedir
daemon ’ların Güçlendirilmesi
Pratik ve kolay olmamakla birlikte, kritik sunucular için hizmet sunucu yazılımlarının ProPolice ya da StackGuard ile desteklenmiş bir gcc ile yeniden derlenmesi önerilir
Alan taşırma ( buffer overflow ) saldırıları, ağ üzerinden gerçekleştirilen saldırıların önemli bir bölümünü teşkil etmektedir
Bu yöntem ile alan taşırma saldırıları bertaraf edilebilir
Dosya Sistemi Güvenliği
ext3 / reiser / JFS / XFS öncesi bir dosya sistemi kullanılıyorsa (ext2?) dosya sistemi yapısı hızla güncellenmelidir
Transaction ve Journal tabanlı dosya sistemleri olası disk problemlerini en aza indirir
Dosya sistemleri bağlanırken, mount seçenekleri dikkatle seçilmelidir
Kullanıcı ev dizinlerini taşıyan dosya sistemleri nosuid
Program dizinlerini taşıyan dosya sistemleri ro
...
seçenekleri ile bağlanmalıdır; bu seçenekler /etc/fstab aracılığı ile kalıcı hale getirilmelidir
Dosya Sistemi Yetkileri
Kullanıcıların dosya/dizin erişim yetkilerini öntanımlı olarak güvenli hale getirmek üzere dosya yetki maskesi ( umask ) ayarı gözden geçirilmelidir
umask 077
2.6 serisi çekirdek ile birlikte erişim denetim listeleri ( ACL ) kullanılabilir hale gelmiştir
Dosya ve dizinlere kimlerin erişeceğine ilişkin daha net yetkilendirme tanımları yapılabilmektedir
Henüz herhangi bir dağıtım bu beceriden faydalanmamaktadır
Parola Güvenliği
Kullanıcıların kaliteli parola seçmeleri yazılım desteği ile sağlanmalıdır
Pek çok dağıtım cracklib ile birlikte sunulmaktadır
cracklib , kullanıcıları kolay tahmin edilemez parolalar seçmeye zorlar; sözlüklerden faydalanır
cracklib ’e Türkçe sözlük eklenmesi önerilmektedir
Parola geçerlilik süreleri belirlenerek, belirli aralıklar ile parola değiştirilmesi zorunlu kılınmalıdır
chage programı neredeyse tüm dağıtımlar ile birlikte sunulmaktadır
SSH ve Ailesinin Kullanımı
Mümkün olduğunca güvenli iletişim kuran s* komutları tercih edilmelidir
rsh , rlogin ve telnet yerine ssh
rcp yerine scp
ftp yerine sftp
SSH ailesi komutları ile
Karşılıklı kimlik doğrulama
İletişim gizliliği
İletişimin tekrar edilememesi
sağlanmaktadır
Sistem Kayıtları ve Güvenlik
Güvenlik için sistem kayıtlarının
detayının arttırılması
Kayıtların sunucu dışında güvenli bir başka platform üzerinde tutulması
0 comments
Post a comment