Web Site Güvenliği

Uzun uğraşlar sonucunda bir internet sitesi oluşturdunuz ve tabiki zarar görmesini istemiyorsunuz. Bu makalemde ise sizler için bir saldırgan gözüyle bakarak site güvenliğine değinmeye çalışacağım.

1. Hesap, Mail ve Bilgisayar Güvenliği

1.1 Hesap Güvenliği

Burada hesap güvenliğinden kastım elbette hostunuzu yada domaininizi aldığınız firmanın panelinde bulunan hesabınız. Hesap güvenliğiniz için ayrıntılı dökümanı şurada bulabilirsiniz.

1.2 Mail Güvenliği

Web siteniz için mail güvenliği söz konusu olduğunda yapmanız gereken aslında basittir. Host ve domaininizi aldığınız mail adresinin kimse tarafından bilinmemesi ve whois bilgilerinde bulunmaması yeterlidir. Saldırgan sitenize whois çektiğinde domain bilgilerinizde mail adresi göremez ise domain hack’den umudu kesecektir.

1.3 Bilgisayar Güvenliği

Web siteleri söz konusu olduğunda bilgisayar güvenliği büyük etkendir. Çünkü bu hesap güvenliği ile tamamen aynıdır. Bilgisayar güvenliğiniz için ayrıntılı dökümanımı inceleyebilirsiniz.

2. Host Güvenliğiniz

Öncelikle host aldığınız yere çok dikkat etmelisiniz. Hostunuzu, bireysel değil, kurumsal olarak çalışan ve sitenizi çıkarları doğrultusunda kullanmayacak firmalardan alın. “Tostçu” diye anılan ve resell üzerinden satış yapan kişilerden host almayın, çünkü bu kişiler server güvenliğini tam anlamı ile sağlayamazlar. Birçok firma serverlarında uzun aralıklarla güncelleme yaparlar ve bu sebeple uzun süre boyunca serverda açıklar bulunur. Host alırken firmanızı iyi araştırın ve hostunuzu, server güvenliği iyi olan ve güvenilir bir kurumdan alın. Ayrıca host aldığınız firmanın sitesinde bulunan hesap güvenliğinize de dikkat edin.

Öneri

Shell ve shell kullanımı konusunda bilginiz varsa kendi hostunuza shell atın ve güvenliğini test edin. Unutmayın; kendi siteniz ne kadar güvenli olursa olsun, serveriniz güvenli değil ise serverinizda bulunan başka bir site aracılığı ile size zarar verilebilir. Serverinizdaki permlere (yazma, okuma, düzeltme) ve geçiş haklarına dikkat edin. Eğer bir güvenlik açığı görürseniz host sağlayıcınız ile görüşün ve durumu bildirin. Bu hem sizin hem de sağlayıcınızın güvenli bir şekilde yayın hayatını sürdürmesi için çok önemlidir.

3. Domain Güvenliğiniz

Öncelikle domain aldığınız sistemdeki hesabınızın güvenliğine dikkat edin. Domainin kayıtlı bulunduğu mail adresi ile whois bilgilerinde verdiğiniz mail adresi mutlaka farklı olsun. Domaininizin whois bilgilerini gizlemeniz domain güvenliği açısından çok önemlidir. Yukarıda da belirttiğim gibi whois çektiğinde mail adresi göremeyen bir saldırgan domain hacking den umudunu kesecektir.

Ayrıca domain alırken firmanızı iyi seçin. Bazı firmalar domain kaydını sizin üzerinize değil, kendi üzerlerine yaparlar. Sizin üzerinize olmayan bir domaini elinizden almaları için hiçbir engel yoktur.

4. Web Programlama Güvenliği

Aslında web güvenliği konusunda asıl değineceğimiz konu web programlama güvenliğidir. Yukarıdaki adımların hepsini eksiksiz yapsanız bile scriptinizde bulunan hatalı bir kodlama sizin ve siteniz için kötü sonuçlar doğurabilir.

4.1 Hazır Sistemlerde Güvenlik

Birçoğumuz sitemizde hazır sistemler (wordpress, vbulletin, smf, joomla vb.) kullanıyoruz. Hazır sistemlerin güvenliği piyasaya sürülmeden önce geliştiricisi tarafından alınsa da piyasaya sürüldükten hemen sonra birçok açık bulunmaktadır. Bu açıkların güncellemeleri geliştiricinin sitesinde güncel olarak yayınlanmaktadır. Bu yüzden kullandığınız hazır sistemin sitesini sürekli ziyaret edin ve güncellemelerini ihmal etmeyin. Hazır sitemlerin admin giriş panel yolunu ve database yolunu değiştirmenizde büyük fayda vardır. Ayrıca lisanssız ürün kullanmamaya ve geliştiricinin sitesi harici bir siteden kurulum dosyaları indirmemenizi de tavsiye ederim.

4.2 Kendi Yazdığınız Sistemlerde Güvenlik

Günlerce, belki de aylarca uğraşarak yazdığınız bir scripte ufacıcık bir hata bırakmış olabilirsiniz. Ne yazık ki ufak bir hata bile siteniz için kötü sonuçlar doğurabilir.

Yazdığınız scriptleri mutlaka bir güvenlik tarayıcısından geçirin. Güvenlik tarayıcınızı, saldırganların da güvenlik tarayıcısı kullandığını unutmadan seçin. Özellikle Nikto gibi sürekli güncellenen bir açık tarayıcıdan sitenizi mutlaka geçirin.

RFI, LFI, SQL, XSS gibi güncel açıklar hakkında bilginiz olsun ve kodlama yaparken bu açıklara dikkat edin. Şimdi script yazarken özellikle dikkat etmeniz gereken bazı kısımlara değineceğim.

A. Giriş Panelleri

Saldırganlar öncelikle login panellerinize SQL ve benzeri tarzı açıklar denerler. Bu açıklar sayesinde admin ya da istenilen bir kullanıcı ile giriş yapılabilir, database bilgileri çekilebilir. Panelinizi kodlarken bu tür kodları engelleyecek filtreler kullanın. Ayrıca deneme yanılma yöntemi ile şifrenizin bulunmaması için güvenlik kodu uygulaması ve ip banlama uygulaması yapmanız da faydalı olacaktır.

B. İçerik Ekleme

Login panellerinde olduğu gibi kullanıcıların içerik eklemesine olanak sağlayan bölümlerde de kod filtreleri uygulamanız gerekmektedir. Özellikle yorum veya haber ekleme bölümlerinizin HTML kodları kabul etmemesine dikkat etmeniz gerekmektedir

C. Database Güvenliği

Yazdığınız scriptin DB’si mutlaka şifre korumalı olsun. Mümkünse veritabanınızı hostunuzda indirilmesine izin verilmeyecek bir klasöre koyun.

D. Config Dosyanız

Birçok scriptte config dosyaları sistemin nasıl çalıştığını hakkında bilgi verir. Bu bilgiler arasında database yolunuz, bilgileriniz de bulunabilir. Bir saldırgan servera girdiğinde config dosyanızı okuyarak database bilgilerinize ulaşmaya çalışacaktır. Bu yüzden config dosyanızı şifrelemeniz de güvenliğiniz için gerekmektedir.

Tüm bunları yapsanız da sitenizi %100 olarak koruyamazsınız. Özellikle hazır scriptlerde hergün yeni bir açık bulunmaktadır. Ayrıca insanlardan kaynaklanacak güvenlik ihlallerini de unutmamak gerekir. Umarım web site güvenliği konusundaki bu dökümanım faydalı olabilmiştir.

Bir Cevap Yazın