SQL Enjeksiyonları Nasıl Engellenir? (Komple Kılavuz 2020) - MalCare
Yayınlanan: 2023-04-19Web sitenizdeki SQL enjeksiyon saldırılarından endişe duyuyor musunuz? Bunu okuyorsanız, saldırının sonuçlarını zaten biliyor olabilirsiniz. Bu gönderide, SQL enjeksiyonlarını önlemenin kolay yollarını öğreneceksiniz .
SQL enjeksiyonları, bir bilgisayar korsanının WordPress sitenizi ele geçirmesine ve sitenizin kontrolüne erişmesine olanak sağlayabilir. Oradan, trafiğinizi yeniden yönlendirebilir, gizli verileri çalabilir, spam bağlantıları enjekte edebilir, arama sonuçlarını Japonca karakterlerle değiştirebilir ve yasa dışı ürünler için reklamlar görüntüleyebilirler. Bu tür bir saldırı sitenize ve işletmenize onarılamaz zararlar verebilir.
Neyse ki, doğru güvenlik önlemlerini alırsanız SQL enjeksiyonları önlenebilir. Bu kılavuzda, SQL enjeksiyonlarını ele alıyoruz ve bunları önlemek ve WordPress web sitenizi korumak için etkili önlemleri derinlemesine tartışıyoruz.
TL;DR: Güvenilir bir güvenlik eklentisi kullanarak WordPress sitenize SQL enjeksiyonlarını engelleyebilirsiniz. MalCare'i yükleyin, eklenti sitenizi otomatik olarak tarayacak ve bu tür saldırılara karşı savunacaktır.
[lwptoc jumpHeadingLevel=”h1,h3,h4,h5,h6″ jumpHeadingText=”Son Düşünceler”]
SQL Enjeksiyon Saldırıları Nelerdir?
Tüm WordPress sitelerinde genellikle bir ziyaretçinin bilgi girmesine izin veren giriş alanları bulunur. Bu bir site arama çubuğu, bir iletişim formu veya bir giriş formu olabilir.
Bir iletişim formunda, bir ziyaretçi ad, telefon numarası ve e-posta gibi verilerini girer ve sitenize gönderir.
Bu veriler web sitenizin MySQL veritabanına gönderilir. Burada işlenir ve saklanır.
Şimdi, bu giriş alanları, verilerin veritabanınıza girmeden önce doğrulanmasını ve sterilize edilmesini sağlamak için uygun yapılandırmalar gerektirir. Örneğin, bir iletişim formu güvenlik açığı, yalnızca harfleri ve sayıları kabul etmesi gerektiğidir. İdeal olarak sembolleri kabul etmemelidir. Şimdi, siteniz bu form aracılığıyla herhangi bir veriyi kabul ederse, bilgisayar korsanı bundan faydalanabilir ve aşağıdaki gibi kötü amaçlı SQL sorgusu ekleyebilir:
txtUserId = getRequestString("UserId"); txtSQL = "SELECT * FROM Users WHERE Userwp-block-heading"> How Does An SQL Attack Work?
txtUserId = getRequestString("UserId"); txtSQL = "SELECT * FROM Users WHERE Userwp-block-heading"> How Does An SQL Attack Work?
Bilgisayar korsanları, güvenlik önlemleri zayıf olan veya güvenlik açıkları bulunan web sitelerini hedefler, bu da onların içeri girmelerini kolaylaştırır. Deneyimlerimize göre, eklentiler ve temalar genellikle güvenlik açıkları geliştirir ve bilgisayar korsanları bunun gayet iyi farkındadır. Güvenlik açığı bulunan eklentileri ve temaları kullanarak siteleri aramak için sürekli olarak İnternet'te gezinirler.
Bunu açıklamak için örnek bir senaryo kullanacağız. Diyelim ki Bay A, web sitesinin İletişim Sayfasında bir formu güçlendirmek için bir eklenti 'İletişim Formu' kullanıyor. Bu eklentide Sürüm 2.4'te bir SQL enjeksiyon güvenlik açığı bulunduğunu ve geliştiricilerin bunu düzeltip güncellenmiş bir sürüm 2.4.1 yayınladığını varsayalım.
Yayınlandıktan sonra geliştiriciler, güvenlik açığını kamuoyuna açık hale getiren güncellemenin nedenini açıklar. Bu, bilgisayar korsanlarının İletişim Formu eklentisinin 2.4 sürümünde bir güvenlik açığı olduğunu bildiği anlamına gelir.
Şimdi, Mr.X güncellemeyi yüklemeyi birkaç hafta erteliyor çünkü güncellemeyi çalıştırmak için zaman yok. İşlerin ters gittiği yer burasıdır.
Bilgisayar korsanları güvenlik açıklarını öğrendikten sonra, programları çalıştırır veya internette gezinen ve bir eklentinin/temanın belirli bir sürümünü kullanan web sitelerini bulan güvenlik açığı tarayıcılarını kullanır.
Bu durumda, İletişim Formu 2.4'ü kullanan web sitelerini arayacaklardır. Siteyi bulduklarında, hacklemelerini çok daha kolaylaştıran tam web güvenlik açığını bilecekler. Bu durumda, SQL enjeksiyon kusurundan yararlanacaklar ve sitenize girecekler.
SQL Enjeksiyon Türleri
Bilgisayar korsanları iki tür SQL enjeksiyonu kullanır:
1. Klasik SQL enjeksiyonu – Bir web sitesini ziyaret ettiğinizde, tarayıcınız (Chrome veya Mozilla gibi), içeriği görüntülemek için web sitesinin sunucusuna bir HTTP isteği gönderir. Web sunucusu, içeriği sitenin veritabanından alır ve tarayıcınıza geri gönderir. Bir web sitesinin ön ucunu bu şekilde görüntüleyebilirsiniz.
Artık web sitenizin veri tabanı, müşteri detayları, ödeme bilgileri, kullanıcı adları ve şifreler gibi gizli veriler dahil her türlü veriyi içermektedir. Veritabanınız yalnızca ön uç verilerini serbest bırakacak şekilde yapılandırılmalıdır. Diğer tüm gizli veriler korunmalıdır. Ancak bu uygulama güvenlik kontrolleri yerinde değilse bilgisayar korsanları avantaj sağlar.
Klasik bir SQL enjeksiyon saldırısında, bilgisayar korsanları veritabanınıza kötü amaçlı istekler göndererek tarayıcılarına veri alır. Ancak, web sitenizin oturum açma kimlik bilgileri gibi hassas bilgileri istemek için sorgu dizeleri kullanırlar. Bu bilgileri korumadıysanız, bilgisayar korsanına gönderilir. Bu şekilde, oturum açma ayrıntılarınızı ele geçirebilir ve sitenize girebilirler. Saldırganlar, aynı veya benzer veritabanı ifadelerini tekrar tekrar yüksek verimlilikle yürütmenin bir yolu olarak hazırlanan ifadeleri de kullanabilirler.
2. Blind SQL enjeksiyonu – Bu işlemde bilgisayar korsanı, web sitenizdeki giriş alanları aracılığıyla kötü amaçlı komut dosyaları enjekte eder. Veritabanınıza depolandıktan sonra, sitenizin içeriğini değiştirmek ve hatta tüm veritabanınızı silmek gibi her türlü zararı vermek için çalıştırırlar. Bu durumda, yönetici ayrıcalıkları elde etmek için kötü amaçlı komut dosyalarını da kullanabilirler.
Her iki senaryonun da web siteniz ve işiniz üzerinde yıkıcı bir etkisi olabilir. Şans eseri, web sitenizde doğru güvenlik ve giriş doğrulama önlemlerini alarak bu tür saldırıları önleyebilirsiniz.
SQL Enjeksiyon Saldırılarını Önleme Adımları
SQL enjeksiyon saldırılarını önlemek için web sitenizin güvenlik değerlendirmesini yapmanız gerekir. İşte SQL saldırılarını önlemek için alabileceğiniz iki tür önlem: bazıları kolay, bazıları karmaşık ve teknik.
Kolay Önleyici Tedbirler
- Bir güvenlik eklentisi kurun
- Yalnızca güvenilir temaları ve eklentileri kullanın
- Sitenizdeki tüm korsan yazılımları silin
- Etkin olmayan temaları ve eklentileri silin
- Web sitenizi düzenli olarak güncelleyin
Teknik Önleyici Tedbirler
- Varsayılan veritabanı adını değiştirin
- Kontrol alanı girişleri ve veri gönderimleri
- WordPress web sitenizi sağlamlaştırın
Başlayalım.
SQL Injection Saldırılarına Karşı Kolay Önleyici Tedbirler
1. Bir güvenlik eklentisi kurun
Bir web sitesi güvenlik eklentisini etkinleştirmek, web sitenizi korumak için atmanız gereken ilk adımdır. WordPress güvenlik eklentileri sitenizi izleyecek ve bilgisayar korsanlarının içeri girmesini engelleyecektir.
Aralarından seçim yapabileceğiniz pek çok eklenti var, ancak sunduklarına göre MalCare'i seçiyoruz. Eklenti, sitenizi saldırılara karşı korumak için otomatik olarak bir web uygulaması güvenlik duvarı kuracaktır. Hack girişimleri tanımlanır ve engellenir.
Ardından, eklentinin güvenlik tarayıcısı sitenizi her gün baştan sona tarar. Sitenizde herhangi bir şüpheli davranış veya kötü niyetli etkinlik varsa hemen uyarı alırsınız. Google sitenizi kara listeye alma şansı bulmadan veya barındırma sağlayıcınız sitenizi askıya almaya karar vermeden önce MalCare ile harekete geçebilir ve sitenizi anında düzeltebilirsiniz.
2. Web sitenizi düzenli olarak güncelleyin
Daha önce SQL enjeksiyon örneğimizde de belirttiğimiz gibi, geliştiriciler yazılımlarında güvenlik açıkları bulduklarında bunu düzeltirler ve güvenlik düzeltme ekini taşıyan yeni bir sürüm yayınlarlar. Sitenizdeki kusuru gidermek için yeni sürüme güncellemeniz gerekiyor.
WordPress temel kurulumunuzu, temalarınızı ve eklentilerinizi güncellemek için haftada bir zaman ayırmanızı öneririz.
Ancak bir güvenlik güncellemesi yayınlandığını görürseniz güncellemeyi hemen kurun.
3. Yalnızca güvenilir temaları ve eklentileri kullanın
WordPress, web siteleri oluşturmak için en popüler platformdur ve bunun nedeni kısmen onu kolay ve uygun fiyatlı yapan eklentiler ve temalardır. Ancak mevcut çok sayıda tema ve eklenti arasından dikkatli bir şekilde seçim yapmanız gerekir. Etkin yükleme sayısı, son güncelleme tarihi ve test edildiği sürüm gibi eklenti ayrıntılarını kontrol edin.
Bunları WordPress deposundan indirmenizi öneririz. Diğer tüm temalar ve eklentiler için, güvenilir olabileceklerini doğrulamak için uygun araştırmaları yapmalısınız. Bunun nedeni, bazı üçüncü taraf temalarının ve eklentilerinin bilgisayar korsanları tarafından kötü amaçlarla oluşturulabilmesidir. Ayrıca, onu güvenlik açıklarına açan kötü bir şekilde kodlanmış olabilir.
4. Sitenizdeki tüm korsan yazılımları silin
Korsan veya geçersiz temalar ve eklentiler caziptir. Premium özelliklere ücretsiz olarak erişmenizi sağlar. Ancak maalesef bunlar genellikle önceden yüklenmiş kötü amaçlı yazılımlarla birlikte gelir. Korsan yazılım, bilgisayar korsanları için kötü amaçlı yazılımlarını dağıtmanın kolay bir yoludur.
Yüklediğinizde, kötü amaçlı yazılım etkinleştirilir ve sitenize bulaşır. Bu tür yazılımlardan uzak durmak en iyisidir.
5. Etkin olmayan temaları ve eklentileri silin
Bir eklenti yüklemek ve onu yıllarca tamamen unutmak yaygın bir durumdur. Ancak bu alışkanlık, sitenizi bilgisayar korsanlarına maruz bırakabilir. Sitenize ne kadar çok eklenti ve tema yüklediyseniz, güvenlik açıklarının ortaya çıkma ve bilgisayar korsanlarının bunlardan yararlanma olasılığı o kadar artar.
Yalnızca kullandığınız eklentileri ve temaları saklamanızı öneririz. Gerisini silin ve sitenizi daha güvenli hale getirin. Ayrıca mevcut temalarınızı ve eklentilerinizi düzenli olarak tarayın.
Teknik Önleyici Tedbirler
Bu önlemler, WordPress'in iç işleyişi hakkında biraz daha fazla bilgi gerektirebilir. Ancak günümüzde her şey için bir eklenti var. Dolayısıyla, bu önlemlerin uygulanmasındaki karmaşıklıklar konusunda endişelenmenize gerek yok. Basitleştiriyoruz!
1. Varsayılan veritabanı tablo adını değiştirin
WordPress siteniz dosyalardan ve bir veritabanından oluşur. Veritabanınızda varsayılan olarak 11 tablo vardır. Her tablo çeşitli verileri ve yapılandırmaları barındırır. Bu tablolar 'wp_' önekiyle adlandırılır. Yani tabloların adı wp_options, wp_users, wp_meta olabilir. Sürüklenmeyi anladın.
Bu adlar tüm WordPress sitelerinde aynıdır ve bilgisayar korsanları bunu bilir. Bilgisayar korsanları hangi tablonun ne tür verileri sakladığını bilir. Bilgisayar korsanları web sitenize kötü amaçlı komut dosyaları eklediklerinde, komut dosyasının nerede saklanacağını bilirler. Basit bir yöntem kullanarak, kötü amaçlı etkinlikleri çalıştırmak için SQL komutlarını çalıştırabilirler.
Ancak tablonun adını değiştirirseniz, bilgisayar korsanlarının komut dosyalarının bulunduğu yeri bulmasını engelleyebilir. Bu nedenle bilgisayar korsanları, veritabanı tablolarınıza SQL kodları enjekte etmeye çalıştıklarında, tablo adını bulamayacaklardır.
Bunu, Change Table Prefix veya Brozzme gibi bir eklenti kullanarak yapabilirsiniz. Bunlardan birini sitenize yükleyin ve adımları izleyin.
Bunu wp-config dosyanızı düzenleyerek manuel olarak da yapabilirsiniz. Bir uyarı - burada yapılacak ufak bir yanlış adım, veritabanı hatalarına ve site arızalarına yol açabilir. Devam etmeden önce bir yedek alın.
- Barındırma hesabınız > cPanel > Dosya Yöneticisi'ne gidin.
- Burada public_html klasörüne erişin ve wp-config dosyasına sağ tıklayın.
- Düzenle'yi seçin ve aşağıdaki kodu bulun
“$table_prefix = 'wp_';” - - ile değiştir
“$table_prefix = 'test_';”
İstediğiniz herhangi bir öneki seçebilirsiniz. Burada yeni veritabanı adı olarak 'test_'i seçtik. Bu işlem tamamlandıktan sonra, bilgisayar korsanları SQL komutlarının yerini bulamayacaktır.
2. Kontrol alanı girişleri ve veri gönderimleri
Web sitenizdeki tüm giriş alanlarını yalnızca belirli veri türlerini kabul edecek şekilde yapılandırabilirsiniz. Örneğin, bir ad alanı yalnızca alfa girişlerine (harflere) izin vermelidir çünkü buraya sayısal karakterlerin girilmesi için bir neden yoktur. Benzer şekilde, bir iletişim numarası alanı yalnızca rakamları kabul etmelidir.
Kullanıcı girişini sterilize eden sanitize_text_field() işlevini kullanabilirsiniz. Bu giriş doğrulaması, doğru olmayan veya sadece tehlikeli olan girişlerin engellenebilmesini sağlar.
3. WordPress web sitenizi sağlamlaştırın
Bu, WordPress sitenizi SQL enjeksiyon saldırılarına karşı korumak için atabileceğiniz en önemli adımlardan biridir. Web sitesi sağlamlaştırma nedir?
Bir WordPress web sitesi, siteyi yönetmenize yardımcı olacak birçok işlev sunar. Ancak, insanların çoğu bu işlevlerin çoğunu kullanmaz. WordPress.org, kullanmıyorsanız bazılarını devre dışı bırakmanızı veya kaldırmanızı önerir. Bilgisayar korsanlarının deneyebileceği daha az öğe olduğu için bu, saldırı olasılığını azaltacaktır!
Bazı WordPress güçlendirme önlemleri şunlardır:
- Dosya düzenleyiciyi devre dışı bırakma
- Eklenti veya tema kurulumlarını devre dışı bırakma
- 2 faktörlü kimlik doğrulamayı uygulama
- Giriş denemelerini sınırlama
- WordPress güvenlik anahtarlarını ve tuzlarını değiştirme
- Bilinmeyen klasörlerde PHP yürütmesini engelleme
Bu önlemleri uygulamak için, bunu yalnızca birkaç tıklamayla yapmanızı sağlayan MalCare gibi bir eklenti kullanabilirsiniz.
Veya WordPress Sertleştirme Kılavuzumuzu izleyerek manuel olarak uygulayabilirsiniz.
Bu da bizi SQL enjeksiyon saldırılarını önlemenin sonuna getiriyor. Bu SQL enjeksiyon hile sayfasında tartıştığımız önlemleri uyguladıysanız, siteniz güvende olacaktır.
[ss_click_to_tweet tweet=”SQL enjeksiyon saldırıları önlenebilir! WordPress sitenizde doğru güvenlik önlemlerini uygulamak için bu kılavuzu kullanın.” içerik=”” stil=”varsayılan”]
Son düşünceler
Önleme gerçekten tedaviden daha iyidir. SQL enjeksiyon saldırıları, gereksiz strese ve ciddi mali yüke neden olabilir.
Bugün tartıştığımız önlemlerin çoğu, eklentilerin kullanımıyla kolayca uygulanabilir. Teknolojiden anlayan biri değilseniz endişelenmenize gerek yok! Hala kendini koruyabilirsin!
Bu önlemleri uygulamanın yanı sıra, sitenizde MalCare'i etkinleştirmenizi şiddetle öneririz. Güvenlik duvarı, web sitenizi saldırılara karşı aktif olarak savunacaktır. Sitenizdeki saldırı girişimlerini ve kötü amaçlı yazılımları kontrol etmek için sitenizi her gün tarar.
Bunu, sitenizi izleyen ve kötü adamları dışarıda tutan web sitenizin güvenlik görevlisi olarak düşünebilirsiniz. Sitenizin korunduğunu bilerek içiniz rahat olabilir.
MalCare Güvenlik Eklentimizle Hack Saldırılarını Önleyin !