17
Pratik Linux Güvenliği Pratik Linux Güvenliği [email protected] [email protected]

Linux Guvenligi V1.0

Embed Size (px)

DESCRIPTION

Artık adını bile hatırlamadığım bir etkinlikte IBM adına verilen Linux Güvenliği sunumunun slaytları.

Citation preview

Page 1: Linux Guvenligi V1.0

Pratik Linux GüvenliğiPratik Linux Güvenliğ[email protected]@pro-g.com.tr

Page 2: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 2

Sunum PlanıSunum Planı► Güvenli kurulumGüvenli kurulum► Güncelleme ve yamalamaGüncelleme ve yamalama► root ve yetki dağıtımıroot ve yetki dağıtımı► Root olarak çalışmakRoot olarak çalışmak► Minimum uygulama prensibiMinimum uygulama prensibi► Minimum yetki prensibi ve süreç izolasyonuMinimum yetki prensibi ve süreç izolasyonu► Hizmet süreçlerinin ayarlarıHizmet süreçlerinin ayarları► Dosya sistemi güvenliğiDosya sistemi güvenliği► Parola güvenliğiParola güvenliği► SSH ve ailesi komutlarıSSH ve ailesi komutları► Sistem kayıtlarıSistem kayıtları

Page 3: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 3

Güvenli bir KurulumGüvenli bir Kurulum

► Güvenlik kurulum ile başlar; doğru Güvenlik kurulum ile başlar; doğru kurulmamış bir Linux’u korumak mümkün kurulmamış bir Linux’u korumak mümkün olmayabilirolmayabilir Dağıtım seçerken paket yönetiminin kolaylığı ve Dağıtım seçerken paket yönetiminin kolaylığı ve

etkinliğine dikkat edilmelietkinliğine dikkat edilmeli Daima seçilen dağıtımın en güncel sürümü Daima seçilen dağıtımın en güncel sürümü

kurulmalıkurulmalı Kurulumda disk bölümlendirmesi yapılırken Kurulumda disk bölümlendirmesi yapılırken

kullanıcıların ev dizinlerinin ve /tmp’nin ayrı disk kullanıcıların ev dizinlerinin ve /tmp’nin ayrı disk bölümlerine yerleşmesi sağlanmalıbölümlerine yerleşmesi sağlanmalı

Sunucu güvenlik duvarı yapılandırılmalıdırSunucu güvenlik duvarı yapılandırılmalıdır Kurulum, fiziksel ağ bağlantıları olmadan Kurulum, fiziksel ağ bağlantıları olmadan

gerçekleştirilmelidirgerçekleştirilmelidir

Page 4: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 4

Güncelleme ve YamalamaGüncelleme ve Yamalama

► Kurulumun hemen ardından ilk güncelleme Kurulumun hemen ardından ilk güncelleme ve yamalar yüklenmelidirve yamalar yüklenmelidir

► Düzenli güncelleme ve yamalama güvenlik Düzenli güncelleme ve yamalama güvenlik risklerini önemli ölçüde azaltır; risklerini önemli ölçüde azaltır; güncellemelerin düzenli takibi esastırgüncellemelerin düzenli takibi esastır Dağıtıma özgü güncelleme programı periyodik Dağıtıma özgü güncelleme programı periyodik

olarak çalışır duruma getirilmelidirolarak çalışır duruma getirilmelidir RedHat / Fedora / Mandrake için synaptic RedHat / Fedora / Mandrake için synaptic

önerilirönerilir► http://www.freshrpms.nethttp://www.freshrpms.net

Page 5: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 5

root ve Yetki Dağıtımıroot ve Yetki Dağıtımı

► Sistem yöneticisi, zorunlu olmadıkça yetkili Sistem yöneticisi, zorunlu olmadıkça yetkili kullanıcı hesabı ile çalışmamalıdırkullanıcı hesabı ile çalışmamalıdır Mümkün olduğunca sıradan bir kullanıcı hesabı Mümkün olduğunca sıradan bir kullanıcı hesabı

ile çalışma ve yalnızca gerektiğinde ile çalışma ve yalnızca gerektiğinde rootroot yetkilerine geçişyetkilerine geçiş

Operasyonel destek personeline, zorunlu Operasyonel destek personeline, zorunlu değilse, değilse, rootroot yetkileri verilmemelidir yetkileri verilmemelidir► Root dışında hiçbir kullanıcının kullanıcı numarası Root dışında hiçbir kullanıcının kullanıcı numarası

0 (sıfır) olmamalıdır0 (sıfır) olmamalıdır► sudo ve osh (Operator Shell) yalnızca belli sudo ve osh (Operator Shell) yalnızca belli

işlemler için operatör yetkilendirmesine izin veririşlemler için operatör yetkilendirmesine izin verir

Page 6: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 6

root olarak Çalışmakroot olarak Çalışmak

► rootroot olarak HTML gösterim becerili e-posta olarak HTML gösterim becerili e-posta istemcisi kullanılmamalı ya da bu özellik istemcisi kullanılmamalı ya da bu özellik kapatılmalıdırkapatılmalıdır

► rootroot olarak sohbet istemcileri ve web olarak sohbet istemcileri ve web tarayıcıları kullanılmamalıdırtarayıcıları kullanılmamalıdır

Page 7: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 7

Minimum Uygulama PrensibiMinimum Uygulama Prensibi

► Gerekmeyen programlar sunucu üzerine Gerekmeyen programlar sunucu üzerine kurulmamalıdır; aksi durum bir saldırı kurulmamalıdır; aksi durum bir saldırı durumundadurumunda saldırganın çalışmasını kolaylaştırabilirsaldırganın çalışmasını kolaylaştırabilir sıradan kullanıcı yetkilerine erişen bir saldırgan, sıradan kullanıcı yetkilerine erişen bir saldırgan,

zorlayacak daha fazla sayıda SUID/SGID zorlayacak daha fazla sayıda SUID/SGID programa erişebilir duruma gelecektirprograma erişebilir duruma gelecektir

► Gerekmeyen hiçbir sunucu programı Gerekmeyen hiçbir sunucu programı ((daemondaemon) başlatılmamalıdır) başlatılmamalıdır

Page 8: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 8

Minimum Yetki PrensibiMinimum Yetki Prensibi

► Kullanıcılara mümkün olan en az yetki Kullanıcılara mümkün olan en az yetki atanmalıdıratanmalıdır Kullanıcılar ve ait oldukları gruplar yapacakları Kullanıcılar ve ait oldukları gruplar yapacakları

işlemlere göre belirlenmeli; mümkün olan en az işlemlere göre belirlenmeli; mümkün olan en az yetki atanmalıdıryetki atanmalıdır

► Süreçlere mümkün olan en az yetki Süreçlere mümkün olan en az yetki atanmalıdıratanmalıdır daemondaemon süreçleri, mümkünse, her hizmet için süreçleri, mümkünse, her hizmet için

ayrı bir kullanıcı kimliği altında çalıştırılmalıdırayrı bir kullanıcı kimliği altında çalıştırılmalıdır► Web sunucusu apache kullanıcı kimliği ile, DNS Web sunucusu apache kullanıcı kimliği ile, DNS

sunucusu bind kullanıcı kimliği ile ...sunucusu bind kullanıcı kimliği ile ...

Page 9: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 9

Süreç İzolasyonuSüreç İzolasyonu

► daemondaemon süreçlerinin sistemin geri süreçlerinin sistemin geri kalanından izole edilmesi içinkalanından izole edilmesi için Ağa dönük her hizmetin ayrı bir bilgisayar Ağa dönük her hizmetin ayrı bir bilgisayar

sistemi üzerinde işletilmesisistemi üzerinde işletilmesi► Yumurtaların ayrı sepetlere konmasıYumurtaların ayrı sepetlere konması

User Mode Linux User Mode Linux ya da ya da VMWare VMWare ile sanal ile sanal makine uygulaması ile sistemin kompartmanlara makine uygulaması ile sistemin kompartmanlara ayrılmasıayrılması

chrootchroot ile süreçlerin güvenli bir ortam içine ile süreçlerin güvenli bir ortam içine hapis edilmesihapis edilmesi

seçeneklerinden uygun olanı belirlenmeli ve seçeneklerinden uygun olanı belirlenmeli ve uygulanmalıdıruygulanmalıdır

Page 10: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 10

Hizmet Süreçlerinin AyarlarıHizmet Süreçlerinin Ayarları

► Her hizmet sürecinin kendisine has güvenlik Her hizmet sürecinin kendisine has güvenlik ayarları vardır ve kurulum sonrasında bu ayarları vardır ve kurulum sonrasında bu ayarlar yapılmalıdırayarlar yapılmalıdır Dağıtım üreticileri genellikle bu ayarları Dağıtım üreticileri genellikle bu ayarları

yapmamayıyapmamayı tercih eder tercih eder► Kullanışlılık ve güvenlik arasında üretici tercihleri, Kullanışlılık ve güvenlik arasında üretici tercihleri,

geleneksel olarak geleneksel olarak önce kullanışlılıkönce kullanışlılık biçiminde biçiminde gerçekleşmiştirgerçekleşmiştir

Öntanımlı ayarlar kullanılmamalı, her türlü örnek Öntanımlı ayarlar kullanılmamalı, her türlü örnek silinmelidirsilinmelidir

Ayarlar için kılavuzuna ve reçetelere Ayarlar için kılavuzuna ve reçetelere başvurulmalıdırbaşvurulmalıdır

Ayarlar sürümden sürüme farklılaşabilmektedirAyarlar sürümden sürüme farklılaşabilmektedir

Page 11: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 11

daemondaemon’ların Güçlendirilmesi’ların Güçlendirilmesi

► Pratik ve kolay olmamakla birlikte, kritik Pratik ve kolay olmamakla birlikte, kritik sunucular için hizmet sunucu yazılımlarının sunucular için hizmet sunucu yazılımlarının ProPolice ya da StackGuard ile ProPolice ya da StackGuard ile desteklenmiş bir gcc ile yeniden derlenmesi desteklenmiş bir gcc ile yeniden derlenmesi önerilirönerilir Alan taşırma (Alan taşırma (buffer overflowbuffer overflow) saldırıları, ağ ) saldırıları, ağ

üzerinden gerçekleştirilen saldırıların önemli bir üzerinden gerçekleştirilen saldırıların önemli bir bölümünü teşkil etmektedirbölümünü teşkil etmektedir► Bu yöntem ile alan taşırma saldırıları bertaraf Bu yöntem ile alan taşırma saldırıları bertaraf

edilebiliredilebilir

Page 12: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 12

Dosya Sistemi GüvenliğiDosya Sistemi Güvenliği► ext3 / reiser / JFS / XFS öncesi bir dosya ext3 / reiser / JFS / XFS öncesi bir dosya

sistemi kullanılıyorsa (ext2?) dosya sistemi sistemi kullanılıyorsa (ext2?) dosya sistemi yapısı hızla güncellenmelidiryapısı hızla güncellenmelidir Transaction ve Journal tabanlı dosya sistemleri Transaction ve Journal tabanlı dosya sistemleri

olası disk problemlerini en aza indirirolası disk problemlerini en aza indirir► Dosya sistemleri bağlanırken, Dosya sistemleri bağlanırken, mountmount

seçenekleri dikkatle seçilmelidirseçenekleri dikkatle seçilmelidir Kullanıcı ev dizinlerini taşıyan dosya sistemleri Kullanıcı ev dizinlerini taşıyan dosya sistemleri

nosuidnosuid Program dizinlerini taşıyan dosya sistemleri Program dizinlerini taşıyan dosya sistemleri roro ...... seçenekleri ile bağlanmalıdır; bu seçenekler seçenekleri ile bağlanmalıdır; bu seçenekler

/etc/fstab/etc/fstab aracılığı ile kalıcı hale getirilmelidir aracılığı ile kalıcı hale getirilmelidir

Page 13: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 13

Dosya Sistemi YetkileriDosya Sistemi Yetkileri

► Kullanıcıların dosya/dizin erişim yetkilerini Kullanıcıların dosya/dizin erişim yetkilerini öntanımlı olarak güvenli hale getirmek üzere öntanımlı olarak güvenli hale getirmek üzere dosya yetki maskesi (dosya yetki maskesi (umaskumask) ayarı gözden ) ayarı gözden geçirilmelidirgeçirilmelidir umask 077umask 077

► 2.6 serisi çekirdek ile birlikte erişim denetim 2.6 serisi çekirdek ile birlikte erişim denetim listeleri (listeleri (ACLACL) kullanılabilir hale gelmiştir) kullanılabilir hale gelmiştir Dosya ve dizinlere kimlerin erişeceğine ilişkin daha Dosya ve dizinlere kimlerin erişeceğine ilişkin daha

net yetkilendirme tanımları yapılabilmektedirnet yetkilendirme tanımları yapılabilmektedir Henüz herhangi bir dağıtım bu beceriden Henüz herhangi bir dağıtım bu beceriden

faydalanmamaktadırfaydalanmamaktadır

Page 14: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 14

Parola GüvenliğiParola Güvenliği

► Kullanıcıların kaliteli parola seçmeleri yazılım Kullanıcıların kaliteli parola seçmeleri yazılım desteği ile sağlanmalıdırdesteği ile sağlanmalıdır Pek çok dağıtım Pek çok dağıtım cracklibcracklib ile birlikte sunulmaktadır ile birlikte sunulmaktadır

► cracklibcracklib, kullanıcıları kolay tahmin edilemez , kullanıcıları kolay tahmin edilemez parolalar seçmeye zorlar; sözlüklerden faydalanırparolalar seçmeye zorlar; sözlüklerden faydalanır

cracklibcracklib’e Türkçe sözlük eklenmesi önerilmektedir’e Türkçe sözlük eklenmesi önerilmektedir► Parola geçerlilik süreleri belirlenerek, belirli Parola geçerlilik süreleri belirlenerek, belirli

aralıklar ile parola değiştirilmesi zorunlu aralıklar ile parola değiştirilmesi zorunlu kılınmalıdırkılınmalıdır chagechage programı neredeyse tüm dağıtımlar ile programı neredeyse tüm dağıtımlar ile

birlikte sunulmaktadırbirlikte sunulmaktadır

Page 15: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 15

SSH ve Ailesinin KullanımıSSH ve Ailesinin Kullanımı

► Mümkün olduğunca güvenli iletişim kuran Mümkün olduğunca güvenli iletişim kuran s* komutları tercih edilmelidirs* komutları tercih edilmelidir rshrsh, , rloginrlogin ve ve telnettelnet yerine yerine sshssh rcprcp yerine yerine scpscp ftpftp yerine yerine sftpsftp

► SSH ailesi komutları ileSSH ailesi komutları ile Karşılıklı kimlik doğrulama Karşılıklı kimlik doğrulama İletişim gizliliğiİletişim gizliliği İletişimin tekrar edilememesiİletişimin tekrar edilememesi

sağlanmaktadırsağlanmaktadır

Page 16: Linux Guvenligi V1.0

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 16

Sistem Kayıtları ve GüvenlikSistem Kayıtları ve Güvenlik

► Güvenlik için sistem kayıtlarınınGüvenlik için sistem kayıtlarının detayının arttırılmasıdetayının arttırılması Kayıtların sunucu dışında güvenli bir başka Kayıtların sunucu dışında güvenli bir başka

platform üzerinde tutulmasıplatform üzerinde tutulması

önerilmektedir.önerilmektedir.

Page 17: Linux Guvenligi V1.0

Pratik Linux GüvenliğiPratik Linux Güvenliğ[email protected]@pro-g.com.tr