WordPress güvenliği ve sağlamlaştırma, kesin kılavuz

Yayınlanan: 2021-01-26

WordPress kitlesel olarak popülerdir. İnternetteki her beş siteden biri bir şekilde WordPress kullanıyor. Mütevazı bir blog veya çok siteli bir İçerik Yönetim Sistemi (CMS) veya e-ticaret sitesi çalıştırmak için. Sonuç olarak, WordPress web sitelerinin hem deneyimli bilgisayar korsanları hem de senaryo meraklıları için çok popüler bir hedef olması şaşırtıcı değil.

Herhangi bir web yöneticisinin isteyeceği son şey, web sitesinin saldırıya uğradığını öğrenmektir; rehin alınmış ve bir botnet'in parçası, kötü amaçlı yazılım yayıyor veya Hizmet Reddi (DoS) saldırılarına katılıyor olabilir. Bu yazıda, WordPress web sitenizi sağlamlaştırmanıza yardımcı olacak birkaç ipucu ve strateji paylaşacağız.

İçindekiler

  • WordPress güvenli mi?
  • Eklentiler ve temalar
    • Daha az yazılım çalıştırın
    • En az ayrıcalıklı ilkeye uyun
    • WordPress eklentilerinizi ve temalarınızı güncelleyin
    • 'Boş' WordPress eklentilerinden ve temalarından uzak durun
  • WordPress'i güncel tutun
  • WordPress Barındırma
  • WordPress kontrol paneli
    • Kaydı devre dışı bırak
    • kimlik bilgileri
    • İki Faktörlü Kimlik Doğrulama (2FA)
  • WordPress çekirdeğini güçlendirme
    • Hata ayıklama günlüğünü devre dışı bırak
    • XML-RPC'yi devre dışı bırak
    • WordPress REST API'sini kısıtlayın
    • WordPress sürümünün ifşa edilmesini önleyin
    • WordPress kullanıcı numaralandırmasını engelle
    • WordPress dosya düzenleyicisini devre dışı bırakın
    • Tema ve eklenti yönetimini devre dışı bırakın
  • TLS (SSL)
  • Sonuçlar ve sonraki adımlar

WordPress güvenli mi?

Bu, birçok sistem yöneticisinin sorduğu bir sorudur ve haklı olarak da öyledir. WordPress genel olarak iyi yapılandırılmış ve güvenli olsa da, güvenlik açıklarına eğilimli olması ve “kurumsal düzeyde” olmamasıyla ünlüdür. Bu itibar tam olarak adil değil. Çoğu zaman sorunlar, WordPress'in güvenlik kısayolları alırken kurulumu kolay, inanılmaz derecede popüler bir yazılım paketi olmasında yatmaktadır. Bu da bizi ilk konumuza getiriyor - eklentiler ve temalar.

Eklentiler ve temalar

WordPress güvenliğini rahatsız eden bir numaralı sorun, aynı zamanda onu inanılmaz derecede popüler yapan şeydir. WordPress eklentileri ve temaları, kalite ve güvenlik açısından çok çeşitlidir. WordPress ekibi, geliştiricilerin daha güvenli eklentiler ve temalar oluşturmasına yardımcı olmak için birçok çalışma yapmış olsa da, bunlar hala bir güvenlik kabusu olmaya devam ediyor. Bu, bakımsız eklentiler veya kabataslak bir kaynaktan elde edilen eklentiler kullanıldığında fark edilebilir.

WordPress eklentilerini ve temalarını tartışmaya devam etmeden önce, bir WordPress eklentisinin gerçekte ne olduğunu anlayalım. Eklentiler, WordPress'in işlevselliğini genişletmek için WordPress'in çalıştırdığı özel PHP kodudur. Daha ayrıntılı ve teknik bir açıklama için WordPress eklentileri nelerdir bölümüne bakın.

Benzer şekilde, WordPress temaları, WordPress sitenizin görsel yönlerinin özelleştirilmesine izin verir. Saldırganın bakış açısından ikisi arasında çok az fark vardır, çünkü ikisi de kötü amaçlı kod çalıştırmak için kötüye kullanılabilir.

Daha az yazılım çalıştırın

Peki bir eklentinin kötü amaçlı olup olmadığını nasıl anlarsınız? Bu karmaşık bir soru, ama neyse ki sizin için bir cevabımız var. Bunu, WordPress web siteniz için en iyi WordPress eklentisini nasıl seçeceğiniz konusunda ayrıntılı olarak yazdık.

Gerekli tüm araştırmaları yapmış olsanız bile, eklentinin hala bir güvenlik tehdidi olma ihtimali de vardır. Dolayısıyla riskinizi azaltmanın yollarından biri, yalnızca kesinlikle ihtiyacınız olan ve güvendiğiniz yazılımı çalıştırmaktır. Yeni bir WordPress eklentisi kurmadan önce, bu eklentiyi gerçekten yüklemeniz gerekip gerekmediğini kendinize sorun. Siteye özel bir eklentideki küçük bir kod parçacığı işi yapabilir mi, yoksa yasal olarak tamamen gelişmiş bir eklentiye mi ihtiyacınız var?

Önemli — İnternette bulduğunuz kod parçacıklarına karşı çok dikkatli olun. Ne yaptığını tam olarak anlamadığınız sürece asla bir kod parçası kullanmayın - sadece StackOverflow'ta olması, kullanımının güvenli olduğu anlamına gelmez.

Bir eklenti çalıştırmaya gerçekten ihtiyacınız varsa, kılavuzumuzda açıkladığımız gibi aktif olarak bakımının yapıldığından ve düzenli olarak güncellendiğinden emin olun. Genel bir kural olarak, eklentinin veya temanın ne kadar çok indirme ve son güncellemesi olursa, yaygın olarak kullanıldığını ve yazarları tarafından aktif olarak sürdürüldüğünü gösterir. Bu, eklentinin hiçbir zaman bir güvenlik açığına sahip olmayacağı anlamına gelmez. Ancak, bir güvenlik açığı bulunursa, geliştirici hızlı hareket edecek ve hızlı bir şekilde bir düzeltme yayınlayacaktır.

Çok fazla indirilmeyen ve kritik olarak aktif bir topluluğa ve düzenli güncellemelere sahip olmayan eklentilerden kaçınmaya çalışın. Bir şey bir yıl içinde güncelleme almıyorsa, bu genellikle kırmızı bayraktır.

En az ayrıcalıklı ilkeye uyun

WordPress'in veritabanına bağlanmak için MySQL kök kullanıcısını kullanması gerekmez. Ayrıca her WordPress kullanıcısının yönetici rolüne sahip olması gerekmez. Benzer şekilde, belirli bir neden olmadıkça çoğu programı ayrıcalıklı kullanıcı olarak çalıştırmak iyi bir fikir değildir.

En iyi güvenlik uygulaması, uygulamalara her zaman, ek ayrıcalıklar devre dışı bırakılarak düzgün çalışmasına izin veren mümkün olan en az ayrıcalıkların verilmesini gerektirir. Bu uygulamaya genellikle en az ayrıcalık ilkesi denir.

Varsayımsal olarak WordPress'in ayrıcalıklı bir kullanıcı hesabıyla bir veritabanına bağlandığını varsayalım. Bir WordPress eklentisinin SQL enjeksiyon güvenlik açığı içermesi durumunda, bir saldırgan yalnızca SQL sorgularını yönetici olarak çalıştırmakla kalmayıp, bazı durumlarda işletim sistemi komutlarını bile yürütebilir. Saldırgan işletim sistemi komutlarını yürütmede başarılı olursa, keşif yapabilir ve bir saldırıyı diğer sistemlere iletebilir.

Yazılımı yönetici ayrıcalıklarıyla çalıştırmak veya kullanıcılara gereğinden fazla erişim sağlamak sorun istemektir. Bir güvenlik ihlali durumunda bir saldırganın daha fazla zarar vermesine izin verdiği için denenmiş ve test edilmiş en az ayrıcalık ilkesine aykırıdır.

WordPress'in iyi yanı, gereksinimlerine bağlı olarak farklı kullanıcılara farklı ayrıcalıklar atamak için kullanabileceğiniz bir dizi yerleşik role sahip olmasıdır. Gelişmiş WordPress güvenliği için WordPress kullanıcı rollerinin nasıl kullanılacağı hakkında kapsamlı bir şekilde yazdık.

WordPress eklentilerinizi ve temalarınızı güncelleyin

WordPress eklentisi ve tema güncellemeleri, yalnızca yeni işlevlerden ve hata düzeltmelerinden yararlanmak için değil, aynı zamanda güvenlik açıklarını düzeltmek için de önemlidir. Hem eklentilerin hem de temaların WordPress arayüzünde güncellenmesi kolaydır.

Bazı ticari eklentilerin, eklentileri güncel tutmak için muhtemelen kendi mekanizmaları olacaktır, ancak çoğu durumda bu, kullanıcılar için şeffaftır. Bununla birlikte, hangi güncelleme sistemi kullanılıyorsa, eklentilerinizi ve temalarınızı güncel tuttuğunuzdan emin olun.

'Boş' WordPress eklentileri ve temaları kullanmayın

WordPress boş eklentiler
WordPress, GPL 1'i kullanır . GPL lisansı, fazla ayrıntıya girmeden herkesin GPL lisanslı yazılımı özgürce dağıtmasına olanak tanır. Buna ticari/premium GPL lisanslı WordPress temaları ve eklentileri dahildir. Bu nedenle, genellikle nulled , premium tema veya eklenti olarak adlandırılan değiştirilmiş bir temayı indirmek ve ücretsiz olarak kullanmak yasa dışı olmayabilir .

Ancak, zaten tahmin edebileceğiniz gibi, eklenti geliştiricisini desteklememenin yanı sıra, nulled eklentiler için güncelleme alma olasılığınız çok düşüktür. Dahası, bu eklentinin kaynağının kötü bir şey yapmak için değiştirilip değiştirilmediğini bilmenin hiçbir yolu yok.

WordPress'i güncel tutun

Eklentilerinizi ve temalarınızı güncel tutmanız gerektiği gibi, çalıştırmakta olduğunuz WordPress sürümünü de güncel tutmaya özen göstermelisiniz. Neyse ki bu, kritik güvenlik güncellemelerinin otomatik olarak gerçekleşmesiyle geçmişte olduğundan çok daha kolay. Tabii ki, bu işlevi açıkça devre dışı bırakmadığınız sürece.

Yeni özellikler, iyileştirmeler ve hata düzeltmelerinin yanı sıra, WordPress temel güncellemeleri, sizi WordPress web sitenizi istismar eden ve haksız kazançlar için kullanan saldırganlardan koruyabilecek güvenlik düzeltmelerini de içerir.

WordPress Barındırma

WordPress barındırma WordPress sitenizi nerede ve nasıl barındırmayı seçeceğiniz büyük ölçüde gereksinimlerinize bağlı olacaktır. WordPress'i kendiniz barındırmanın ve yönetmenin yanlış bir tarafı olmasa da, teknik olarak bilgili değilseniz veya çok fazla yük kaldırmadan WordPress güvenlik temellerinin çoğunu karşıladığınızdan emin olmak istiyorsanız, bir seçim yapmak isteyebilirsiniz. Kinsta veya WP Engine gibi yönetilen WordPress barındırma sağlayıcısı.

Her iki ana bilgisayarda da barındırılan web sitelerimiz olduğundan, onlar hakkında yazdık. Müşteri hikayelerimizde onlarla olan deneyimlerimizi vurgularız. Deneyiminiz hakkında daha fazla bilgi edinmek için WP Engine ve Kinsta müşteri hikayemizi okuyun. Yönetilen WordPress barındırma, kendiniz için endişelenmeniz gereken birçok güvenlik kararını ve yapılandırmayı soyutlar.

Doğal olarak, yönetilen WordPress barındırma da sizin için uygun olmayabilir. Özellikle bütçeniz kısıtlıysa WordPress'i kendiniz barındırmayı tercih edebilirsiniz. Kendi kendine barındırma WordPress ayrıca size WordPress kurulumunuz üzerinde daha fazla kontrol sağlar. Tüm farklı WordPress barındırma seçenekleri hakkında daha fazla bilgi edinmek ve sizin için en iyi olanı öğrenmek için WordPress barındırma seçme kılavuzuna bakın.

WordPress kontrol paneli

Sitenizin WordPress panosu, yetkisiz kişilerin gizlenmesini istemediğiniz bir yerdir. Genel kullanıcıların WordPress panosunu kullanarak oturum açmasına izin vermek için meşru nedenleri olan bazı siteler olsa da, bu çok büyük bir güvenlik riskidir ve çok dikkatli bir şekilde düşünülmelidir.

Neyse ki, çoğu WordPress web sitesinde bu gereksinim yoktur ve bu nedenle WordPress panosuna erişimi engellemelidir. Bunu yapmanın birkaç yolu vardır ve sizin için en iyi olanı seçmelisiniz.

Yaygın bir uygulama, WordPress Admin (wp-admin) sayfalarını koruyarak erişimi parola ile kısıtlamaktır. Başka bir çözüm, yalnızca /wp-admin'e belirli sayıda seçili IP adresine erişime izin vermek olacaktır.

Kaydı devre dışı bırak

Varsayılan olarak, WordPress, genel kullanıcıların WordPress web sitenize kaydolmasına izin vermez. Kullanıcı kaydının devre dışı bırakıldığını onaylamak için:

  1. WordPress pano alanınızdaki Ayarlar > Genel sayfasına gidin
  2. Üyelik bölümüne gidin
  3. Herkes kaydolabilir seçeneğinin yanındaki onay kutusunun seçili olmadığından emin olun.

kimlik bilgileri

Diğer tüm web siteleri gibi, WordPress panonuza erişim yalnızca kimlik bilgileriniz kadar güçlüdür. Güçlü WordPress parola güvenliğini zorlamak, herhangi bir sistemin çok önemli güvenlik kontrolüdür ve WordPress de bir istisna değildir.

WordPress'in kutudan çıktığı gibi bir şifre politikası belirlemenin herhangi bir yolu olmamasına rağmen, WPassword gibi bir eklenti, WordPress panosuna erişimi olan tüm kullanıcılarınız arasında şifre gücü gereksinimlerini zorunlu kılmak için mutlak bir zorunluluktur.

Web sitenizde güçlü parola güvenliğini zorunlu kıldığınızda, zayıf WordPress kimlik bilgilerini test etmek için WPScan kullanın ve hiçbir hesabın hala zayıf parolalar kullanmadığından emin olun.

İki Faktörlü Kimlik Doğrulama (2FA)

İki Faktörlü Kimlik Doğrulama

WordPress kontrol paneliniz için bir diğer önemli güvenlik kontrolü, iki faktörlü kimlik doğrulama gerektirmektir. İki faktörlü kimlik doğrulama (2FA), bir saldırganın bir kullanıcının şifresini ortaya çıkarmayı başarması durumunda (örneğin bir saldırgan, bir veri ihlalinden bir kullanıcının şifresini keşfedebilir), bir saldırganın WordPress panonuza erişmesini önemli ölçüde zorlaştırır.

Neyse ki, WordPress'te iki faktörlü kimlik doğrulamayı ayarlamak çok kolaydır. Bu işlevi eklemek için kullanabileceğiniz çok sayıda yüksek kaliteli eklenti vardır. WordPress için mevcut en iyi 2FA eklentilerinin bir özeti için WordPress için en iyi iki faktörlü kimlik doğrulama eklentilerini okuyun.

WordPress çekirdeğini güçlendirme

WordPress'in çekirdeği güvenli bir yazılım parçası olsa da, onu daha fazla güçlendiremeyeceğimiz anlamına gelmez. Aşağıdakiler, WordPress çekirdeğine özgü bir dizi sertleştirme stratejisidir.

Hata ayıklama günlüğünün devre dışı bırakıldığından emin olun

WordPress, geliştiricilerin hata ayıklama mesajlarını bir dosyaya kaydetmesine izin verir (bu, varsayılan olarak /wp-content/debug.log'dur). Bu, bir geliştirme ortamında tamamen kabul edilebilir olsa da, aynı dosya ve/veya ayarlar üretime geçerse, bu dosyaya bir saldırgan tarafından da kolayca erişilebileceğini unutmayın.

WordPress hata ayıklama varsayılan olarak devre dışıdır. İki kez kontrol etmek her zaman daha iyi olsa da — wp-config.php dosyanızda WP_DEBUG sabitinin tanımlanmadığından emin olun veya bunu açıkça false olarak ayarlayın. Tüm hata ayıklama seçeneklerinin listesi için WordPress hata ayıklama kılavuzuna bakın.

Herhangi bir nedenle yaşam web sitenizde WordPress hata ayıklama günlüklerine ihtiyacınız varsa, web sunucusu kökünüzün dışındaki bir dosyada oturum açın (örn. /var/log/wordpress/debug.log). pa'yı değiştirmek için

define('WP_DEBUG_LOG', '/path/outside/of/webserver/root/debug.log');

XML-RPC'yi devre dışı bırak

WordPress'in XML-RPC özelliği, farklı sistemler arasında iletişime izin verecek şekilde tasarlanmıştır. Bu, neredeyse her uygulamanın WordPress ile etkileşime girebileceği anlamına gelir. WordPress XML-RPC özelliği, WordPress için tarihsel olarak önemli olmuştur. Diğer sistemler ve yazılımlarla etkileşime girmesine ve entegre olmasına izin verir.

İşin iyi yanı, XML-RPC'nin yerini WordPress REST API'si almış olmasıdır. XML-RPC ile ilgili bazı güvenlik endişelerini vurgulamak için; arayüzü, yıllar boyunca çok sayıda güvenlik açığının kaynağı olmuştur. Ayrıca saldırganlar tarafından kullanıcı adı numaralandırma, parola kaba zorlama için kullanılabilir. veya XML-RPC pingback'leri aracılığıyla hizmet reddi (DoS) saldırıları.

Bu nedenle, aktif olarak XML-RPC kullanmıyorsanız ve uygun güvenlik kontrollerine sahip değilseniz, onu devre dışı bırakmalısınız. Bu, üçüncü taraf bir eklenti yüklemeden kolayca elde edilebilecek bir şey olduğundan, aşağıda nasıl yapılacağını ele alacağız.

Web sunucunuzu /xmlrpc.php'ye erişimi engelleyecek şekilde yapılandırabilirsiniz, ancak bunu yapmanın tercih edilen bir yöntemi, yerleşik bir WordPress filtresi kullanarak XML-RPC'yi açıkça devre dışı bırakmaktır. Aşağıdakileri bir eklenti dosyasına ekleyin ve sitenizde etkinleştirin.

add_filter('xmlrpc_enabled', '__return_false');

Dikkat et

  • Bu ve benzeri kod parçacıkları için bir WordPress eklentisini kullanmak iyi bir fikirdir.

WordPress REST API'sini kısıtlayın

XML-RPC ile aynı şekilde, WordPress API, üçüncü taraf uygulamaların WordPress ile iletişim kurmasının modern yoludur. Kullanımı güvenli olsa da, kullanıcı numaralandırmasını ve diğer olası güvenlik açıklarını önlemek için içindeki bazı işlevlerin kısıtlanması önerilir. WordPress, XML-RPC'den farklı olarak, REST API'yi tamamen devre dışı bırakmak için basit, yerel bir yol sağlamaz (önceden 2 , ancak bu kullanımdan kaldırıldı, bu nedenle artık yapmamak akıllıca olur), ancak bunu kısıtlayabilirsiniz.

WordPress'te olduğu gibi, bunu başarmak için bir eklenti kullanabilir veya aşağıdaki filtreyi bir eklenti dosyasına ekleyebilir ve sitenizde etkinleştirebilirsiniz. Aşağıdaki kod, rest_authentication_errors WordPress kancasını kullanarak yetkisiz bir HTTP durum kodu (durum kodu 401) döndürerek oturum açmamış olan herkes için WordPress REST API'sini devre dışı bırakacaktır.

add_filter( 'rest_authentication_errors', function( $result ) {
if ( ! empty( $result ) ) {
return $result;
}
if ( ! is_user_logged_in() ) {
return new WP_Error( 'rest_not_logged_in', 'You are not currently logged in.', array( 'status' => 401 ) );
}
return $result;
});

Ek olarak, WordPress REST API, varsayılan olarak JSONP'yi etkinleştirir. JSONP, modern tarayıcılar CORS'u (Çapraz Kaynaklı Kaynak Paylaşımı) desteklemeden önce tarayıcının aynı Köken politikasını atlamak için eski bir tekniktir. Bu potansiyel olarak bir saldırgan tarafından yapılan saldırıda bir adım olarak kullanılabileceğinden, bunun etkinleştirilmesi için gerçek bir neden yoktur. Aşağıdaki PHP parçacığını kullanarak rest_jsonp_enabled WordPress filtresini kullanarak devre dışı bırakmanız önerilir.

add_filter('rest_enabled', '__return_false');

Bununla ilgili daha fazla bilgi için filtrenin belgelerine bakın.

WordPress sürümünün ifşa edilmesini önleyin

Diğer birçok web uygulaması gibi, WordPress de sürümünü varsayılan olarak birkaç yerde açıklar. Sürüm ifşası tam olarak bir güvenlik açığı değildir, ancak bu bilgiler bir saldırgan için bir saldırı planlarken çok faydalıdır. Sonuç olarak, WordPress'in sürüm açıklama özelliklerini devre dışı bırakmak, bir saldırıyı biraz daha zorlaştırabilir.

WordPress birçok sürüm bilgisi sızdırıyor. Neyse ki, bu GitHub özü, bir WordPress eklentisi biçiminde devre dışı bırakılacak kapsamlı bir WordPress filtreleri listesi sunar. Elbette bu kodu, halihazırda sahip olduğunuz herhangi bir siteye özgü veya mutlaka kullanmanız gereken eklentilere dahil edebilirsiniz.

WordPress kullanıcı numaralandırmasını engelle

WordPress, bir dizi kullanıcı numaralandırma saldırısına karşı savunmasızdır. Bu tür saldırılar, bir saldırganın, bir kullanıcının var olup olmadığını anlamasını sağlar. Bu zararsız görünse de, saldırganların bu bilgileri daha büyük bir saldırının parçası olarak kullanabileceğini unutmayın. Bu konu hakkında daha fazla bilgi için, WordPress kullanıcılarının WPScan ile nasıl numaralandırılacağını okuyun.

WordPress kullanıcı numaralandırmasını önlemek için aşağıdaki WordPress özelliklerinin devre dışı bırakıldığından veya kısıtlandığından emin olmanız gerekir.

  • WordPress REST API'sini kimliği doğrulanmamış kullanıcılarla sınırlayın
  • WordPress XML-RPC'yi devre dışı bırakın
  • /wp-admin ve /wp-login.php'yi doğrudan genel İnternet'e maruz bırakmayın

Ek olarak, /?author=<number>'a erişimi engellemek için web sunucunuzu da yapılandırmanız gerekecektir. Nginx kullanıyorsanız, WordPress kullanıcı numaralandırmasını önlemek için aşağıdaki yapılandırmayı kullanabilirsiniz.

RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule .* - [R=403,L]

Alternatif olarak, Apache HTTP Sunucusu kullanıyorsanız, WordPress kullanıcı numaralandırmasını önlemek için aşağıdaki yapılandırmayı kullanabilirsiniz.

if ( $query_string ~ "author=([0-9]*)" ) {
return 403;
}

WordPress dosya düzenleyicisini devre dışı bırakın

WordPress'in en tehlikeli özelliklerinden biri, dosyaları WordPress panosunun içinden düzenleme yeteneğidir. Herhangi bir kullanıcının bunu yapması gerektiği ve kesinlikle WordPress çekirdeği için geçerli bir neden olmamalıdır. Herhangi bir şey varsa, yüksek kaliteli bir dosya bütünlüğü izleme (FIM) güvenlik eklentisi kullanarak tam olarak hangi dosyaların değiştiğini bildiğinizden emin olmak istersiniz.

Dosya değişikliklerinden haberdar olmak için geliştirdiğimiz Web Sitesi Dosya Değişiklikleri İzleme eklentisini kullanın.

Web sitenizdeki herhangi bir dosya değişikliği ya güvenli bir bağlantı (örn. SFTP) üzerinden ya da tercihen bir sürüm kontrol havuzunda izlenmeli ve CI/CD kullanılarak dağıtılmalıdır.

WordPress panosunda eklentiler ve temalar dosyası düzenleyicisini devre dışı bırakmak için aşağıdakileri wp-config.php dosyanıza eklemeniz yeterlidir.

define('DISALLOW_FILE_EDIT', true );

Tema ve eklenti yönetimini devre dışı bırakın

İyi bir WordPress güvenliği en iyi uygulaması, WordPress panosundan eklenti ve tema yönetimini devre dışı bırakmaktır. Bunun yerine, bu değişiklikleri yapmak için wp-cli gibi komut satırı araçlarını kullanın.

Tema ve eklenti değişikliklerini devre dışı bırakarak, WordPress web sitenizin saldırı yüzeyini büyük ölçüde azaltırsınız. Bu durumda, bir saldırgan bir yönetici hesabını başarıyla ihlal etse bile, saldırıyı WordPress panosuna erişimin ötesine taşımak için kötü amaçlı bir eklenti yükleyemez.

wp-config.php içinde tanımlanan DISALLOW_FILE_MODS sabiti, eklenti ve tema güncellemelerini ve pano üzerinden kurulumu devre dışı bırakır. Ayrıca panodaki tüm dosya değişikliklerini devre dışı bırakır, böylece Tema Düzenleyici ve Eklenti Düzenleyici'yi kaldırır.

WordPress panosunda tema ve eklenti değişikliklerini devre dışı bırakmak için aşağıdakileri wp-config.php dosyanıza ekleyin.

define('DISALLOW_FILE_MODS', true );

WordPress HTTPS (SSL / TLS)

Aktarım Katmanı Güvenliği (TLS), WordPress güvenliğiniz için mutlak bir gerekliliktir, ücretsizdir ve kurulumu kolaydır. Not: TLS, Güvenli Yuva Katmanı olan SSL'nin yerini alan protokoldür. Ancak, SSL terimi çok popüler olduğu için çoğu kişi hala TLS'yi SSL olarak adlandırıyor.

Web sitenizi HTTPS (TLS üzerinden HTTP) üzerinden ziyaret ettiğinizde, HTTP istekleri ve yanıtları engellenemez ve gözetlenemez veya bir saldırgan tarafından daha kötü şekilde değiştirilemez.

TLS'nin WordPress kurulumunuzdan ziyade web sunucunuz veya İçerik Dağıtım Ağı (CDN) ile daha fazla ilgisi olsa da, TLS'nin (WordPress HTTPS) en önemli yönlerinden biri bunu zorunlu kılmaktır. WordPress HTTPS'nin (SSL ve TLS) nasıl kurulacağı hakkında çevrimiçi olarak çok sayıda bilgi var.

Yapılandırma dosyalarını düzenleme konusunda rahat değilseniz ve bir eklenti kullanarak WordPress HTTPS'ye geçmeyi tercih ediyorsanız, Really Simple SSL veya WP force SSL kullanabilirsiniz. Her ikisi de çok iyi ve kullanımı kolay eklentilerdir.

Daha da güvenli bir WordPress için sonraki adımlar

Buraya kadar geldiyseniz, harika, ancak bu, yapılacak daha fazla sertleştirme olmadığı anlamına gelmez. Aşağıdakiler, WordPress web sitenizi daha da sağlamlaştırmak için inceleyebileceğiniz birkaç öğedir.

  1. PHP'yi sertleştirin. PHP'nin herhangi bir WordPress web sitesinin temel bir bileşeni olduğu göz önüne alındığında, PHP'nin sağlamlaştırılması sonraki mantıklı adımlardan biridir. Bunu, WordPress web siteleri için En İyi PHP güvenlik kurulumunda kapsamlı bir şekilde yazdık.
  2. Saygın güvenlik eklentileri kullanın. Kaliteli güvenlik eklentileri, WordPress'te yerel olarak bulunmayan gelişmiş güvenlik özellikleri sunar. Dışarıda çok sayıda WordPress güvenlik eklentisi var. Ancak, iyi bir üne sahip ve ideal olarak WordPress için yüksek kaliteli güvenlik eklentilerimiz gibi premium veya ticari desteğin mevcut olduğu eklentileri seçtiğinizden emin olun.
  3. Bir dosya izinleri denetimi gerçekleştirin. Linux üzerinde çalışan WordPress web siteleri için yanlış dosya izinleri, yetkisiz kullanıcıların potansiyel olarak hassas dosyalara erişmesine izin verebilir. Bu konu hakkında daha fazla bilgi için güvenli WordPress web sitesi ve web sunucusu izinlerini yapılandırma kılavuzumuza bakın.
  4. Bir yedekleme dosyası denetimi gerçekleştirin. Yanlışlıkla erişilebilir durumda bırakılan yedekleme dosyaları, hassas bilgileri sızdırabilir. Bu, saldırganların tüm WordPress kurulumu üzerinde kontrol sahibi olmasına izin verebilecek sırları içeren yapılandırmayı içerir.
  5. Web sunucunuzu güçlendirin
  6. MySQL'i Sertleştirin
  7. Gerekli HTTP güvenlik başlıklarını ekleyin
  8. Çalışan bir WordPress yedekleme sistemine sahip olduğunuzdan emin olun.
  9. Bir DDoS koruma hizmeti kullanın
  10. Bir İçerik Güvenliği Politikası Uygulayın
  11. Açıkta kalan yedekleme ve referanssız dosyaları yönetin.

Sonuç – bu, WordPress güvenlik yolculuğunun yalnızca ilk adımıdır

Tebrikler! Yukarıdaki tüm tavsiyeleri izlediyseniz ve önerilen tüm en iyi güvenlik uygulamalarını uyguladıysanız, WordPress web siteniz güvenlidir. Ancak, WordPress güvenliği tek seferlik bir düzeltme değildir – sürekli gelişen bir süreçtir. Bir WordPress web sitesini (tek seferlik durum) sağlamlaştırmak ile yıllarca güvende tutmak arasında büyük bir fark vardır.

Sertleştirme, WordPress güvenlik sürecindeki (WordPress güvenlik tekerleği) dört aşamadan yalnızca biridir. Tüm yıl boyunca güvenli bir WordPress web sitesi için, test> sertleştirme> izleme> iyileştirme WordPress güvenlik sürecini tekrarlamanız gerekir. WordPress web sitenizin güvenlik durumunu sürekli olarak test etmeniz ve kontrol etmeniz, yazılımı güçlendirmeniz, sistemi izlemeniz ve gördüklerinize ve öğrendiklerinize göre kurulumunuzu iyileştirmeniz gerekir. Örneğin:

  • WPScan gibi bir araç, WordPress web sitenizin güvenlik durumunu test etmenize yardımcı olabilir.
  • bir WordPress güvenlik duvarı, WordPress web sitenizi bilinen kötü niyetli saldırı saldırılarından koruyabilir
  • Bir WordPress etkinlik günlüğü, uzun bir yol kat etmenize yardımcı olabilir - web sitenizde meydana gelen tüm değişikliklerin kaydını tutarak, kullanıcı hesap verebilirliğini iyileştirebilir, her kullanıcının ne yaptığını öğrenebilir ve ayrıca kaputun altındaki tüm etkinliklere göz kulak olabilirsiniz.
  • WordPress güvenlik ve yönetim eklentilerimiz gibi araçlar, parola güvenliğini sağlamanıza, WordPress güvenlik sürecini güçlendirmenize, dosya değişikliklerinden haberdar olmanıza ve çok daha fazlasına yardımcı olabilir.

Sitenizi güvende tutmak için tüm doğru araçlara sahipsiniz. Küçük bir WordPress web sitesi işletiyor olsanız bile, yavaş yavaş bu kılavuz üzerinde çalışmak için zaman ayırın. Harika bir web sitesi oluşturmaya çalışmamaya, yalnızca WordPress hedefli bir saldırı tarafından aranmasını sağlamadığınızdan emin olun.

%100 etkin güvenlik diye bir şey yoktur. Ancak, bu kılavuzda yer alan çeşitli güçlendirme tekniklerini uygulayarak bir saldırganın tutunma noktası elde etmesini ve WordPress web sitenize başarılı bir şekilde saldırmasını önemli ölçüde zorlaştırıyorsunuz. Saldırganlar bir sonraki kurbanlarını hedef alırken, onları alt etmenize gerek olmadığını unutmayın. Yalnızca bir sonraki savunmasız web sitesinden daha güvenli olmanız gerekir!

Bu makalede kullanılan referanslar [ + ]

Bu makalede kullanılan referanslar
1 https://en.wikipedia.org/wiki/GNU_General_Public_License
2 https://developer.wordpress.org/reference/hooks/rest_enabled/