Hepimiz bir sitemizi yayına koymak için bir yerlerden hosting satın alırız. Bizi belki de öncelikle cezbeden konu, hosting firmalarının verdikleri web alanlarının büyüklüğü ve verilen bandwidth’in geniş olmasıdır. Daha sonra, ne kadar fazla domaine hizmet verebildiğimiz, e-mail hesapları konusundaki rahatlıklar, DNS ayarlarına erişebilmek, birden fazla web programlama dilini desteklemesi, database sunucularındaki çeşitlilik imkanları (mysql + postgresql + vs vs ) gibi konular da bir hosting planını satın almamızda önem verdiğimiz konular arasındadır. Daha sonra daha profesyonel yaklaşanlar için firmanın destek konusundaki hızlılığı, tecrübesi, siteler için sundukları loglar, raporlar, sitelere erişimin hızı gibi unsurlar da incelenen konular arasına alınabilir.
Ancak bu özelliklerin, dışında bence hosting firmalarının vermiş oldukları hizmetlerin güvenliğini sağlamaları da çok çok önemlidir.
Normalde hosting firmaları, müşterilerini ‘iyi niyetli’ olarak görürler. Yani bir hosting hesabı satın alarak, sunucularına dahil olan herkes için aşağı yukarı ‘neden kendi sitesinin bulunduğu bir sistemi bozmaya çalışsın ki’ anlayışı içindelerdir. Bu durum kötü niyetli birinin elinde avantaj haline dönüşebilir.
Bir hosting firmasından hizmet satın aldığınızda, aslında firmanın sunucularından birinden onlarca belki yüzlerce kişi gibi bir hesap almış oluyorsunuz. Aynı makina ya da en azından işletim sistemi sizinle birlikte onlarca kişi ve belki yüzlerce site tarafından kullanılıyor oluyor. Dolayısıyla yayınlanan bütün sitelere birkaç klasor uzakta oluyorsunuz. Kötü niyetli birisi aynı hosting firmasından bir hesap aldığında, yanıbaşınızda tehlikeli bir komşu ile yaşamaya başlıyorsunuz.
Siteler genelde aynı dosya sistemi üzerinde tutulduğu için, herhangi bir şekilde dosya sistemine erişildiğinde sitelerinizdeki içerik ve tüm veriler başkaları tarafından elde edilebilir hale gelebiliyor. Örneğin, web siteniz htdocs isimli bir klasor altında ise muhtemelen htdocs dizinin yukarısına FTP yolu ile erişemezsiniz. Ancak web server üst klasörlere PHP ya da ASP gibi diller aracılığı ile erişebilir. Dolayısıyla bu açığı kullanmak isteyenlerin yaptığı tek şey, PHP ve ASP ile dosya sistemini kullanarak üst klasörleri dolaşmak ve sunucu üzerindeki tüm web sitelerinin klasorler halinde yer aldığı klasöre erişmektir. Bu klasöre eriştikten sonra saldırgan eğer izinler düzgün düzenlenmemişse, alt klasörlerde yer alan web sitelerinin dosyalarına erişebilir ve en basit manada database bağlantı şifrelerini alarak tüm verilerinize erişebilir.
Hangi hosting firması böyle bir açığı bırakabilir ki? diyebilirsiniz. Ancak hosting firmanızdan bu kadar emin olmayın, çünkü ‘bir hosting firması söyler misin?’ diye sorulduğunda, aklınıza gelecek firmaların bir çoğunda bu sorunun varolduğunu söyleyebilirim. Şu ana kadar birçok ‘kaliteli’ denilen hosting firmasında bu tip açıklar gördüm ve herkesin erişimine açmak istemediğim sitelerimi o hosting firmalarda barındırmaktan kaçındım.
Bu sorunun varolup olmadığını kendiniz de yazacağınız küçük bir script ile test edebilir, hosting firmanızı bu konuda uyarabilirsiniz.
Linux hostinglerde bu soruna ek olarak başka bir sorun daha mevcuttur. Özellikle PHP hizmeti veren sistemlerde eğer ’safe mode’ açık değilse ve izinler doğru düzenlenmemişse çok rahatlıkla sunucu üzerindeki tüm web sitelerinin dosyaları, o sunucuda web sitesi varolan bir kullanıcı tarafından erişilebilmektedir. Bunun için yapılması gereken tek şey aşağıdaki benzer bir kod yazıp, Linux komut satırındaki komutlar yardımıyla diğer klasör ve dosyalara erişip okumaktır.
<?
$output = shell_exec($_GET[’cmd’]);
echo $output;
?>
Bu kodu kendi web sitesine kaydettikten sonra dosyayı ‘hack.asp?cmd=ls ..’ yazarak kendi bulunduğu üstünde yer alan klasörleri ve dosyaları listeleyerek ‘hack.asp?cmd=more dosya_yolu/dosya_adı’ ile de istediği klasördeki istediği dosyayı okuyabilir. Son dönemde çevremdeki arkadaşların hostinglerinde bu tür problemlere sıkça rastladığım için kendi web sitelerinizin bulunduğu hostingin böyle bir açığa sahip olup olmadığını test etmenizi öneririm.
Yukarıdaki açıkları ille de aynı hosting alanında bulunduğunuz kötü niyetli bir kullanıcının kullanması da gerekmez. Eğer sitelerinizde yazılabilir klasörler (chmod 777) mevcut ise ya da kullanıcılarınızın, ziyaretçilerinizin birşeyler upload etmesine izin verdiğiniz web sayfalarınız yeterince iyi korunmuyorsa, bu açıklardan faydalanmak isteyenler bazı scriptleri sizin web sitenizin klasörüne yükleyerek kullanabilirler. Böylece sadece sizin değil, sunucu üzerindeki herkesin web sitesini ‘hackleme’ imkanı bulurlar. Ya da sessiz sedasız bu tip kodları sitenize yükleyerek tüm verilerinizi ve diğer web sitelerinin verilerini sürekli çalabilirler.
Günümüzde bir web sitesi hazırlamak birçok araç-gereç, CMS yapıları ve hazır yapılar nedeniyle çok kolay hale geldi ancak bu yapılar çoğu kez güvenliği beraberinde getirmiyor. Aksine bu yapılar birçok şeyin temelini öğrenmeden site yapanları, hosting hizmeti vermeye çalışanları gaza getirdiği için bu tip güvenlik sorunları giderek daha da fazla hale geliyor. Bu nedenle öncelikle seçtiğiniz hosting firmasının güvenliğe dikkat eden bir yer olmasından başlayarak, güvenlik konusunda önlemlerinizi almanızı tavsiye ederim.
(Yukarıda bulunan yazı, hosting firmalarının ve bu firmalardan hizmet alan kişilerin kendi sitelerinin güvenliğini sağlamaları konusunda yardımcı olmak için yazılmıştır.)