Kısa cevap: Küçük işletme sitelerinin hacklenmesinin arkasında çoğu zaman güncellenmemiş WordPress, eklenti ya da tema, zayıf veya birkaç kişiyle paylaşılan şifreler ve paylaşımlı sunucudaki riskler olur. Düzenli ve sitenin dışında saklanan yedek, iki adımlı doğrulama, aylık güncelleme rutini ve SSL bu riski ciddi ölçüde azaltır. Hacklendiyseniz ilk 24 saatte siteyi yayından çekin, hosting firmanıza haber verin, tüm şifreleri değiştirin ve ne gördüğünüzü saatleriyle not edin.
Küçük işletme siteleri neden hacklenir?
“Benim sitemde çalınacak ne var?” sorusunu sık duyuyoruz. Saldırganın derdi her zaman sizin verileriniz olmuyor; ele geçirilen site spam sayfası yayınlamak, sahte e-posta göndermek ya da ziyaretçiye zararlı yazılım bulaştırmak için de kullanılabiliyor. WordPress’in yardım sayfası, hacklenen sitelerin başka siteleri saldırmak için kullanıldığı ve sunucunun e-posta kara listelerine düştüğü durumları da belirtiler arasında sayıyor. Bu yüzden sitenin küçük olması tek başına koruma sağlamıyor.
En sık karşılaştığımız açık kapılar şunlar:
- Güncellenmeyen WordPress çekirdeği. WordPress’in güvenlik rehberi eski sürümlerin güvenlik güncellemesiyle desteklenmediğini, bir açık kapatıldıktan sonra ayrıntılarının da genelde herkesin önüne çıktığını yazıyor.
- Eski eklenti ve temalar. Aynı rehber eklentilerin güncel tutulmasını, kullanılmayanların silinmesini öneriyor. Siteyi kuran ajansla yolların ayrıldığı, panelde kimsenin bakmadığı kurulumlar bu açıdan en riskli olanlar.
- Zayıf ve paylaşılan şifreler. Kısa, sözlükte geçen, yalnızca rakamdan oluşan şifreler; ya da aynı yönetici hesabını işletmede üç kişinin kullanması.
- Paylaşımlı hosting. WordPress rehberi açıkça, paylaşımlı bir sunucudaysanız tüm önlemleri alsanız bile sitenizin etkilenebileceğini söylüyor ve hosting firmanıza hangi güvenlik önlemlerini aldığını sormanızı öneriyor.
- Kendi bilgisayarınız. WordPress’in “sitem hacklendi” sayfası, saldırının çoğu zaman site sahibinin bilgisayarındaki ve FTP ya da yönetim paneli şifresini çalan bir zararlı yazılımla başlayabildiğini hatırlatıyor.
Sitenizin hacklendiğini nasıl anlarsınız?
Bazı belirtiler bariz, bazıları haftalarca fark edilmiyor. WordPress’in yardım sayfasında sayılan işaretlerle bizim gördüklerimizi birleştirince liste şöyle:
- Google arama sonuçlarında ya da tarayıcıda sitenizin tehlikeli olduğuna dair uyarı çıkıyor.
- Hosting firmanız sitenizi askıya aldı ya da size zararlı yazılım bildirimi gönderdi.
- Ziyaretçiler, antivirüs programlarının sitenizi engellediğini söylüyor.
- Panelde tanımadığınız bir kullanıcı, özellikle yönetici hesabı var.
- Google’da
site:alanadiniz.comdiye aradığınızda hiç oluşturmadığınız sayfalar çıkıyor. - Siteyi açtığınızda görüntü değişmiş ya da sizi başka bir siteye yönlendiriyor.
Google Search Console’u siteniz için kurduysanız “Güvenlik sorunları” raporu buraya ilk düşen yerlerden biri. Kurmadıysanız bu yazıdan sonra ilk iş onu kurun.
Yedek, SSL, iki adımlı doğrulama: temel önlemler neler?
Yedekle başlayalım. WordPress rehberi veritabanı dahil düzenli yedek almayı ve tüm kurulumun anlık görüntülerini güvenilir bir yerde saklamayı öneriyor; böylece saldırı bir süre fark edilmese bile saldırıdan önceki temiz bir kopyaya dönebiliyorsunuz. Burada iki şeye dikkat edin. Yedekler yalnızca aynı sunucuda duruyorsa sunucuyla birlikte onlar da gidebilir. Ayrıca hiç geri yüklemeyi denemediğiniz bir yedeğin çalışıp çalışmadığını bilemezsiniz.
SSL sertifikası, ziyaretçiyle siteniz arasındaki trafiği şifreler; tarayıcıdaki “güvenli değil” uyarısını kaldırır, formdan gelen bilgilerin yolda okunmasını engeller. Ama sitenin hacklenmesini engellemez. Adres çubuğundaki kilit, panelinizin şifresinin güçlü olduğu anlamına gelmiyor.
Giriş tarafında WordPress rehberi güçlü şifre ve iki adımlı doğrulamayı öneriyor. Biz buna şunu ekliyoruz: her kişinin kendi hesabı olsun, yetkisi de işine göre verilsin. İçerik giren çalışanın yönetici olmasına gerek yok. Aynı özeni sitenin çevresindeki hesaplara da gösterin: hosting paneli, alan adını aldığınız firmanın paneli ve sitenin bağlı olduğu e-posta hesabı. Alan adı panelini ele geçiren biri sitenizi tamamen başka bir sunucuya yönlendirebilir; e-postanızı ele geçiren biri de tüm şifreleri “şifremi unuttum” bağlantısıyla sıfırlayabilir. Bu hesaplarda da iki adımlı doğrulama sunuluyorsa açın. Sunucuya bağlanırken de, hosting firmanız destekliyorsa düz FTP yerine şifreli bağlantı (SFTP) kullanın; rehber bunun şifrenizin yolda açık metin olarak yakalanmasını önlediğini yazıyor.
Aylık güncelleme rutini nasıl kurulur?
Güvenliğin büyük kısmı sıkıcı ve düzenli işlerden oluşuyor. Ayda bir, takvime yazılmış bir saatte şu adımları yapın:
- Güncellemeden önce tam yedek alın.
- WordPress çekirdeğini, eklentileri ve temayı güncelleyin. WordPress 3.7’den beri otomatik güncellemeler de açılabiliyor.
- Kullanmadığınız eklenti ve temaları devre dışı bırakmakla yetinmeyin, silin.
- Kullanıcı listesine bakın, ayrılan çalışanların ve eski ajans hesaplarının erişimini kaldırın.
- Search Console’daki güvenlik raporunu ve hosting panelindeki uyarıları kontrol edin.
- Sitenin ana sayfasını, iletişim formunu ve varsa sepet ve ödeme adımını deneyin.
Bu rutini kimin yapacağı belli değilse, yapılmıyor demektir. Siteyi bir ajansa yaptırdıysanız bakımın sözleşmede olup olmadığını sorun. Yeni bir site planlıyorsanız bakım ihtiyacını baştan konuşmak için web tasarım sayfamıza, sürecin genel adımları için web tasarım rehberimize bakabilirsiniz.
Hacklendiyseniz ilk 24 saatte ne yapmalısınız?
Aşağıdaki sıra, Google’ın hacklenmiş siteler rehberi ile WordPress’in “sitem hacklendi” sayfasındaki adımlardan derlendi:
- Ne gördüğünüzü, saatini ve son günlerde sitede yapılan değişiklikleri (yeni eklenti, tema değişikliği) yazın. WordPress bunu olay raporunun temeli olarak görüyor; destek alacağınız kişi ilk bunu soracak.
- Siteyi yayından çekin. Google, ziyaretçiye zararlı içerik gitmesini durdurmak için sunucuyu kapatmayı ya da alan adını başka bir sunucudaki basit bir bakım sayfasına yönlendirmeyi öneriyor.
- Hosting firmanıza haber verin. Sorun sunucunun geneline yayılmış olabilir; firma ayrıca bunun gerçekten bir saldırı mı, yoksa bir hizmet kesintisi mi olduğunu ayırt etmenize yardım edebilir.
- Tüm erişimleri değiştirin: WordPress kullanıcıları, hosting paneli, FTP ya da SFTP, veritabanı. Tanımadığınız kullanıcıları silin. WordPress, oturumu açık kalan herkesi atmak için wp-config dosyasındaki gizli anahtarların yenilenmesini öneriyor.
- Temizliğe başlamadan önce sitenin o anki halinin bir kopyasını alın, enfekte olsa bile. Neyin değiştiğini anlamak için gerekecek.
- Siteyi güncellediğiniz bilgisayarlarda tam bir virüs taraması yapın; şifreleri temiz bir cihazdan değiştirin.
- Sitede müşterilerinizin kişisel verileri varsa (üyelik, sipariş, form kayıtları) ve bu verilerin ele geçirildiğinden şüpheleniyorsanız avukatınızla görüşün. Kişisel Verileri Koruma Kurulu’nun 2019/10 sayılı kararına göre veri sorumlusu ihlali öğrendiği andan itibaren en geç 72 saat içinde Kurul’a bildirmekle yükümlü.
Temizlik sonrasında WordPress’in önerisi, sitenin aynı sürümünü dosya transferiyle yeniden yüklemek, .htaccess, index.php, header.php, footer.php gibi sık değiştirilen dosyaları tek tek incelemek, her şey temizlendikten sonra şifreleri bir kez daha değiştirmek. Google sizi işaretlediyse Search Console’dan inceleme isteyin; Google’ın rehberine göre bu, sorunun türüne göre birkaç günden birkaç haftaya kadar sürebiliyor ve sorun devam ederken istenen inceleme uyarının kalkmasını yalnızca geciktiriyor.
Bu hafta hosting panelinize girin ve son yedeğin tarihine bakın. Tarih bir aydan eskiyse ya da yedek yalnızca aynı sunucuda duruyorsa, bugün bir tam yedek alıp kendi bilgisayarınıza ya da bulut depolamanıza indirin.
Bu yazıyı hazırlayan ekiple çalışmak isterseniz: web tasarım hizmetimiz. Kapsam, süre ve başlangıç fiyatları bu sayfada; diğer şehirler için hizmet bölgelerimize bakabilirsiniz.
Sık sorulan sorular
Güvenlik eklentisi kurmak yeterli mi?
Tek başına yeterli değil. Eklenti tarama ve uyarı konusunda yardımcı olur ama güncellenmeyen bir çekirdeği, zayıf şifreyi ya da yedeksiz bir kurulumu telafi etmez. Birden fazla güvenlik eklentisini aynı anda çalıştırmak da çakışmaya yol açabilir.
SSL sertifikası olan site hacklenmez mi?
Hacklenebilir. SSL, ziyaretçi ile site arasındaki trafiği şifreler; panel şifresinin, eklentilerin ya da sunucunun güvenliğiyle ilgili değildir.
Yedeği ne sıklıkla almalıyım?
Sitenin ne sıklıkla değiştiğine bağlı. İçeriği ayda birkaç kez değişen kurumsal bir sitede haftalık yedek çoğu zaman yeterli; her gün sipariş alan bir e-ticaret sitesinde veritabanı yedeği günlük olmalı. Yedeğin bir kopyası mutlaka sunucunun dışında dursun.
Hacklenen siteyi silip baştan kurmak daha mı iyi?
Temiz ve tarihi belli bir yedeğiniz varsa ondan dönmek çoğu zaman en hızlı yol. Yedek yoksa ya da ne zamandan beri enfekte olduğunu bilmiyorsanız, içeriği kurtarıp temiz bir kuruluma taşımak gerekebilir; bunu yaparken açığın kaynağını da bulmak gerekir, yoksa aynı yerden yeniden girilir.
Statik HTML siteler daha mı güvenli?
Sunucuda çalışan bir yönetim paneli, veritabanı ve eklenti olmadığı için saldırı yüzeyi daha küçüktür. Yine de hosting hesabının şifresi, alan adı yönetimi ve formlardan gelen veriler korunmalı.
Kaynaklar
WordPress Developer Resources, Hardening WordPress: https://developer.wordpress.org/advanced-administration/security/hardening/
WordPress.org Documentation, FAQ My site was hacked: https://wordpress.org/documentation/article/faq-my-site-was-hacked/
web.dev (Google), Help for hacked sites: https://web.dev/articles/hacked
web.dev (Google), Quarantine your site: https://web.dev/articles/quarantine-your-site
web.dev (Google), Request a review: https://web.dev/articles/request-a-review
KVKK, Kişisel Veri İhlali Bildirimi (2019/10 sayılı Kurul Kararı): https://www.kvkk.gov.tr/Icerik/5362/Veri-Ihlali-Bildirimi
Yayın tarihi:
