WordPress 8 dk okuma

WordPress Güvenlik Önlemleri: Güncelleme, İki Aşamalı Doğrulama ve wp-config

WordPress güvenlik önlemleri önem sırasıyla: otomatik güncellemeler, admin kullanıcı adı ve güçlü parola, iki aşamalı doğrulama, korsan tema uyarısı, wp-config.php sıkılaştırma, dosya izinleri, XML-RPC, Site sağlığı ve yedek.

WordPress Güvenlik Önlemleri: Güncelleme, İki Aşamalı Doğrulama ve wp-config
AnkSOFT
Yayıncı

WordPress sitelerinin büyük çoğunluğu WordPress'in kendisindeki bir açık yüzünden değil; güncellenmemiş bir eklenti, tahmin edilen bir parola ya da korsan bir tema yüzünden ele geçirilir. İyi haber şu ki bu risklerin çoğu birkaç ayarla kapatılabilir. Bu rehberde WordPress güvenlik önlemlerini önem sırasına göre anlatıyoruz: güncellemeler, kullanıcı adı ve parola, iki aşamalı doğrulama, wp-config.php sıkılaştırma, dosya izinleri, XML-RPC, yedek ve Site sağlığı ekranı. Her adım, kod bilmeyen bir site sahibinin de uygulayabileceği şekilde yazıldı.

WordPress ekranları WordPress 7.1.4 Türkçe sürümünde, tarayıcıda çalışan resmi WordPress deneme ortamında alınmıştır.


1. Güncellemeleri Aksatmayın

Bilinen bir güvenlik açığı yayımlandıktan sonra, güncellenmemiş siteleri tarayan otomatik saldırılar genellikle birkaç gün içinde başlar. Bu yüzden en etkili önlem güncel kalmaktır.

  • Başlangıç > Güncellemeler sayfası WordPress çekirdeği, eklentiler, temalar ve çeviriler için bekleyen güncellemeleri tek ekranda gösterir.
  • Bu sayfada çekirdeğin otomatik güncellenme tercihini görürsünüz. Yeni kurulumlarda WordPress her yeni sürümle kendini güncelleyecek şekilde gelir; yalnızca bakım ve güvenlik sürümlerini otomatik almak isterseniz aynı ekrandaki bağlantıyı kullanabilirsiniz. Güvenlik sürümlerinin otomatik güncellenmesini kapatmayın.
  • Büyük bir sürüm güncellemesinden önce mutlaka yedek alın.

WordPress Güncellemeler sayfası: geçerli sürüm ve otomatik güncelleme tercihi

Eklentiler sayfasında her eklentinin yanında Otomatik güncellemeyi aç bağlantısı bulunur. Düzenli bakım alan, güvendiğiniz eklentilerde bunu açın. Kullanmadığınız eklentileri yalnızca etkisizleştirmekle kalmayın, silin: etkisiz eklentinin dosyaları sunucuda durmaya devam eder ve içindeki bir açık yine kullanılabilir.

WordPress Eklentiler sayfasında Otomatik güncelleme sütunu

PHP sürümü de güncellemenin parçasıdır. PHP 7.4 ve 8.0 resmi destek süresini doldurmuştur ve güvenlik yaması almaz. cPanel'de MultiPHP Yöneticisi'nden PHP 8.3 veya üzerini seçin; adımlar WordPress kurulumu rehberimizde.


2. Kullanıcı Adı, Parola ve Roller

"admin" kullanıcı adını kullanmayın

Otomatik parola deneme saldırıları ilk olarak admin, administrator ve alan adınızla aynı kullanıcı adlarını dener. Kullanıcı adı panelden değiştirilemediği için şu yolu izleyin:

  1. Kullanıcılar > Kullanıcı ekle ile tahmin edilemeyen bir kullanıcı adına sahip yeni bir hesap açın ve rolünü Yönetici yapın.
  2. Çıkış yapıp yeni hesapla giriş yapın.
  3. Kullanıcılar listesinde eski admin hesabını silin. WordPress, o hesaba ait içerikleri ne yapacağınızı sorar; içerikleri silme seçeneğini değil, tüm içeriği başka bir kullanıcıya atama seçeneğini işaretleyip yeni hesabınızı seçin.

WordPress Kullanıcılar listesinde tahmin edilebilir admin kullanıcı adı

Güçlü ve benzersiz parola

Kullanıcılar > Profil > Yeni parola ayarla düğmesi güçlü bir parola üretir. Bu parolayı başka hiçbir sitede kullanmayın ve bir parola yöneticisinde saklayın. Ele geçirilen başka bir sitedeki parolanın WordPress panelinizde denenmesi, en sık görülen giriş yollarından biridir. Parola değiştirme adımları WordPress şifre sıfırlama rehberimizde.

En az yetki ilkesi

Yazı ekleyen birine Yönetici değil Yazar veya Editör rolü verin. Ayrılan çalışanların, işi biten ajansların ve tanımadığınız hesapların kullanıcılarını silin. Ajansınıza geçici erişim verdiyseniz iş bitince hesabı kaldırın.


3. İki Aşamalı Doğrulama

Parolanız ele geçse bile, telefonunuzdaki doğrulayıcı uygulamanın ürettiği altı haneli kod olmadan giriş yapılamaz. WordPress çekirdeğinde iki aşamalı doğrulama yoktur; bunun için WordPress'in kendi katkıcıları tarafından geliştirilen ücretsiz Two Factor eklentisini kullanabilirsiniz:

  1. Eklentiler > Eklenti ekle sayfasında "Two Factor" aratıp kurun ve etkinleştirin.
  2. Kullanıcılar > Profil sayfasında Two-Factor Options bölümüne inin.
  3. Enable Authenticator App kutusunu işaretleyin.
  4. Telefonunuzdaki doğrulayıcı uygulamayla ekrandaki QR kodu okutun.
  5. Uygulamanın gösterdiği kodu Authentication Code alanına yazıp Verify'a tıklayın.
  6. Enable Recovery Codes ile kurtarma kodları üretin ve bunları telefonunuzdan ayrı bir yerde saklayın. Telefonunuzu kaybederseniz bu kodlarla girersiniz.
  7. Profili güncelle ile kaydedin.

Two Factor eklentisi: doğrulayıcı uygulama, QR kod, doğrulama kodu ve kurtarma kodları

Eklentinin arayüzü şu an İngilizcedir. Sitede birden çok yönetici varsa her birinin bu ayarı kendi profilinden yapması gerekir.

Mobil uygulama veya harici bir hizmet sitenize bağlanacaksa ana parolanızı vermeyin; Profil sayfasındaki Uygulama parolaları bölümünden o hizmete özel, istediğiniz an iptal edebileceğiniz bir parola oluşturun.


4. Korsan (Nulled) Tema ve Eklenti Kullanmayın

Ücretli tema ve eklentilerin "ücretsiz", "full", "pro free" veya "kırılmış" adıyla dağıtılan kopyaları, WordPress sitelerine zararlı kod bulaşmasının en yaygın yollarından biridir. Bu dosyalara çoğunlukla arka kapı, gizli yönetici hesabı oluşturan kod ya da sitenize spam bağlantıları ekleyen betikler yerleştirilir. Güncelleme alamadıkları için zamanla yeni açıklara da kapalı olamazlar. Üstelik lisanssız ticari yazılım kullanmak telif hakkı ihlalidir.

Tema ve eklentileri yalnızca wordpress.org dizininden ya da geliştiricinin kendi sitesinden lisans satın alarak indirin. Bir eklentiyi kurmadan önce dizindeki sayfasında son güncelleme tarihine, etkin kurulum sayısına ve test edildiği WordPress sürümüne bakın; bir yıldan uzun süredir güncellenmeyen eklentilerden kaçının.


5. wp-config.php Sıkılaştırma

Aşağıdaki satırları cPanel Dosya Yöneticisi ile wp-config.php dosyasına, /* Hepsi bu kadar. Mutlu bloglamalar! */ yorumundan önce ekleyin:

define( 'DISALLOW_FILE_EDIT', true );
define( 'FORCE_SSL_ADMIN', true );
define( 'WP_DEBUG', false );
  • DISALLOW_FILE_EDIT: Paneldeki tema ve eklenti dosya düzenleyicisini kapatır. Panelinize giren biri tek tıkla PHP kodu ekleyemez.
  • FORCE_SSL_ADMIN: Giriş ve yönetim paneli her zaman HTTPS üzerinden açılır. SSL sertifikanız etkin değilse bu satırı eklemeyin; önce cPanel SSL kurulumunu tamamlayın.
  • WP_DEBUG: Canlı sitede kapalı olmalı. Hata ayıklama gerektiğinde nasıl güvenli açılacağı kritik hata rehberimizde.

wp-config.php güvenlik sıkılaştırma satırları

Ayrıca:

  • Güvenlik anahtarları: Dosyadaki sekiz anahtar satırı boş ya da örnek değerde kalmamalı. api.wordpress.org/secret-key/1.1/salt adresinden yenilerini alıp eski satırlarla değiştirin. Anahtarları değiştirmek açık olan bütün oturumları kapatır; hesabınızın ele geçirildiğinden şüphelendiğinizde de bunu yapın.
  • Tablo öneki: Yeni kurulumlarda wp_ yerine farklı bir önek kullanın. Var olan bir sitede öneki değiştirmek veritabanında birden çok tabloyu ve ayarı etkiler; deneyiminiz yoksa çalışan bir sitede bu işlemi yapmayın.

6. Dosya İzinleri

WordPress'in önerdiği izinler şunlardır:

Öğe İzin
Klasörler 755
Dosyalar 644
wp-config.php 440 veya 400

cPanel Dosya Yöneticisi'nde bir dosyayı seçip İzinler düğmesiyle değiştirebilirsiniz. Hiçbir dosya veya klasöre 777 izni vermeyin; bu izin sunucudaki herkesin dosyayı değiştirebilmesi demektir. Bir eklenti 777 istiyorsa o eklentiyi kullanmayın.


7. Giriş Sayfasını ve XML-RPC'yi Koruyun

  • Başarısız giriş sınırı: Kısa sürede çok sayıda yanlış parola deneyen IP adreslerini engellemek parola deneme saldırılarını durdurur. Barındırma firmanızın sunucu tarafı güvenlik duvarı bunu yapıyorsa ek bir eklentiye gerek kalmayabilir; yapmıyorsa giriş denemelerini sınırlayan bir güvenlik eklentisi kurun. AnkSOFT web hosting sunucularında sunucu tarafında zararlı yazılım taraması ve web uygulama güvenlik duvarı çalışır.
  • XML-RPC: xmlrpc.php dosyası, eski uzaktan yayın araçları için vardır ve tek istekte çok sayıda parola denemeye izin verdiği için saldırganlarca sık kullanılır. WordPress mobil uygulaması, uzaktan yayın aracı veya bu dosyayı kullanan bir eklentiniz yoksa sitenizin kök klasöründeki .htaccess dosyasına şunu ekleyerek kapatabilirsiniz:
<Files xmlrpc.php>
Require all denied
</Files>

Ekledikten sonra sitenizin ve kullandığınız entegrasyonların çalıştığını kontrol edin. Sorun çıkarsa satırları silmeniz yeterlidir.


8. Site Sağlığı Ekranını Düzenli Kontrol Edin

Araçlar > Site sağlığı sayfası WordPress'in kendi denetimidir. Güvenlik etiketli maddeler önceliklidir. Aşağıdaki örnekte WordPress, hata günlüğünün herkesin indirebileceği bir dosyaya yazıldığını ve etkin olmayan eklentilerin silinmesi gerektiğini söylüyor.

WordPress Site sağlığı ekranında güvenlik etiketli ciddi sorun ve öneriler

Sık görülen güvenlik maddeleri ve çözümleri:

  • "Siteniz, hataları herkese açık olabilecek bir dosyaya kaydedecek şekilde ayarlanmış": wp-config.php dosyasında WP_DEBUG_LOG açık kalmıştır. Kapatın ve wp-content/debug.log dosyasını silin.
  • "Etkin olmayan eklentileri kaldırmalısınız": Kullanmadığınız eklentileri silin.
  • "Siteniz HTTPS kullanmıyor": SSL sertifikanızı etkinleştirip Ayarlar > Genel'deki adresleri https:// yapın.
  • "Eski PHP sürümü": MultiPHP Yöneticisi'nden güncel sürüme geçin.

9. Yedek: Son Savunma Hattı

Hiçbir önlem yüzde yüz değildir. Saldırı, hatalı bir güncelleme veya yanlışlıkla silinen bir içerik karşısında sizi kurtaracak olan, sunucunun dışında saklanan güncel bir yedektir. AnkSOFT altyapı güvenliği için hosting sunucularının düzenli harici yedeğini alır, ancak bu bir taahhüt ya da geri yükleme garantisi değildir; sitenizin yedeğini almak ve saklamak sizin sorumluluğunuzdadır. Adım adım yöntem: WordPress yedek alma ve geri yükleme rehberi.


Siteniz Ele Geçirildiyse

  1. Önce mevcut durumun yedeğini alın (inceleme için).
  2. Tüm yönetici parolalarını, veritabanı parolasını ve cPanel parolasını değiştirin; güvenlik anahtarlarını yenileyin.
  3. Kullanıcılar listesinde tanımadığınız yönetici hesaplarını silin.
  4. Eklentileri ve temaları wordpress.org'dan temiz kopyalarıyla yeniden yükleyin, çekirdek dosyaları (wp-admin ve wp-includes) yenileyin.
  5. wp-content/uploads içinde .php uzantılı dosya olmamalıdır; varsa inceleyin.
  6. Temiz olduğundan emin olduğunuz eski bir yedek varsa ona dönmeyi değerlendirin.

AnkSOFT'ta barındırılan sitenizde zararlı yazılım bildirimi aldıysanız alan adınızı yazarak destek talebi açın.


En Sık Hatalar

  1. Etkisizleştirilen eklentiyi sunucuda bırakmak. Açık yine kullanılabilir; silin.
  2. Aynı parolayı cPanel, WordPress ve e-postada kullanmak. Biri ele geçerse hepsi gider.
  3. İki aşamalı doğrulamayı açıp kurtarma kodlarını saklamamak. Telefon değiştiğinde panele girilemez.
  4. Birbirinin işini yapan birden çok güvenlik eklentisi kurmak. Çakışma ve yavaşlık yapar; tek bir eklenti yeterlidir.
  5. Yedeği sunucuda, public_html içinde tutmak. Hem sunucuyla birlikte kaybolur hem de herkes indirebilir.
  6. Korsan tema veya eklenti kurmak. Kaçınılması gereken en büyük tek risk budur.

Özet

  1. WordPress, eklenti, tema ve PHP sürümünü güncel tutun; kullanmadığınız eklentileri silin.
  2. "admin" yerine tahmin edilemeyen bir kullanıcı adı, her yerde farklı ve güçlü bir parola kullanın; rolleri en az yetkiyle verin.
  3. İki aşamalı doğrulamayı açın ve kurtarma kodlarını saklayın.
  4. DISALLOW_FILE_EDIT ve FORCE_SSL_ADMIN ekleyin, güvenlik anahtarlarını yenileyin, dosya izinlerini 755/644/440 yapın.
  5. Kullanmıyorsanız XML-RPC'yi kapatın, Site sağlığı ekranını düzenli kontrol edin ve sunucu dışında yedek tutun.

Sunucu tarafında zararlı yazılım taraması, web uygulama güvenlik duvarı ve ücretsiz SSL içeren paketler için web hosting sayfamıza, birden çok müşteri sitesini tek panelden yöneten ajanslar için bayi hosting sayfamıza, sunucuyu kendiniz sıkılaştırmak isterseniz VDS sunucu ve Ubuntu sunucu güvenliği rehberimize göz atabilirsiniz.


Kaynaklar

Sıkça Sorulan Sorular

WordPress sitemi nasıl daha güvenli yaparım?

WordPress, eklenti, tema ve PHP sürümünü güncel tutun, kullanmadığınız eklentileri silin, admin yerine tahmin edilemeyen bir kullanıcı adı ve benzersiz güçlü bir parola kullanın, iki aşamalı doğrulamayı açın, wp-config.php dosyasına DISALLOW_FILE_EDIT ekleyin ve sunucu dışında düzenli yedek alın.

WordPress'te iki aşamalı doğrulama nasıl açılır?

WordPress çekirdeğinde bu özellik yoktur. Two Factor gibi bir eklentiyi kurun, Kullanıcılar, Profil sayfasında doğrulayıcı uygulama seçeneğini etkinleştirin, QR kodu telefonunuzdaki uygulamayla okutup kodu doğrulayın ve kurtarma kodlarını üretip ayrı bir yerde saklayın.

Nulled (kırılmış) WordPress teması kullanmak güvenli mi?

Hayır. Korsan tema ve eklentilere çoğunlukla arka kapı, gizli yönetici hesabı veya spam kodu eklenir, güncelleme de alamazlar. Lisanssız ticari yazılım kullanmak ayrıca telif hakkı ihlalidir. Yalnızca wordpress.org dizininden veya geliştiricinin kendi sitesinden lisanslı sürüm kullanın.

WordPress dosya izinleri kaç olmalı?

WordPress klasörler için 755, dosyalar için 644 ve wp-config.php için 440 veya 400 iznini önerir. Hiçbir dosya veya klasöre 777 izni verilmemelidir.

xmlrpc.php dosyasını kapatmalı mıyım?

WordPress mobil uygulaması, uzaktan yayın aracı veya bu dosyayı kullanan bir eklentiniz yoksa kapatabilirsiniz; xmlrpc.php parola deneme saldırılarında sık kullanılır. .htaccess dosyasına eklenen bir Files kuralıyla erişimi engelleyip ardından entegrasyonlarınızın çalıştığını kontrol edin.

WordPress admin kullanıcı adı nasıl değiştirilir?

Kullanıcı adı panelden değiştirilemez. Kullanıcılar, Kullanıcı ekle ile yeni bir yönetici hesabı açın, onunla giriş yapın, eski admin hesabını silerken içeriklerini yeni hesaba atama seçeneğini seçin.

TR| EN