WordPress, dünyada en çok kullanılan içerik yönetim sistemi olduğu için en çok hedef alınan sistemdir de. Ama saldırıların büyük bölümü sistemin kendisindeki bir açıktan gelmez — üç bilinen yoldan gelir ve üçü de kapatılabilir.
Yol 1: Eklentiler ve temalar
İstismar edilen açıkların ezici çoğunluğu çekirdek yazılımda değil, üçüncü taraf eklentilerdedir.
Nedeni yapısaldır. Çekirdek, geniş bir ekip tarafından geliştirilir ve güvenlik güncellemeleri hızlı çıkar. Eklentilerin çoğu ise küçük ekiplerin ya da tek kişinin işidir; bazıları yıllardır güncellenmiyordur.
Üç kural, bu yüzeyin büyük bölümünü kapatır.
Kullanılmayanı silin, devre dışı bırakmakla yetinmeyin. Devre dışı bir eklentinin dosyaları hâlâ sunucudadır ve bazı açıklar doğrudan dosyaya erişimle istismar edilir.
Terk edilmiş eklentileri değiştirin. Uzun süredir güncelleme almayan bir eklenti, bilinmeyen değil bilinen bir risktir.
Sayıyı düşük tutun. Her eklenti bir bağımlılıktır; envanterin nasıl tutulacağı yazılım envanteri yazısındaki mantıkla aynıdır.
Yol 2: Giriş noktası
Yönetim girişi, sürekli otomatik denemelerin hedefidir. Site yayına alındığı gün başlar ve hiç durmaz.
Dört önlem etkilidir ve sıralaması önemlidir.
Çok etkenli doğrulama. Tek başına en yüksek getirili adımdır; parola sızsa da giriş tamamlanmaz. Gerekçesi MFA nedir yazısında.
Hız sınırı. Deneme sayısını sınırlamak, kaba kuvveti pratikte imkânsız kılar. Bunu önde yapmak, uygulamaya hiç yük bindirmemek anlamına gelir.
Yönetici hesabının adı tahmin edilebilir olmamalı. Öntanımlı adla bırakılan bir hesap, denemelerin yarısını hazır hedef yapar.
Yönetim paneline erişimi kısıtlayın. Yalnızca belirli adreslerden erişime izin vermek, mümkün olduğunda en etkili önlemdir.
Savunma katmanlarının genel sırası uzak erişime kaba kuvvet yazısında.
Yol 3: Dosya izinleri ve yükleme dizini
Üçüncü yol, sistemin kendisinden çok sunucu yapılandırmasıyla ilgilidir — ve en ciddi sonucu üretir.
Yükleme dizininde betik çalıştırma açıksa, bir dosya yükleme açığı doğrudan sunucuda kod çalıştırmaya dönüşür. Bu dizinde kod çalıştırmayı kapatmak, tek satırlık bir yapılandırmadır ve etkisi büyüktür.
İkinci kalem, dosya sahipliğidir. Web sunucusunun çalıştığı kullanıcı, tüm site dosyalarına yazma yetkisine sahipse, bir açık tüm siteyi değiştirmeye açık hâle gelir.
Sağlıklı düzen, yazma yetkisinin yalnızca gerçekten gereken dizinlerle sınırlı olmasıdır. İzin mantığının temeli Linux dosya izinleri yazısında.
Üçüncü kalem, yapılandırma dosyasıdır: veritabanı parolasını içeren dosya, web kökünden erişilebilir olmamalıdır.
Güncelleme disiplini
Otomatik güncelleme, WordPress için tartışmalı bir konudur ve doğru yanıt ortadadır.
Güvenlik güncellemeleri otomatik olmalıdır. Bir açık duyurulduğunda istismar denemeleri saatler içinde başlar; elle yamalama bu hıza yetişmez.
Büyük sürüm geçişleri ise önce sınanmalıdır. Bir tema ya da eklenti uyumsuzluğu, siteyi bozabilir.
Bu ayrımı kurabilmek için bir hazırlık ortamı gerekir. Küçük sitelerde bu abartılı görünür; ama tek gerçek alternatif, canlıda denemektir.
Yama önceliklendirmenin genel ölçütü yama önceliklendirme yazısında.
Yedek: asıl güvenlik ağı
Sertleştirmenin tamamı yapılsa da bir gün bir açık çıkacaktır. O gün elinizde olması gereken tek şey, geri dönebileceğiniz temiz bir kopyadır.
Üç şart aranır.
Dosyalar ve veritabanı birlikte yedeklenmelidir; biri olmadan diğeri işe yaramaz. Veritabanı tarafındaki incelikler veritabanı yedeklemesi: dosyayı kopyalamak yetmez yazısında.
Yedek başka bir yerde durmalıdır. Aynı sunucudaki yedek, sunucu ele geçirildiğinde de ele geçirilir.
Geri yükleme denenmiş olmalıdır. Hiç denenmemiş bir yedek bir varsayımdır; gerekçesi yedekleme raporunu okumak yazısında.
Ele geçirilmiş bir siteyi temizlemeye çalışmak yerine temiz yedekten dönmek neredeyse her zaman daha hızlı ve daha güvenilirdir.
Öndeki katman
Bir ters vekil ya da CDN önde durduğunda, yukarıdaki önlemlerin birkaçı tek yerde çözülür: hız sınırlama, boyut sınırı, bilinen kötücül desenlerin süzülmesi ve yönetim paneline erişim kısıtı.
Ayrıca kaynak sunucunun adresi gizlenir; doğrudan hedef alınması zorlaşır. Yaklaşım CDN nedir ve ters vekil nedir yazılarında.
Ele geçirildiğini nasıl anlarsınız
Belirtiler genelde ziyaretçiden ya da arama motorundan gelir; sunucu tarafında sessizdir.
Dört işaret sık görülür. Site, arama sonuçlarında alakasız anahtar kelimelerle çıkmaya başlar. Sayfa kaynağında tanımadığınız betikler ya da gizlenmiş bağlantılar belirir. Yükleme dizininde beklenmedik dosyalar vardır. Ve giden posta hacmi açıklanamayan biçimde artmıştır.
Sonuncusu, alan adınızın kara listeye girmesine yol açar; etkisi e-posta neden spam’e düşer yazısında.
Kısaca
Saldırılar çekirdekten değil, eklentilerden, giriş noktasından ve dosya izinlerinden gelir.
Kullanılmayan eklentileri silin, girişe ikinci etken ve hız sınırı ekleyin, yükleme dizininde kod çalıştırmayı kapatın. Ve bunların hepsini yapsanız bile, başka bir yerde duran ve geri yüklemesi denenmiş bir yedeğiniz olsun.