spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
Uygulamalarınızı CAMMP İle Hapsedin Yazdır E-posta
Gökhan ALKAN, TÜBİTAK-UEKAE   
20.11.2008

1.  Giriş

Chroot, sunucu servisler ve uygulamalar için yeni bir kök (/) dizini tanımlar. Kısaca çalıştırılacak olan servis ya da uygulama için gerekli kütüphane, yapılandırma ve sürücü dosyaları, (device file) bu servis için belirlenen kök dizinde bulunan ilgili yollara (path) kopyalanır ve sunucu yazılımları belirlenen kök dizini altında çalıştırılır.

Aşağıdaki şekilde (Şekil 1) Chroot kullanımı ile dosya sistemine erişim gösterilmiştir.

chroot.png

Şekil 1 Chroot Kullanımı İle Yeni Dosya Sistemi Hiyerarşisi

Şekil 1’de görüldüğü gibi sunucu servis yazılımının ve uygulamaların işletim sistemi kaynaklarına erişimi kısıtlanmış sadece gerekli ve belirtilen kaynaklara erişimine izin verilmektedir.

2.  Motivasyon

Açık kaynak kod dünyasında Apache, PHP ve MySQL yazılımları özellikle web tabanlı uygulamalarda sıklıkla kullanılmaktadır. Bu yazılımların geniş bir topluluk tarafından desteklenir olması, yeni bulunan açıklıkların geniş kullanım ortamlarını etkilemesine neden olmaktadır. Saldırganların bu açıklıkları kullanarak sunucularda web tabanlı kabuk elde etme motivasyonları büyüktür. Bu şekilde sunucu üzerindeki diğer kaynaklara erişim ve kabuk ortamı tarafından sağlanan komutları kullanarak saldırı uzayını geliştirmek mümkündür. 

PHP tabanlı bir kabuk ortamının saldırılarda nasıl kullanılabileceğini ve Chroot yapısının bu saldırıların etkilerini nasıl azaltabileceğini gösteren bir örnek http://code.google.com/p/cammp/wiki/CAMMPShowsOff adresinde yer almaktadır. Örnekte, önceklikle sitede bulunan bir açıklık kullanılarak farklı bir ortamda yer alan PHP kabuk dosyası dahil edilmekte ve bu kabuk üzerinde TCP/IP yapılandırma bilgilerini listeleyen ifconfig komutu çalıştırılmaktadır. İkinci aşamada ise Chroot yapısı devreye sokulmuş her ne kadar aynı açıklık sunucuda bulunsa da Chroot'un sistem komutlarına erişimi engellendiği görülmüştür. 

3.  Çözüm

Uygulamaların  Chroot ortamı altında çalıştırılması için gerekli adımların uygulanmasının uzun ve sorunlu olduğu düşünüldüğünde, adımların teker teker açıklanarak anlatıldığı makalelerden öte hem Apache, MySQL, PHP ve ModSecurity’nin güvenli kurulum adımlarını gerçekleştiren hem erişim izinlerini güvenli bir biçimde yapılandıran ve hem de sunucu servisler için gerekli başlatma ve durdurma betiklerini barından basit ama kullanışlı bir araca ihtiyaç duyulmaktadır. Chroot, Apache, MySQL, ModSecurity ve PHP’nin baş harfleriyle isimlendirilen CAMMP yazılımı, bütün bu işlemleri gerçekleştirebilmektedir.

Şu an için RHEL Linux sistemlerde test edilen CAMMP, http://code.google.com/p/cammp/ adresinden temin edilebilmektedir. Kurulum ayrıntıları için http://code.google.com/p/cammp/wiki/Installation adresine başvurulabilir.    

 


Favori olarak ekle (0) | Görüntüleme sayısı: 1640

Bu yazıya ilk yorumu yazın

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2012 TÜBİTAK-BİLGEM. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB