Blog

Hacking'e karşı en iyi uygulamalar

20 Şubat 2009, Cuma

Günümüzde web sitelerinin büyük çoğunluğu, kullanıcılarına iyi hizmet sunabilmek için uygulamalar etrafında inşa edilmektedir. Özellikle içerik oluşturmak, düzenlemek ve yönetmek için yaygın olarak kullanılmaktadırlar. Kullanıcı girdisinin temel olduğu bu sistemlerin etkileşimli doğası gereği, kötü niyetli üçüncü tarafların istismarlarını önlemek ve en iyi kullanıcı deneyimini sağlamak adına güvenlik konusunu düşünmek önemlidir.

Bazı hack girişimleri türleri ve bunları önleme yolları

Hackerların bir web sitesinin kısmi veya tam kontrolünü ele geçirmek için gerçekleştirebileceği birçok farklı saldırı türü vardır. Genel olarak en yaygın ve tehlikeli olanları SQL injection ve siteler arası betik çalıştırma (XSS) saldırılarıdır.

SQL injection, bir web uygulamasındaki güvenlik açığından yararlanarak veritabanı düzeyinde davranışını değiştirmek için kötü amaçlı bir kod parçası enjekte etme tekniğidir. URL’leri (sorgu dizisi) veya herhangi bir formu (arama, giriş, e-posta kaydı) manipüle ederek kötü amaçlı kod enjekte edebildiği düşünüldüğünde oldukça güçlü bir tekniktir. SQL injection ile ilgili bazı örnekleri Web Application Security Consortium adresinde bulabilirsiniz.

Bu tür saldırılardan kaçınmak için alınabilecek kesin önlemler vardır. Örneğin, ön uçtaki bir form ile arka uçtaki veritabanı arasına bir katman eklemek iyi bir uygulamadır. PHP’de, kullanıcı girdisini ifadeye gömmek yerine parametrelerle (bazen yer tutucular veya bağlama değişkenleri olarak adlandırılır) çalışmak için genellikle PDO uzantısı kullanılır. Bir diğer oldukça kolay teknik ise, veritabanı yapısı üzerinde doğrudan etkisi olabilecek tüm tehlikeli karakterlerin kaçış karakteri ile etkisiz hale getirildiği karakter kaçırmadır. Örneğin, bir parametredeki her tek tırnak (') işareti, geçerli bir SQL dize değişmezi oluşturmak için iki tek tırnak ('') ile değiştirilmelidir. Bunlar, bir sitenin güvenliğini artırmak ve SQL injection saldırılarını önlemek için alabileceğiniz en yaygın önlemlerden sadece ikisidir. İnternette ihtiyaçlarınıza (programlama dilleri, belirli web uygulamaları vb.) uygun daha birçok özel kaynak bulabilirsiniz.

Burada tanıtacağımız diğer teknik ise siteler arası betik çalıştırmadır (XSS). XSS, web uygulamalarının güvenlik açıklarından yararlanarak bir web sayfasına kötü amaçlı kod enjekte etmek için kullanılan bir tekniktir. Bu tür bir saldırı, web uygulamasının kullanıcı girdisi yoluyla elde edilen verileri, son kullanıcıya döndürmeden önce herhangi bir kontrol veya doğrulama yapmadan işlemesi durumunda mümkündür. Siteler arası betik çalıştırma ile ilgili bazı örnekleri Web Application Security Consortium adresinde bulabilirsiniz.

Bir web uygulamasını bu tekniğe karşı korumanın birçok yolu vardır. Alınabilecek bazı kolay önlemler şunlardır:

  • Bir forma girilebilecek girdileri temizlemek (örneğin, PHP’deki strip tags fonksiyonuna bakın);
  • Potansiyel olarak kötü amaçlı karakterlerin doğrudan enjeksiyonunu önlemek için veri kodlaması kullanmak (örneğin, PHP’deki htmlspecialchars fonksiyonuna bakın);
  • Uygulamaya doğrudan kod enjeksiyonunu önlemek için veri girişi ile arka uç arasında bir katman oluşturmak.

CMS güvenliği hakkında bazı kaynaklar

SQL injection ve siteler arası betik çalıştırma, hackerların masum sitelere saldırmak ve istismar etmek için kullandığı birçok teknikten sadece ikisidir. Genel bir güvenlik kılavuzu olarak, güvenlik sorunları hakkında her zaman güncel kalmak ve özellikle üçüncü taraf yazılımlar kullanırken mevcut en son sürümü yüklediğinizden emin olmak önemlidir. Birçok web uygulaması, sürekli destek ve güncellemeler sunan büyük topluluklar etrafında inşa edilmiştir.

Birkaç örnek vermek gerekirse, en büyük Açık Kaynak içerik yönetim sistemi topluluklarından dördü olan Joomla, WordPress, PHP-Nuke ve Drupal, web sitelerinde güvenlik konusunda faydalı kılavuzlar sunmakta ve kullanıcıların sorunları bildirebileceği ve destek isteyebileceği büyük topluluk odaklı forumlara ev sahipliği yapmaktadır. Örneğin, WordPress, web sitesinin Hardening WordPress bölümünde, CMS’sinin güvenliğini nasıl güçlendireceğine dair kapsamlı belgeler sunmaktadır. Joomla, güvenlik ile ilgili birçok kaynak, özellikle de Joomla tabanlı bir web sitesinin güvenliğini artırmak için web yöneticilerinin alması gereken kapsamlı bir eylem listesi içeren bir Güvenlik Kontrol Listesi sunmaktadır. Drupal’ın sitesinde, Güvenlik bölümüne giderek güvenlik sorunları hakkında bilgiye erişebilirsiniz. Ayrıca, devam eden sorunlardan sürekli haberdar olmak için güvenlik posta listelerine abone olabilirsiniz. PHP-Nuke, bu CMS platformunun sistem yönetimine ayrılmış “Nasıl Yapılır” bölümünün 23. bölümünde Güvenlik hakkında bazı belgeler sunmaktadır. Ayrıca, hacklenme ile ilgili sorunları çözmek için kılavuzlar sunan Hacked – Now what? adında bir bölümleri de bulunmaktadır.

Sitenizin hacklendiğini belirlemenin bazı yolları

Yukarıda belirtildiği gibi, hackerların bir sitede gerçekleştirebileceği birçok farklı saldırı türü ve masum bir siteyi istismar etmenin farklı yöntemleri vardır. Hackerlar bir sitenin tam kontrolünü ele geçirdiklerinde, siteyi tahrif edebilir (ana sayfayı değiştirebilir), tüm içeriği silebilir (veritabanı tablolarınızı düşürebilir) veya kötü amaçlı yazılım ya da çerez hırsızları yerleştirebilirler. Ayrıca, spam içerikli kaynaklara işaret eden bağlantıları gizleyerek veya kötü amaçlı yazılım sitelerine yönlendiren sayfalar oluşturarak bir siteyi spam yapmak için istismar edebilirler. Uygulamanızdaki bu değişiklikler belirgin olduğunda (tahrifat gibi), hackleme faaliyetini kolayca fark edebilirsiniz; ancak diğer istismar türleri, özellikle spam amaçlı olanlar için bu o kadar belirgin olmayacaktır. Google, bazı ürünleri aracılığıyla web yöneticilerine bir sitenin hacklenip hacklenmediğini veya izinsiz olarak üçüncü bir tarafça değiştirilip değiştirilmediğini tespit etmeleri için bazı yollar sunar. Örneğin, Google Arama’yı kullanarak hackerların web sitenize eklediği tipik anahtar kelimeleri tespit edebilir ve güvenliği ihlal edilmiş sayfaları tanımlayabilirsiniz. Sadece google.com adresini açın ve web sitenizde site: arama sorgusunu çalıştırarak hackerların spam amaçlı yaygın olarak kullandığı ticari anahtar kelimeleri (viagra, porn, mp3, kumar vb.) arayın: site:example.com viagra. site: arama operatörüne henüz aşina değilseniz, bu, aramanızı belirli bir siteyle sınırlayarak Google’da sorgulama yapmanın bir yoludur. Örneğin, site:googleblog.blogspot.com araması yalnızca Resmi Google Blogu‘ndan sonuçlar döndürecektir. Bu tür bir sorguya spam içerikli anahtar kelimeler eklediğinizde, Google web sitenizin bu spam anahtar kelimeleri içeren ve büyük olasılıkla hacklenmiş olan tüm dizine eklenmiş sayfalarını döndürecektir. Bu şüpheli sayfaları kontrol etmek için Google tarafından önerilen önbelleğe alınmış sürümü açmanız yeterlidir; böylece varsa hacklenmiş davranışı tespit edebilirsiniz. Daha sonra güvenliği ihlal edilmiş sayfalarınızı temizleyebilir ve sunucunuzun yapılandırma dosyalarındaki (örneğin Apache web sunucularında: .htaccess ve httpd.conf) anormallikleri kontrol edebilirsiniz.

Siteniz artık Google arama sonuçlarında görünmüyorsa, bu, Google’ın hackleme sonucu sitenizdeki kötü uygulamaları zaten tespit ettiği ve web yöneticisi kalite yönergelerimizi ihlal etmesi nedeniyle sitenizi geçici olarak dizinimizden kaldırmış olabileceği anlamına gelebilir.

Web sitenizdeki şüpheli anahtar kelimelerin varlığını sürekli olarak takip etmek için site:example.com viagra OR casino OR porn OR ringtones gibi sorguları izlemek üzere Google Uyarıları‘nı da kullanabilirsiniz. Bu anahtar kelimeler sitenizin içeriğinde her bulunduğunda bir e-posta uyarısı alırsınız.

Sitenizdeki herhangi bir hackleme faaliyetini tespit etmek için Google’ın Web Yöneticisi Araçları‘nı da kullanabilirsiniz. Web Yöneticisi Araçları, siteniz için en iyi arama sorguları hakkında istatistikler sağlar. Bu veriler, sitenizin şüpheli, alakasız spam anahtar kelimeler için sıralanıp sıralanmadığını izlemenize yardımcı olacaktır. ‘Googlebot ne görüyor’ verileri de yararlıdır, çünkü sıralanıp sıralanmadığınıza bakılmaksızın Google’ın sitenizde herhangi bir olağandışı anahtar kelime tespit edip etmediğini görebilirsiniz.

Bir Web Yöneticisi Araçları hesabınız varsa ve Google sitenizin hacklendiğine inanıyorsa, genellikle sitenizdeki istismar türüne göre bilgilendirilirsiniz:

  • Kötü niyetli bir üçüncü taraf sitenizi spam amaçlı kullanıyorsa (bağlantıları gizlemek veya spam sayfalar oluşturmak gibi) ve bu durum tarayıcımız tarafından tespit edilmişse, genellikle Mesaj Merkezi’nde ayrıntılı bilgilerle (hacklenmiş URL’lerden bir örnek veya gizli bağlantıların bağlantı metni) bilgilendirilirsiniz;
  • Siteniz kötü amaçlı yazılım gibi zararlı yazılımları yerleştirmek için istismar ediliyorsa, Web Yöneticisi Araçları hesabınızın ‘Genel Bakış’ sayfasında bir kötü amaçlı yazılım uyarısı görürsünüz.

Hacklenmiş davranış kaldırıldı, şimdi ne olacak?

Siteniz hacklendi mi veya kötü amaçlı yazılım mı sunuyor? Öncelikle kötü amaçlı yazılım sorununu temizleyin ve ardından aşağıdakilerden birini yapın:

  • Siteniz spam amacıyla hacklendiyse, sitenizin yeniden değerlendirilmesini talep etmek için lütfen Web Yöneticisi Araçları aracılığıyla yeniden değerlendirme isteği sayfamızı ziyaret edin;
  • Siteniz kullanıcılara kötü amaçlı yazılım sunuyorsa, lütfen Web Yöneticisi Araçları’nın ‘Genel Bakış’ sayfasından bir kötü amaçlı yazılım inceleme isteği gönderin.

Bu ipuçlarını faydalı bulacağınızı umuyoruz. Kendi tavsiyelerinizi veya deneyimlerinizi paylaşmak isterseniz, sizi forumumuzda paylaşımda bulunmaya davet ediyoruz. Teşekkürler!

Alien Road

Biz bunu nasıl uyguluyoruz

We archive Search Central announcements because client questions often trace back to a change that was announced years ago. Reading the original is faster than reconstructing it from second-hand summaries.

İlgili hizmetler

Paylaş

© Copyright 2026 Alien Road. All rights reserved.