Düzenle

Aracılığıyla paylaş


Azure'da WordPress

Azure App Service
Azure Front Door
Azure Kubernetes Service (AKS)
Azure Web Application Firewall
Azure Private Link

WordPress, birden çok amaçla her boyutta web sitesi oluşturmak için kullanılan çok yönlü ve popüler bir içerik yönetim sistemidir. Küçük kişisel bloglardan büyük ölçekli şirket sitelerine ve e-ticaret mağazalarına kadar, WordPress farklı ihtiyaçlara uygun çeşitli işlevler ve özelleştirmeler sunar. Ancak, yüklemelerinin değişen boyutları ve kullanım örnekleri nedeniyle, WordPress'in trafik hacmi ve depolama gereksinimleri gibi faktörlere bağlı benzersiz barındırma gereksinimleri de vardır.

Bu makale, Azure'da WordPress dağıtımlarını kapsar. Güvenli, ölçeklenebilir ve uygun maliyetli bir yükleme sağlamaya yardımcı olmak için dikkate alınması ve uygulanması gerekenler hakkında rehberlik sağlar.

Genel WordPress güvenlik ve performans ipuçları

Ezici popülaritesi nedeniyle, WordPress bilgisayar korsanları için bir hedeftir. Platformda çalışan web siteleri kötü amaçlı yazılım ve kimlik avı saldırıları gibi güvenlik tehditlerine karşı savunmasız olabilir. Aşağıdaki ipuçları, daha güvenli ve daha iyi performanslı bir WordPress yüklemesi oluşturarak bu riskleri gidermenize yardımcı olabilir.

Barındırma mimariniz için bir sanal makine (VM) veya Azure Uygulaması Hizmeti kullanmanız veya başka bir çözüm kullanmanız fark eder. Bu ipuçları geçerlidir.

Azure Web Uygulaması Güvenlik Duvarı kullanma

Web Uygulaması Güvenlik Duvarı, web sitenizin yaygın web tabanlı saldırılara karşı güvenliğini sağlar. Web siteniz ile İnternet arasında bir filtre işlevi görür. Bu kapasitede Web Uygulaması Güvenlik Duvarı gelen trafiği izler ve web sitenizin kodundaki güvenlik açıklarından yararlanabilecek kötü amaçlı istekleri engeller. Web Uygulaması Güvenlik Duvarı, web sitenizi SQL eklemeleri, siteler arası betik oluşturma (XSS) ve siteler arası istek sahteciliği (CSRF) gibi çeşitli saldırılardan korumaya yardımcı olur.

Web uygulamalarınız için merkezi koruma elde etmek için Azure Front Door'da Web Uygulaması Güvenlik Duvarı kullanmalısınız. Azure Front Door, dünyanın dört bir yanındaki kullanıcılara uygulamalarınızın statik ve dinamik web içeriğine hızlı, güvenilir ve güvenli erişim sağlamaya yardımcı olan bir içerik teslim ağıdır. Azure Front Door'da Web Uygulaması Güvenlik Duvarı dağıtmak, web hizmetlerinizi yaygın açıklara ve güvenlik açıklarına karşı korumaya yardımcı olur.

Kullanılmayan eklentileri ve temaları kaldırma

Kullanılmayan eklentileri ve temaları WordPress yüklemenizden kaldırmalısınız. Bu adım, WordPress web sitenizi güvenli tutmaya ve performansını iyileştirmeye yardımcı olmak için önemlidir. Etkin olarak kullanmadığınız bir eklenti veya tema bile, bilgisayar korsanlarının güncel olmayan veya kaydedilmemiş kodlardaki güvenlik açıklarından yararlanmaları için bir giriş noktası sağlayarak güvenlik riski oluşturabilir. Ayrıca, web sitenizde yüklü çok sayıda eklenti ve tema olması, yük süresini ve sunucu kaynağı kullanımını artırarak performansını yavaşlatabilir.

Statik içeriği PHP işlemcisinden boşaltma

PHP işlemcinizin yükünü azaltmak için resimler, videolar ve CSS dosyaları gibi statik içeriği boşaltmanız gerekir. Statik içeriğin boşaltılması web sitesi performansını iyileştirmeye ve sunucu yükünü azaltmaya yardımcı olur. Kullanıcı bir web sitesini ziyaret ettiğinde, sunucu PHP kodunu işler ve dinamik olarak HTML içeriği oluşturur. Bu işlem yoğun kaynak kullanır. Ancak statik içerik sık sık değişmez, bu nedenle statik içeriği doğrudan bir sunucu dosya sisteminden veya içerik teslim ağından sağlayabilirsiniz. Bu varlıkları boşaltarak sunucunuzun CPU ve RAM üzerindeki yükü azaltabilirsiniz. Bu yapılandırma sayfa yükleme sürelerinin daha hızlı olmasına, web sitesi performansının iyileştirilmesine ve daha iyi bir kullanıcı deneyimine neden olur.

Azure Front Door gibi bir içerik teslim ağı hizmetinden statik kaynaklar sunmanın başka avantajları da vardır. Örneğin, statik içeriği boşalttığınızda, sunucuları kullanıcıların coğrafi konumlarına yaklaştırarak gecikme süresini azaltabilir ve web sitesi hızını artırabilirsiniz.

Not

Özel uç nokta kullanarak Azure Front Door ile kaynağın güvenliğini sağlamaya yardımcı olmak için Azure Front Door'un Premium SKU'sunu kullanmanız gerekir. Daha fazla bilgi için bkz. Özel Bağlantı ile kaynağınızın güvenliğini sağlama.

İçerik teslim ağ önbelleği geçersiz kılınması

Azure Front Door veya Azure Content Delivery Network gibi bir içerik teslim ağı kullanan büyük WordPress yüklemeleri için önbellek geçersizleştirme mantığını uygulamanız gerekir. Yeni bir olay oluştuğunda, etkilenen sayfanın içerik teslim ağındaki önbelleği geçersiz kılmanız gerekir. Olaylara örnek olarak yeni bir makale yayımlama, var olan bir sayfayı güncelleştirme ve açıklama ekleme verilebilir. Geçersizleştirme mantığının, değişikliğin etkilediği tüm URL'leri bulması gerekir. Özellikle, mantığın içerik teslim ağı önbelleğinde kategoriler ve arşivler gibi dinamik olarak oluşturulan sayfaları bulması ve geçersiz kılması gerekir. Bazı yüklü temalar ve eklentiler ile küçük bir değişiklik bile her sayfayı etkileyebilir.

Bulma mantığını uygulamanın bir yolu, tüm URL'ler için önbellek geçersizleştirmesinin el ile tetiklenmesine olanak tanıyan bir eklenti kullanmaktır. Ancak tüm URL'lerin aynı anda geçersiz kılınmış olması, WordPress sitenizde trafiğin ani artışa neden olabilir.

İki faktörlü kimlik doğrulamasını etkinleştirme

İki öğeli kimlik doğrulaması, yüklemenizin güvenliğini artırır ve yönetici hesaplarınızın yetkisiz erişim ve saldırılara karşı korunmasına yardımcı olur. İki öğeli kimlik doğrulamasından yararlanmak için miniOrange kimlik doğrulaması eklentisi gibi bir eklenti kullanabilirsiniz. Diğer özelliklerin yanı sıra bu eklenti, WordPress sitenizde yönetici olarak oturum açan kullanıcılar için Microsoft Authenticator'ı iki öğeli bir kimlik doğrulama yöntemi olarak yapılandırmanız için bir yol sağlar.

XML-RPC erişimini devre dışı bırakma

XML-RPC, üçüncü taraf uygulamaların web sitenizin sunucusuyla etkileşim kurması için bir yol sağlayan uzak bir protokoldür. Bununla birlikte, bu protokol aynı zamanda, bunu deneme yanılma saldırıları başlatmak veya içerik yönetim sisteminizdeki güvenlik açıklarından yararlanmak için kullanan bilgisayar korsanları için de yaygın bir hedeftir. Azure Front Door kullanıyorsanız, BIÇIMINDE /xmlrpc.phpURL'ler için bir reddetme kuralı ayarlayarak XML-RPC'yi devre dışı bırakabilirsiniz.

Yönetim paneline erişimi kısıtlama

Varsayılan olarak, WordPress yönetim panelinize hesap kimlik bilgilerinize ve veya biçimine /wp-login.php /wp-adminsahip doğru URL'ye sahip olan herkes erişebilir. Sonuç olarak, bilgisayar korsanları ve diğer kötü niyetli aktörler kimlik bilgilerinizi tahmin etmeye, oturum ele geçirme gerçekleştirmeye, deneme yanılma saldırıları başlatmaya veya erişim kazanmak için WordPress'te güvenlik açıklarından yararlanmaya çalışabilir.

Web Uygulaması Güvenlik Duvarı bazı saldırıları önlemeye yardımcı olabilir, ancak birçok yönetici ağ düzeyinde WordPress yönetim paneline erişimi kısıtlamayı tercih eder.

Örneğin, Azure Front Door'da özel URL'lere erişimi engelleyebilirsiniz. Daha sonra merkez-uç topolojisi kullanan özel bir ağdan iç erişim sağlamak için Azure Uygulaması Lication Gateway'i kullanabilirsiniz. Application Gateway'in iç örnekleri Web Uygulaması Güvenlik Duvarı kurallarını ve Azure Front Door kurallarını destekler. Bu kurallar, WordPress yüklemenizin iç saldırılara karşı korunmasına yardımcı olur. İç saldırı riskini tolere edebilirseniz Application Gateway yerine Azure Load Balancer'ın iç örneğini kullanabilirsiniz. Load Balancer, Open Systems Interconnection (OSI) modelinin dördüncü katmanında çalışır.

WordPress yönetim paneli için engellenen genel erişimi gösteren mimari diyagramı. Merkez-uç topolojisindeki VPN iç erişim sağlar.

Bu mimarinin bir Visio dosyasını indirin.

Bazı WordPress eklentileri, biçimine /wp-admin/admin-ajax.php sahip URL'lerin genel olarak erişilebilir olmasını ve bu reddetme kuralından kaldırılmasını gerektirir.

Azure Key Vault'ta gizli dizileri depolama

Azure'da WordPress dağıtımlarının güvenliğini sağlamaya yardımcı olmak için, veritabanı parolaları ve TLS veya SSL sertifikaları gibi gizli dizileri Key Vault'ta depolamanızı öneririz. Bu bulut tabanlı hizmet şifreleme anahtarları, sertifikalar ve gizli diziler için güvenli depolama ve yönetim sağlamaya yardımcı olur.

Key Vault, yetkili uygulama ve hizmetlerinizin gizli dizilere güvenli bir şekilde erişmesine yardımcı olur. Bunları WordPress kapsayıcı görüntünüzde veya uygulama kodunda düz metin olarak depolamanız gerekmez.

Performansı ayarlama

WordPress performansını iyileştirmek için çeşitli ayarları yapmalı ve eklentileri kullanmalısınız. Aşağıdaki eklentiler WordPress yüklemelerinde hata ayıklamak için yararlı olabilir:

  • Sorgu İzleyicisi , her SQL sorgusu ve diğer eylemler için harcanan sürenin dökümünü sağlar. Örnek olarak PHP hataları, kancalar ve eylemler, blok düzenleyicisi blokları, sıralanmış betikler ve stil sayfaları ve HTTP API çağrıları verilebilir.

  • Laps, WordPress sayfa yüklemeleriyle ilgili performans bilgilerini gösteren bir eklentidir. İncelenmesi kolay görsel bir özet sağlayarak PHP yürütme, çekirdek işlemler, eklenti yüklemeleri, tema yüklemeleri, ana post döngüleri, kenar çubukları, veritabanı sorguları ve ağ istekleri gibi olayları otomatik olarak izler. Bu döküm, WordPress sayfasında zamanın nasıl harcanmış olduğunu gösterir.

WordPress'in barındırma zorlukları

WordPress uygulama mimarisiyle, aşağıdakiler dahil olmak üzere çeşitli barındırma zorlukları vardır:

  • Ölçeklenebilirlik. Barındırma mimarisinin yoğun trafik dönemlerinde ölçeği genişletebilmesi gerekir.
  • ReadWriteMany (RWX) depolama alanı. Varsayılan olarak, WordPress tüm statik varlıkları, eklentileri ve tema kaynak kodunu dizinde /wp-content/ depolar. Ölçeği genişletme sırasında tüm düğümlerin bu dizinden okuyabilmesi ve bu dizine yazabilmesi gerekir.
  • Saniye başına giriş/çıkış işlemleri (IOPS) depolama sınıfı. WordPress, PHP işlemcisinin gelen istekler sırasında başvurduğunu, yüklediğini ve çalıştırdığını 1.000'den fazla küçük .php dosyasından oluşur. Bazı protokollerle, çok sayıda küçük dosya yüklemek ek yükü artırabilir. Genel performans daha sonra aynı toplam boyutuna sahip bir dosyayı yüklemekten daha yavaştır. Sonuç olarak, depolama çözümünün yüksek IOPS'yi desteklemesi gerekir.
  • Önbellek geçersizliği. Uygulamada yeni bir makale yayımladığınızda olduğu gibi yeni bir etkinlik olduğunda önbelleği tüm düğümlerde geçersiz kılmanız gerekir.
  • Önbelleği oluşturma zamanı. Belirli bir düğümün ilk kullanıcısı için, önbellek oluşturulana kadar yanıt süresi yavaş olabilir.

Azure'da WordPress barındırma seçenekleri

WordPress App Service, Azure Kubernetes Service (AKS) ve Azure Sanal Makineler üzerinde çalıştırılabilir. Yüklemenin boyutu, seçtiğiniz konakta önemli bir faktördür. Küçük ve orta ölçekli yüklemeler için App Service uygun maliyetli bir seçenektir. Ancak, daha büyük yüklemeler için AKS veya VM barındırmayı göz önünde bulundurmalısınız.

App Service'te WordPress

Microsoft, Linux üzerinde App Service VM'lerde WordPress çalıştırmak için tam olarak yönetilen bir çözüm sağlar. Ayrıntılı bilgi için bkz . WordPress sitesi oluşturma. Bu çözüm:

  • WordPress yüklemesini hızlı ve kolay bir şekilde dağıtmanıza yardımcı olmak için tasarlanmıştır.
  • Küçük ve orta ölçekli WordPress kurulumları için idealdir.
  • Karmaşık yapılandırma veya yönetime gerek kalmadan Azure platformunun ölçeklenebilirliğini, güvenilirliğini ve güvenliğini sağlar.
  • Sitenizin her zaman kullanılabilir olduğundan emin olmak için otomatik güncelleştirmeler, yedeklemeler ve izleme gerçekleştirir.

Daha fazla bilgi için bkz . App Service'te WordPress.

Yoğun depolama kullanımlı iş yükleri

Büyük WordPress yüklemeleri depolama açısından yoğun olabilir. Bu senaryolarda, yüksek IOPS sınıfına ve düşük gecikme süresine sahip bir depolama çözümü kullanmanız gerekir. Azure NetApp Files'ın kullanılması önerilir. Azure NetApp Files, yoğun depolama alanı içeren WordPress dağıtımlarını destekleyebilir. Ayrıca veri koruma, yedekleme ve geri yükleme, bölgeler arası çoğaltma ve olağanüstü durum kurtarma gibi ek özellikler de sağlar.

WordPress kapsayıcı dağıtımı için AKS kullanmalısınız. Azure NetApp Files ile depolamayı Kubernetes Container Storage Interface (CSI) sürücüsü aracılığıyla uygulayın. Azure NetApp Files, tüm düğümlerin aynı depolama alanından okuyup yazabilmesi için bir ReadWriteMany mod sunar. Daha fazla bilgi için bkz . AKS WordPress mimarisi.

VM'lerde çalışan büyük bir WordPress yüklemesi için Azure NetApp Files'ı ağ dosya sistemi (NFS) protokolü aracılığıyla bağlamanız gerekir. Daha fazla bilgi için bkz . Sanal makinelerde WordPress.

Sabit WordPress kapsayıcısı

Geleneksel barındırma yöntemlerine alternatif bir yaklaşım, WordPress'i sabit bir kapsayıcıya dağıtmaktır. Bu yaklaşımın avantajları ve dezavantajları vardır. Kaynak kodu ve sabit kapsayıcılar içindeki tüm kaynaklar sabittir ve dağıtımdan sonra değiştirilemez. Kapsayıcı görüntüsünün yeni bir sürümünde yeni eklenti yüklemeleri veya WordPress çekirdek güncelleştirmesi de dahil olmak üzere tüm değişiklikleri yapmanız gerekir. Bu yaklaşım tutarlılığı sağlamaya ve geri alma işlemlerini kolaylaştırmaya yardımcı olsa da, değişiklik yapmak için bir dağıtım işlem hattı oluşturmanız gerekir. Ayrıca sabit kapsayıcılar, sundukları kalıcı depolama seçeneklerinde sınırlandırılabilir. Medya dosyalarını ve diğer verileri işlemek için bir çözüm geliştirmeniz gerekebilir. Bu sınırlamalara rağmen sabit kapsayıcı dağıtımları güvenlik, ölçeklenebilirlik ve taşınabilirlik açısından avantajlar sunar.

Özel kapsayıcı görüntüsüyle Azure Container Apps, AKS ve App Service gibi çeşitli platformlarda WordPress'in sabit bir kapsayıcılı sürümünü dağıtabilirsiniz. Kapsayıcı görüntüsünü Azure Container Registry'de barındırabilirsiniz.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Diğer katkıda bulunanlar:

  • Adrian Calinescu | Üst Düzey Bulut Çözümü Mimarı

Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Ürün belgeleri:

Eğitim modülleri: