WordPress Güvenlik En İyi Uygulamaları

Yayınlanan: 2022-03-10

WordPress güvenliği hakkında birçok efsane ve FUD (korku, belirsizlik ve şüphe) var. Ve bir web sitesini olası saldırılara karşı güçlendirirken göz önünde bulundurulması gereken çok şey var. Peki işletmeler, kendilerine mümkün olan en iyi web korumasını sağlayacak en iyi WordPress güvenlik uygulamalarını nasıl öğrenebilirler?

Geçen hafta, WordPress güvenlik endişelerini açığa çıkarmak için bir web semineri görüşmesine ev sahipliği yaptım. Ayush Malakar (Fresh Consulting'de tam donanımlı ve WordPress geliştiricisi) ve Sean O'Shaughnessy (WordPress VIP Solutions Engineering lideri) oturum için bana katıldı.

Bu iki uzman, dört yol gösterici soru aracılığıyla geliştiricilerin, yöneticilerin, site sahiplerinin ve yöneticilerin akıllarında tutmaları gereken en iyi güvenlik uygulamalarını araştırdı. Konuştuklarımızı tekrar hatırlayalım.

Açık kaynaklı yazılım güvenli midir?

Tüm açık kaynaklar eşit yaratılmamıştır. Ancak WordPress 18 yıldır piyasada olduğundan ve dünyadaki web sitelerinin %40'ından fazlasına güç sağladığından, benimsenmenin arttığı açık. Ancak dünyanın en popüler açık kaynaklı yazılımında bile güvenlik açıkları hakkında sorular geliyor. Tüm bu kodlar, açıkta, saldırılara karşı savunmasız değil mi?

Mutlaka değil, diyor Ayush: "Ona bakan çok fazla gözümüz olduğundan, daha güvenli."

Sezgilere aykırı gibi görünse de, açık kaynaklı yazılımlar aslında kapalı kaynaklı, özel mülk yazılımlardan daha güvenli olabilir. İşte neden.

Potansiyel tehditlere daha fazla göz

Açık kaynak açıkta çalıştığı için saklanacak bir şey yok. Topluluktaki birçok geliştirici buna bakıyor ve güncellemeler yapıyor, güven ve güven uyandırıyor. Bir güvenlik açığı bulunursa, mümkün olan en kısa sürede, genellikle bir veya iki gün içinde düzeltilir.

Sürekli kod testi ve hata ödülleri

Herkes WordPress'e katkıda bulunabilir ve kod, binlerce WordPress ana katkıda bulunan topluluğu tarafından test edilir. Kod sürekli olarak test edildiğinden, giderek daha güvenilir hale geliyor.

Ek olarak, hata ödül programları, halkı kaba kuvvet saldırıları, DDoS, kimlik avı ve daha fazlası dahil olmak üzere delikler ve güvenlik açıkları bulmaya teşvik eder.

Güvenlik güncellemeleri

Güvenlik güncellemeleri gerçekleştiğinde, çekirdek kodun güncel tutulmasını ve en son saldırı vektörlerine karşı korunmasını sağlamak web sitesi geliştiricilerindedir. Otomatik güncellemeler de mevcuttur ve kurumsal geliştiriciler, bunların her proje için doğru seçim olup olmadığını değerlendirmelidir.

Kodum güvenli mi?

WordPress çekirdeği, bir WordPress web sitesini oluşturan kod "kovalarından" yalnızca biridir. Topluluk tarafından geliştirilen yazılımın başında, bir web sitesinin uygulama kodu - teması veya ön ucu ve eklentileri bulunur.

Açık kaynaklı WordPress çekirdek kodu topluluk tarafından geliştirilirken, bireysel web siteleri için yazılan veya bu web sitelerine dağıtılan uygulama kodu da güvenlik açıklarına neden olabilir.

Uygulama kodunuzun saldırılara karşı mümkün olduğunca sertleştirilmiş olmasını sağlamak için alabileceğiniz çeşitli önlemler vardır. Kabul edilebilir risk düzeyine bağlı olarak farklı projeler için farklı kararlar alırken, en önemli şey potansiyel saldırı vektörlerinin farkında olmaktır.

Burada, web semineri uzmanlarımızın bazı tavsiyeleri var.

WordPress güvenliği için araçlar

Geliştiricilerin hem birinci taraf hem de üçüncü taraf kodundaki güvenlik açıklarını belirlemeye yardımcı olmak için kullanabileceği çeşitli araçlar vardır.

"Ne zaman araçlar hakkında konuşsak, bu araçların artılarının ve eksilerinin neler olduğunu ve araçları kendi yararımıza en iyi nasıl kullanmamız gerektiğini anlamamız gerekiyor?"

— Ayush Malakar, Taze Danışmanlık

Bu araçlar, statik veya dinamik kod analizi yapabilir. Statik analiz, herhangi bir kod çalıştırılmadan yapılır ve genellikle koddaki kusurların yaklaşık %85'ini alabilir. Dinamik kod analizi, kodun yürütme sırasında nasıl davrandığını incelemeye dayanır ve kodun SQL veritabanları, uygulama sunucuları veya web hizmetleri gibi diğer sistem bileşenleriyle etkileşiminden kaynaklanan güvenlik sorunlarını bulma konusunda ek yeteneğe sahiptir.

Bu kod analizini gerçekleştiren makinelere karşı insanların faydalarını tartmak önemlidir. Makine öğrenimi (ML) ve yapay zeka (AI), ortak menkul kıymetlerin tanımlanmasını sağlamak için ilk savunma hattı olarak kullanılabilir. Ancak daha sonra koda insan gözüyle bakmanın da değeri var. Bu, insanların özellik tabanlı güvenlik açığı, uç durumlar vb. gibi farklı yönler üzerinde çalışabilmesini sağlar.

Uzmanlarımızın önerdiği bazı araçlar:

  • WPScan, geliştiricilerin kodlarını güvenlik açıkları için taramak için kullanabilecekleri bir CLI aracıdır. Ayush, geliştiricilerin bunu bir cron işinde çalıştırmasını önerir.
  • PHP_CodeSniffer (PHPCS), kodu inceler ve söz diziminden güvenlik açıklarına kadar uzanan sorunları vurgular. WordPress için bir dizi özel standart vardır. Bu, Sürekli Entegrasyon (CI) boru hattında çalışacak şekilde ayarlanabilir ve tüm WordPress VIP havuzlarında çalışır.
  • Fresh Consulting tarafından statik kod analizi için kullanılan Sonar Cloud, hem PHP hem de JS kodunu güvenlik açıkları ve daha güvenli bir uygulama için tarar.

“Doğru miktarda girdi doğrulaması yapıyor muyuz? Kodumuzda alacağımız her türlü çıktıyı uygun şekilde temizliyor muyuz?”

— Sean O'Shaughnessy, WordPress VIP

Güvenlik ve WordPress eklentileri

Üçüncü taraf eklentileri seçerken, iyi incelemelere ve derecelendirmelere, yüksek sayıda indirmeye ve web sitenizde kullanım esnekliğine sahip bir eklenti arayın. Eklentinin güncellendiğinden ve WordPress'in en son sürümüyle uyumlu olduğundan emin olun.

Kendiniz yazabileceğiniz bir eklenti kullanmayın. Özellikle az miktarda koda ihtiyaç duyulan durumlarda eklenti kullanmak yerine bu kodu temanıza yazın. Bu, eklentiyi güncellerken hiçbir güvenlik açığının ortaya çıkmamasını sağlayacaktır.

“Tavsiye edeceğim şey, kodu temanın kendi içine yazmak, çünkü geçmişte gördüğüm şey, herhangi bir güncelleme yapmak için çok az iş yapan eklentiler. Ve teknoloji geliştikçe, bu eklentiler gelişmez. Bu eklentilerin güvenlik açıkları oluşturma potansiyeli, tahmin ettiğimizden daha yüksek olabilir.”

— Ayush Malakar, Taze Danışmanlık

Her zaman olduğu gibi, kodunuzu güncel tutmak önemlidir. Çekirdek ve eklenti güncellemelerine dikkat edin ve WordPress'i, eklentileri ve temaları güncel tutun.

Güvenlik ve WordPress uç noktaları

XML-RPC ve REST API, WordPress'in diğer sistemlerle veya bir uygulamanın ön ucuyla iletişim kurmak için kullandığı uç noktalardır. Gerekmediğinde devre dışı bırakılabilen potansiyel saldırı vektörleri olduklarından, bu uç noktaları ve uygulamanız için önemli olup olmayacaklarını anlamak önemlidir.

Potansiyel bir saldırı vektörü olarak XML-RPC

XML-RPC, WordPress ve diğer sistemler arasında iletişimi sağlayan bir özelliktir. WordPress'in ilk sürümlerinde, XML-RPC varsayılan olarak kapalıydı. Ancak 3.5 sürümünden beri varsayılan olarak etkindir. Bunun ana nedeni, WordPress mobil uygulamasının WordPress kurulumunuzla konuşmasına izin vermekti.

Potansiyel bir saldırı vektörü olarak REST API

WordPress REST API'sini kullanırken en iyi güvenlik uygulamalarını kullandığınızdan emin olun. İşletmelerin, örneğin içeriğin ayrıştırılmış bir ön uca akması gereken başsız bir mimaride bunları açık tutması gerekebilirken, açıkta kalanların uygun kimlik doğrulama ve yetkilendirmeye sahip olduğundan emin olun.

“Bu kaleye sahipsiniz, WordPress, uygulamanız ve bir asma köprünün varlığı, doğal olarak uygulamanızı güvenli kılmaz. Ama bu bir cadde. O kaleye giden bir yol. Bu nedenle, yalnızca bunları iyi anlamak, bilmek ve bunları hesaba katmak, uygulama güvenliğiniz konusunda daha iyi bir duruşa sahip olmak için kesinlikle hayati önem taşımaktadır."

— Sean O'Shaughnessy, WordPress VIP

Hostingim güvenli mi?

Ana makinenizin ihtiyaçlarınız için yeterince güvenli olup olmadığını belirlerken dikkate alınması gereken birçok nokta vardır. Mevcut tüm güvenlik seçeneklerini değerlendirmek ve bir güvenlik olayına neden olan bir eklenti güncellemesi gibi acil durumlarda hızlı desteğin önemini unutmamak iyi bir fikirdir.

“Barındırma sağlayıcınız hızlı ve proaktif destek sunuyor mu? Ek olarak, uygulama veya eklenti güvenlik açıkları yayınlandığında nasıl yanıt veriyorlar?”

— Sean O'Shaughnessy, WordPress VIP

Genel olarak, ortak bir sorumluluğa ev sahipliği yapmayı düşünen bir platform arayın. Dikkate alınması gereken bazı özellikler şunlardır:

Dosya sistemi izinleri

Bazı ana bilgisayarlar, dosya yazabilmek yerine salt okunur bir dosya sistemi sunar. Bu, web işlemi kullanıcılarının her yere dosya yazabilmelerini engelleyerek olası bir saldırı vektörünü kapatır.

Konteynerleştirme

Sitenizin kaynaklarını diğer müşterilerinin web sitelerinden ayıran bir ana bilgisayar arayın. Bu kapsamlı bir güvenlik önlemi olmasa da, konteynerleştirme temel bir güvenlik önlemi sağlar. Bir bonus olarak, yatay ve hatta dikey ölçeklenebilirlik için özel kaynaklara da izin verir.

sürüm kontrolü

Bir WordPress barındırma platformu SFTP'yi engellediğinde ve sürüm kontrollü bir sistem aracılığıyla kod güncellemelerine izin verdiğinde, uygulamanızın saldırı yüzeyini azaltır. Ek olarak, uygulama kaynak kodunu sürüm kontrolü aracılığıyla yönetmek, kodun tam, denetlenebilir, zengin içerik geçmişiyle birlikte gerçeğin kaynağı olarak kodun "bozulmamış" bir kopyasını sağlar.

Şirketim WordPress güvenliğini nasıl uygulayabilir?

Güvenlik, yalnızca kod veya ana bilgisayar düzeyinde dikkate alınan bir konu değildir. Ayrıca insan faktörleri de vardır ve şirketler, web sitenizin güvenliğini artırmak için uzun bir yol kat edecek düzenli güvenlik kontrolleri ve şifre hijyeni kuralları gibi süreçler oluşturabilirler.

"Kurumsal düzeyde, birden fazla sürekli kimlik doğrulama katmanı yerleştirme veya yerinde doğrulama açısından düşünmek önemlidir."

— Sean O'Shaughnessy, WordPress VIP

Sıfır güven ve en az ayrıcalıklı erişim yönetimi

Dikkatle düşünülmüş roller ve erişim yönetimi sayesinde, kuruluşlar, insanları işlerini mümkün olan en az ayrıcalıkla - dolayısıyla en az riskle - yapmaları için donatabilir. Kullanıcıların rollerini ve yeteneklerini doğru bir şekilde tanımladığınızdan ve atadığınızdan emin olun. Bu özellik WordPress ile birlikte gelir ve herhangi bir kullanım durumu için genişletilebilir.

Şifre hijyeni

Kullanıcılar, her uygulama için benzersiz ve tahmin edilmesi zor şifreler oluşturmalıdır. Sean, harfler, sayılar ve sembollerin bir kombinasyonundan ziyade rastgele kelimelerin bir koleksiyonunu kullanmayı savunan bu çizgi romanı özellikle seviyor:

XKCD çizgi roman

2FA ve TOA

İki faktörlü kimlik doğrulama (2FA) ve tek oturum açma (SSO) teknolojileri, web sitenizin güvenliğini doğal olarak artırmasa da, desteklenen tüm uygulamalarda merkezi kullanıcı yönetiminin avantajını sunar.

Anahtar WordPress güvenlik çıkarımları

  • Açık kaynağın güvenlik avantajları vardır
  • WordPress ve eklentileri güncel tutun
  • Sürüm kontrolünü kullan
  • WordPress uç noktalarını anlayın
  • Güvenliği hesaba katan bir ana bilgisayar arayın
  • Kuruluş düzeyinde olgun güvenlik uygulamalarını benimseyin

Bir saatlik web seminerinde WordPress güvenliği hakkında çok daha fazla bilgi topladık. Canlı yayını kaçırdıysanız, buradan kayda bakmanızı tavsiye ederim.