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 kurumsal sitelere 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 App Service ya da başka bir çözüm kullanıp kullanmadığınız fark etmese de, 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ğlamaya yardımcı olur. Web siteniz ile internet 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ı kullanmanız gerekir. Azure Front Door, tüm dünyadaki 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 tasdiksiz koddaki güvenlik açıklarından yararlanması 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 daha hızlı sayfa yükleme süreleri, geliştirilmiş web sitesi performansı ve daha iyi bir kullanıcı deneyimiyle sonuçlanır.

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. Her yeni olay gerçekleştiğinde, 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 kolay 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. Content Delivery Network için önbellek geçersizleştirme mantığı örneği için bkz . GitHub'da Azure önbelleğini temizleme ve kanca uygulamasını dağıtma .

İki öğeli kimlik doğrulamayı etkinleştirme

İki öğeli kimlik doğrulaması, yüklemenizin güvenliğini artırır ve yönetici hesaplarınızın yetkisiz erişime 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 içerik yönetimi sisteminizde deneme yanılma saldırıları veya güvenlik açıklarından yararlanmak için kullanan bilgisayar korsanları için de yaygın bir hedeftir. Azure Front Door kullanıyorsanız, url'ler için biçiminde /xmlrpc.phpbir 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 /wp-adminbiçimine /wp-login.php sahip 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'teki 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 Application Gateway kullanabilirsiniz. Application Gateway iç örnekleri Web Uygulaması Güvenlik Duvarı kurallarını ve Azure Front Door kurallarını destekler. Bu kurallar, WordPress yüklemenizi iç saldırılardan korumaya yardımcı olur. bir iç saldırı riskini tolere edebilirseniz, Application Gateway yerine bir iç Azure Load Balancer örneğini kullanabilirsiniz. Load Balancer, Açık Sistemler Arası Bağlantı (OSI) modelinin dördüncü katmanında çalışır.

WordPress yönetim paneline erişimin engellendiğini 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'de depolamanızı öneririz. Bu bulut tabanlı hizmet şifreleme anahtarlarının, sertifikaların ve gizli dizilerin güvenli bir şekilde depolanmasına ve yönetilmesine 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 sorgusunda ve diğer eylemlerde 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.
  • Turlar , WordPress sayfasında zamanın nasıl harcanmış olduğunu gösteren bir döküm sağlar.

WordPress'in barındırma zorlukları

WordPress uygulama mimarisi ile, aşağıdakiler de 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 okuma ve yazma yapabilmesi 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 kurulumlar 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.

wordpress on App Service

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:

  • Bir 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 üzerinde WordPress.

Depolama açısından yoğun 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 öneririz. Azure NetApp Files depolama yoğunluklu 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 ağ dosya sistemi (NFS) protokolü aracılığıyla Azure NetApp Files 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ık sağlamaya yardımcı olsa ve geri alma işlemlerini basitleştirse de, 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.

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

Katkıda Bulunanlar

Bu makale Microsoft tarafından korunur. 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: