WordPress Güvenlik Açıkları: Sitenizi Korumak İçin 10 Adım
WordPress güvenlik açıkları çoğu zaman tek bir büyük hatadan doğmaz. Güncellenmemiş bir eklenti, kolay tahmin edilen bir yönetici şifresi veya hiç test edilmemiş bir yedek, saldırganın aradığı boşluğu açabilir. WordPress yaygın kullanıldığı için otomatik saldırı araçları siteleri düzenli olarak tarar. Sitenizin özel olarak seçilmesine gerek yoktur.
Bu yüzden güvenlik, bir eklenti kurup unutulacak bir iş değildir. Güncellemeler, erişim kontrolleri, yedekleme ve izleme, yani düzenli web sitesi bakımı, birlikte yürümelidir. Aşağıdaki 10 adım, WordPress sitenizdeki gereksiz riski azaltmak için temel bir çerçeve sunar.
Öne Çıkanlar
- WordPress core, tema ve eklentileri güncel tutmak; bilinen açıkların büyük bölümünü kapatır.
- Güçlü, benzersiz şifreler ve iki faktörlü doğrulama yönetici hesabını brute force saldırılarından korur.
- Yedek alınması yetmez; yedeğin staging ortamında geri yüklenebildiği düzenli test edilmelidir.
- SSL, güvenlik eklentisi ve WAF gerekli katmanlardır; hiçbiri tek başına tam koruma sağlamaz.
- Kişisel veri işleyen sitelerde güvenlik ihmali teknik bir sorun olmanın ötesinde KVKK riski yaratır.
WordPress Neden Bu Kadar Sık Hedef Alınıyor?
WordPress’in yaygın kullanımı, onu otomatik saldırıların sık hedeflerinden biri yapar. Botlar internetteki siteleri tarar; eski eklentileri, açık giriş sayfalarını ve zayıf hesapları bulmaya çalışır. Saldırganın işletmenizi tanıması gerekmez.
Bu saldırıların çoğu fırsatçıdır. Sitenizde eski bir eklenti sürümü, admin adlı yönetici hesabı veya kolay tahmin edilen bir şifre varsa araçlar bunu dener. Başarılı olduğunda da ziyaretçiye her zaman belirgin bir işaret vermez.
Hacklenmiş bir WordPress sitesi bazen normal çalışıyor gibi görünür. Arka planda spam e-posta gönderebilir, ziyaretçileri başka sitelere yönlendirebilir veya arama sonuçlarına zararlı sayfalar ekleyebilir. Sorun çoğu kez Google güvenlik uyarısı verdiğinde ya da hosting hesabı askıya alındığında fark edilir.
En yaygın açıklar temel ihmalden gelir
WordPress çekirdeği tek başına sorun değildir. Risk çoğu zaman çevresindeki bileşenlerden gelir:
- Güncellenmeyen tema ve eklentiler
- Kaynağı belirsiz veya kırılmış premium yazılımlar
- Zayıf yönetici parolaları
- Gereğinden fazla yönetici hesabı
- Korunmayan giriş sayfası
- Çalışıp çalışmadığı bilinmeyen yedekler
- Güvenlik uyarılarının takip edilmemesi
Nulled tema ve eklentiler özellikle risklidir. Ücretli yazılımın kırılmış sürümünü indirmek yalnızca lisans ihlali değildir. Bu dosyalarda arka kapı, yönlendirme kodu veya veri toplama betiği bulunabilir. Lisans ücretinden kısa vadede kaçınırsınız, ancak siteyi ve müşteri verilerini riske atarsınız.
1. WordPress Core, Tema ve Eklentileri Güncel Tutun
Güncellemeler yalnızca yeni özellik getirmez. Birçoğu bilinen güvenlik açıklarını kapatır. Güncellemeyi ertelemek, herkese açık biçimde duyurulmuş bir açığı sitenizde açık bırakmaktır.
Önce WordPress yönetim panelindeki şu üç alanı kontrol edin:
- WordPress core sürümü
- Aktif tema
- Aktif ve pasif eklentiler
Kullanmadığınız tema ve eklentileri devre dışı bırakmak yeterli değildir. İhtiyacınız olmayan bileşenleri tamamen kaldırın. Pasif bir eklenti de sunucuda kaldığı sürece güvenlik riski oluşturabilir.
Küçük güncellemeler ve büyük sürümler aynı değildir
Güvenlik yamaları için otomatik güncellemeler çoğu siteye uygundur. Ancak büyük WordPress sürüm geçişlerini ve kapsamlı eklenti güncellemelerini önce staging ortamında test etmelisiniz.
Staging, canlı sitenizin test için oluşturulmuş kopyasıdır. Güncellemeyi önce burada uygular, ardından şu akışları kontrol edersiniz:
- İletişim formları
- Üyelik ve giriş süreçleri
- Ödeme adımları
- Sipariş e-postaları
- Özel entegrasyonlar
- Mobil görünüm
Canlı sitede doğrudan güncelleme yapmak hızlı görünür. Ancak sorun çıkarsa satışlar, formlar ve müşteri iletişimi aynı anda etkilenebilir.
2. Yönetici Hesaplarını Güçlendirin
Birçok WordPress saldırısı teknik olarak karmaşık değildir. Saldırgan, binlerce şifre kombinasyonunu sırayla deneyerek yönetim paneline girmeye çalışır. Buna brute force saldırısı denir.
İlk savunma hattınız kullanıcı adı ve şifredir.
“admin” kullanıcı adını kullanmayın
admin, saldırganların ilk denediği kullanıcı adıdır. Bu adı kullanmak, giriş bilgilerinin yarısını tahmin edilebilir hale getirir.
Mevcut yönetici hesabınız admin ise yeni bir yönetici hesabı oluşturun. Yazıların yazarlığını yeni hesaba aktarın ve eski hesabı silin. Yeni kullanıcı adı işletme adı, alan adı veya kamuya açık sosyal medya hesabınızla da aynı olmamalıdır.
Her hesap için ayrı ve uzun parola kullanın
Yönetici şifresi en az 16 karakter olmalı; büyük harf, küçük harf, rakam ve sembol içermelidir. Daha önemlisi, aynı şifreyi başka hizmetlerde kullanmamalısınız.
Şifre yöneticileri bunun için pratik bir çözümdür. Benzersiz ve uzun parolaları ezberlemek yerine araç içinde saklarsınız. Böylece başka bir platformdaki veri sızıntısı WordPress hesabınızı doğrudan riske atmaz.
İki faktörlü doğrulama ekleyin
İki faktörlü kimlik doğrulama, şifre çalınsa bile girişte ikinci bir doğrulama kodu ister. Bu kod çoğunlukla telefon uygulamasında üretilir.
Wordfence Security veya Two Factor ile yönetici hesaplarında 2FA etkinleştirilebilir. Yönetim paneline birden fazla kişinin eriştiği sitelerde bu ayar isteğe bağlı değil, standart olmalıdır.
3. Giriş Sayfasını ve Brute Force Denemelerini Sınırlayın
WordPress giriş adresleri çoğu sitede tahmin edilebilir: /wp-admin ve /wp-login.php. Bu adresleri bilen botlar, sürekli kullanıcı adı ve şifre denemesi yapar.
Giriş URL’sini değiştirmek tek başına güvenlik çözümü değildir. Yine de otomatik denemelerin önemli bölümünü azaltan ek bir katmandır. WPS Hide Login gibi araçlarla giriş adresini değiştirebilirsiniz.
Başarısız giriş denemelerini sınırlandırın
Bir saldırganın binlerce şifre denemesi yapmasına izin vermek gereksiz risktir. Güvenlik eklentinizde başarısız giriş denemeleri için limit belirleyin.
Örneğin birkaç yanlış denemeden sonra ilgili IP adresini geçici olarak engellemek, brute force saldırılarını yavaşlatır. Ayarı, kullanıcı deneyimini bozmadan saldırganı durduracak şekilde yapılandırın.
IP kısıtlaması her işletme için uygun değildir
Sabit ofis IP adresi kullanan küçük ekipler, yönetim paneline yalnızca belirli IP’lerden erişim izni verebilir. Bu güçlü bir katmandır. Ancak uzaktan çalışan ekiplerde ve değişken internet bağlantılarında operasyonel sorun çıkarabilir.
Sabit IP yoksa 2FA, güçlü parola politikası ve giriş denemesi sınırı daha uygulanabilir seçeneklerdir.
4. SSL ve HTTPS’i Zorunlu Hale Getirin
SSL sertifikası, ziyaretçinin tarayıcısı ile sunucu arasındaki veri aktarımını şifreler. Form gönderimleri, giriş bilgileri ve müşteri verileri HTTP üzerinden açık biçimde taşınmamalıdır.
HTTPS kullanmayan siteler tarayıcıda “Güvensiz” uyarısı alabilir. Bu yalnızca teknik bir mesele değildir. Ziyaretçi, iletişim formunu doldurmadan veya ödeme sayfasına geçmeden siteden ayrılabilir.
SSL gerekli, ama yeterli değildir
SSL siteyi bütünüyle güvenli hale getirmez. Sunucudaki zararlı dosyaları, çalınmış yönetici şifresini veya açık bir eklentiyi çözmez. Yine de güvenlik temelinin zorunlu parçasıdır.
Çoğu hosting sağlayıcısı Let’s Encrypt sertifikası sunar. Bu, küçük ve orta ölçekli işletme siteleri için yeterli olabilir. Sertifika aktif olmalı ve sitenin tüm sayfaları HTTPS üzerinden açılmalıdır.
Mixed content sorununu kontrol edin
HTTPS’e geçtikten sonra bazı görseller, CSS dosyaları veya betikler hâlâ HTTP üzerinden yüklenirse tarayıcı mixed content uyarısı gösterebilir. Bu hem güvenlik hem de görünüm sorunu çıkarır.
Geçişten sonra sitenizi farklı sayfalarda kontrol edin. Gerekirse veritabanındaki eski HTTP bağlantılarını dikkatle HTTPS olarak güncelleyin. Bu işlemden önce yedek almak şarttır.
5. Tek Bir Güvenlik Eklentisini Doğru Yapılandırın
Güvenlik eklentisi, görünmeyen riskleri takip etmek için yararlıdır. Ancak aynı anda birden fazla ağır güvenlik eklentisi kurmak çözüm değildir. Çakışma yaratabilir, sunucuyu yorabilir ve sorunun kaynağını belirsizleştirebilir.
Wordfence ve Sucuri gibi araçlar farklı yöntemler sunar. Marka değil, seçtiğiniz aracı gerçekten yapılandırmanız önemlidir.
Bir güvenlik eklentisinde şu özellikler etkin olmalıdır:
- Brute force koruması
- Kötü amaçlı yazılım taraması
- Dosya değişikliği izleme
- Yönetici e-posta uyarıları
- Güvenlik duvarı kuralları
- Şüpheli IP engelleme
WAF saldırıyı sitenize ulaşmadan filtreler
Web Application Firewall (WAF), kötü niyetli trafiği uygulamaya ulaşmadan filtrelemeye çalışır. SQL injection ve XSS gibi yaygın saldırı türlerine karşı ek savunma sağlar.
WAF, güncel olmayan bir eklentinin yerine geçmez. Açığı bulunan eklentiyi kullanmaya devam edip yalnızca güvenlik duvarına güvenmek doğru değildir. Önce açığı kapatın, ardından trafiği filtreleyin.
Güvenlik eklentisi sorunları sizin yerinize çözmez. Sorunları daha erken görmenizi ve erişimi daha sıkı kontrol etmenizi sağlar.
WordPress sitenizin kurulum mimarisi bu tür araçlar kadar önemlidir. Özel WordPress geliştirme yaklaşımında gereksiz eklenti yükü, page builder bağımlılığı ve belirsiz bakım süreçleri baştan azaltılmalıdır.
6. Dosya İzinlerini ve Kritik Dosyaları Koruyun
WordPress dosya izinleri, sunucuda hangi kullanıcının hangi dosyayı okuyabileceğini veya değiştirebileceğini belirler. Gereğinden geniş izinler, saldırganın dosyaları değiştirmesini kolaylaştırabilir.
Genel yapılandırmada klasörler için 755, dosyalar için 644 ve wp-config.php için daha sınırlı izinler tercih edilir. Ancak hosting altyapıları farklı davranabilir. Bu nedenle değişiklikten önce mevcut yapılandırmayı not alın ve sitede test yapın.
wp-config.php kritik bilgileri içerir
wp-config.php, veritabanı bağlantı bilgileri ve WordPress kurulum ayarları gibi hassas verileri içerir. Bu dosyanın web üzerinden erişilememesi gerekir.
Hosting düzeyindeki koruma, doğru dosya izinleri ve güvenlik duvarı burada birlikte çalışır. Rastgele .htaccess kuralı eklemek yerine, sunucu yapılandırmanızın Apache mi Nginx mi olduğundan emin olun. Yanlış kural sitenizi erişilemez hale getirebilir.
XML-RPC kullanımını değerlendirin
XML-RPC, WordPress’in eski uzak erişim yöntemlerinden biridir. Bazı eklentiler ve uygulamalar buna hâlâ ihtiyaç duyabilir. Kullanılmıyorsa erişimi sınırlamak veya devre dışı bırakmak saldırı yüzeyini azaltabilir.
Her sitede XML-RPC’yi kapatmak doğru yaklaşım değildir. Önce sitenizin mobil uygulama, yayınlama aracı veya üçüncü taraf entegrasyonu kullanıp kullanmadığını kontrol edin.
7. Düzenli ve Geri Yüklenebilir Yedek Alın
Yedek, güvenlik planının son hattıdır. Site ele geçirildiğinde, hatalı güncelleme yapıldığında veya sunucu sorunu yaşandığında temiz bir yedeğe dönebilmeniz gerekir.
Ancak yedek almakla yedeği geri yükleyebilmek aynı şey değildir.
3-2-1 yaklaşımını kullanın
Pratik bir yedekleme düzeni şu mantıkla çalışır:
- Verinin birden fazla kopyası bulunur.
- Kopyalar farklı ortamlarda tutulur.
- En az bir kopya sunucu dışında saklanır.
Yedeği yalnızca aynı hosting hesabında tutmak yeterli değildir. Hosting hesabına erişimi kaybederseniz yedek de kaybolabilir. Bu nedenle bulut depolama veya ayrı bir sunucu kullanmak önemlidir.
Yedekleme sıklığını sitenizin ritmine göre belirleyin
Her gün sipariş alan bir WooCommerce mağazasıyla yılda birkaç kez güncellenen kurumsal site aynı yedekleme planını kullanmamalıdır.
E-ticaret sitelerinde günlük yedek çoğu zaman asgari gereksinimdir. Stok, sipariş ve müşteri verileri değişiyorsa daha sık yedekleme gerekebilir. Daha durağan sitelerde haftalık yedek yeterli olabilir, ancak önemli güncellemelerden önce manuel yedek alınmalıdır.
Restore testi yapın
Yedeğin çalışıp çalışmadığını kriz anında öğrenmek istemezsiniz. Belirli aralıklarla staging ortamında geri yükleme testi yapın.
Testte yalnızca ana sayfanın açılması yeterli değildir. Formları, yönetici girişini, medya dosyalarını ve kritik işlevleri de kontrol edin. Yedeğiniz eksikse bunu erken fark etmek, gerçek saldırı sırasında saatler kaybetmekten iyidir.
8. Hosting Güvenliğini Ayrı Bir Konu Olarak Ele Alın
WordPress güvenliği yalnızca yönetim panelindeki ayarlardan ibaret değildir. Sunucu tarafı zayıfsa en iyi eklenti bile sınırlı kalır.
Paylaşımlı hosting planlarında siteler arasındaki izolasyon yetersiz olabilir. Aynı sunucudaki başka bir sitenin sorunu, yanlış yapılandırılmış bir ortamda sizi de etkileyebilir.
Hosting sağlayıcınızdan şu konularda net yanıt isteyin:
- Siteler arası izolasyon nasıl sağlanıyor?
- Sunucu güncellemeleri ne sıklıkla yapılıyor?
- Kötü amaçlı yazılım taraması var mı?
- Yedekler nerede ve ne kadar süre tutuluyor?
- Güvenlik ihlalinde destek süreci nasıl işliyor?
- Giriş ve erişim günlüklerine ulaşabiliyor musunuz?
Ucuz planla doğru plan arasındaki fark çoğu zaman disk alanı değildir. Fark; izleme, yedekleme, izolasyon ve sorun anındaki müdahalenin kalitesidir.
Performans da burada devreye girer. Gereksiz kod, ağır page builder yapısı ve kontrolsüz eklenti sayısı yalnızca siteyi yavaşlatmaz; bakım ve güvenlik takibini de zorlaştırır. Daha hafif projelerde Astro web geliştirme, WordPress’in gerekli olmadığı durumlarda saldırı yüzeyini azaltan bir seçenek olabilir.
9. Kişisel Veriyi İşleyen Sitelerde KVKK Riskini Unutmayın
İletişim formu, üyelik alanı, teklif talep formu veya e-ticaret siparişi olan bir site kişisel veri işleyebilir. Ad, e-posta adresi, telefon numarası, teslimat adresi ve sipariş bilgileri buna dahildir.
Bu yüzden WordPress güvenliği yalnızca “site bozulmasın” meselesi değildir. Verilere yetkisiz erişim ihtimali, işletmeniz için hukuki ve itibari risk yaratabilir.
Ödeme altyapısı tüm sorumluluğu ortadan kaldırmaz
iyzico ve PayTR gibi ödeme sağlayıcıları kart verilerini kendi sistemlerinde işleyebilir. Bu, kart numarasını doğrudan sitenizde tutmamanız açısından önemlidir.
Yine de sipariş bilgileri, müşteri iletişim verileri ve adresler sitenizde veya bağlı sistemlerde kalabilir. Bu bilgileri korumak için erişim yetkilerini sınırlamak, güncel sistem kullanmak ve yedekleri korumak gerekir.
İhlal anında ne yapılacağını önceden belirleyin
Siteniz hacklendiğinde ilk saatler önemlidir. Panikle rastgele eklentileri silmek veya dosyaları değiştirmek, kanıtları ve kurtarma olasılığını zayıflatabilir.
Önceden yazılmış bir planınız olmalıdır:
- Hosting ve teknik sorumluya kim ulaşacak?
- Site geçici olarak nasıl izole edilecek?
- Son temiz yedek nerede?
- Hangi hesapların şifreleri değiştirilecek?
- Kişisel veri etkilenmiş olabilir mi?
- Gerekli bildirim ve iletişim süreci kim tarafından yürütülecek?
Bu plan saldırıyı engellemez. Ancak ne yapacağınız konusundaki belirsizliği azaltır.
10. Sitenizi Sürekli İzleyin
Güvenlik, yılda bir kez bakılacak kontrol listesi değildir. Güncelleme, yedekleme ve izleme düzenli sürmelidir.
Uptime izleme araçları, sitenize erişilemediğinde erken uyarı verebilir. Google Search Console ise zararlı yazılım, güvenlik sorunu veya şüpheli içerik algıladığında önemli sinyaller sağlar.
İzlenmesi gereken sinyaller
Aşağıdaki durumları düzenli olarak takip edin:
- Yönetici hesaplarında yeni veya tanımadığınız kullanıcılar
- Açıklanamayan dosya değişiklikleri
- Başarısız giriş denemelerinde artış
- Hosting kaynak kullanımında ani yükseliş
- Google Search Console güvenlik uyarıları
- Bilinmeyen yönlendirmeler
- Ziyaretçilerden gelen tarayıcı uyarısı şikâyetleri
- Beklenmedik e-posta gönderimleri
Bir saldırı her zaman sitenin tamamen kapanmasına neden olmaz. Bazen ilk işaret, arama sonuçlarında anlamsız sayfaların görünmesi veya müşteriden gelen tek bir uyarıdır.
WordPress Güvenlik Kontrol Listesi
Aşağıdaki listeyi siteniz için kontrol edin:
- WordPress core güncel.
- Aktif tema ve eklentiler güncel.
- Kullanılmayan tema ve eklentiler silindi.
-
adminadlı yönetici hesabı kullanılmıyor. - Her yönetici hesabında benzersiz ve güçlü parola var.
- Yönetici hesaplarında 2FA aktif.
- Başarısız giriş denemeleri sınırlandırıldı.
- Giriş URL’si ve yönetici erişimi gözden geçirildi.
- SSL aktif ve tüm site HTTPS üzerinden açılıyor.
- Mixed content hataları kontrol edildi.
- Tek bir güvenlik eklentisi yapılandırıldı.
- WAF ve kötü amaçlı yazılım taraması aktif.
- Kritik dosya izinleri kontrol edildi.
- XML-RPC kullanımı değerlendirildi.
- Otomatik yedekleme kurulmuş durumda.
- Yedeklerin sunucu dışında bir kopyası var.
- Yedekten geri yükleme testi yapıldı.
- Uptime ve Search Console uyarıları izleniyor.
- Kişisel veri ihlali durumunda izlenecek süreç yazılı.
Sık Sorulan Sorular
WordPress sitem hacklenirse önce ne yapmalıyım?
Önce sitenin verdiği zararı durdurun. Hosting sağlayıcınızla iletişime geçin, erişimi geçici olarak sınırlandırın ve temiz bir yedek olup olmadığını kontrol edin. Ardından yönetici hesaplarının, hosting erişimlerinin ve bağlı servislerin parolalarını değiştirin.
WordPress güvenlik eklentisi şart mı?
Teknik olarak zorunlu değildir. Ancak brute force koruması, dosya izleme, tarama ve uyarılar için pratik bir katman sağlar. Önemli olan eklentinin kurulmuş olması değil, doğru yapılandırılmasıdır.
SSL sertifikası WordPress’i tamamen korur mu?
Hayır. SSL, tarayıcı ile sunucu arasındaki veri aktarımını şifreler. Güncel olmayan eklentileri, zayıf şifreleri veya sunucu tarafındaki zararlı yazılımları engellemez.
WordPress güncellemesi siteyi bozabilir mi?
Büyük sürüm güncellemeleri veya eski eklentiler uyumsuzluk çıkarabilir. Bu nedenle staging ortamında test yapılmalıdır. Güncelleme korkusuyla sistemi yıllarca eski halde bırakmak ise daha büyük güvenlik riski yaratır.
Nulled eklenti ve tema kullanmak neden risklidir?
Kaynağı belirsiz kırılmış yazılımlar zararlı kod içerebilir. Bu kodlar spam, yönlendirme, veri sızıntısı veya yönetici erişimi gibi sorunlara yol açabilir. Lisans maliyetinden kaçınmak için alınan risk, sitenin tamamına mal olabilir.
E-ticaret sitelerinde güvenlik neden daha kritik?
E-ticaret siteleri sipariş, müşteri ve adres verisi işler. Ayrıca ödeme, kargo ve müşteri iletişim sistemlerine bağlıdır. Bir açık, yalnızca mağazanın kapanmasına değil, müşteri güveninin kaybolmasına da yol açabilir.
Güvenlik Kurulum Değil, Bakım Disiplinidir
WordPress güvenliği bir kez tamamlanıp kapanacak görev değildir. Yeni açıklar bulunur, eklentiler güncellenir, çalışanların erişimleri değişir ve sitenizin ihtiyaçları artar. Güvenli kalmak için bu değişiklikleri düzenli olarak takip etmeniz gerekir.
İyi bir güvenlik yaklaşımının karmaşık olması gerekmez. Güncel yazılım, sınırlı erişim, test edilmiş yedekler ve takip edilen uyarılar çoğu işletmenin riskini ciddi biçimde azaltır.
WordPress sitenizdeki güvenlik ve bakım kör noktalarını kapatın.
Designodin’de WordPress kurulumları page builder bağımlılığı olmadan, net kapsamla ve kodun tam sahipliğiyle hazırlanır. Mevcut sitenizin yapılandırmasını değerlendirmek veya yeni projeniz için yazılı teklif almak üzere bize ulaşın.