WordPress eklentisi için on altı güvenlik ipucu & amp;tema geliştiricisi
Birisi asla çok dikkatli olamaz! Geliştiriciler olarak görevlerimizin çoğu, yaptığımız site ve eklentinin güvenli olmasını sağlamaktır. İş, giderek daha karmaşık işlevsellik ile daha hızlı bir çözüm gerektirir. Bu iyi bir ilerleme olmasına rağmen, karmaşık bir proje oluşturmak da uygun güvenlik düzenlemeleri gerektirir. WordPress Security, web sitelerinin geliştirilmesinin en önemli yönlerinden biridir. Artan özelliklerin karmaşıklığı ile, birçok geliştirici web sitesi geliştirme ve temel web uygulamalarının güvenlik ilkelerini kaybeder. Bu, siber saldırılara ve diğer risklere açık olan arızalı bir web sitesi ile sonuçlanır.
Bu nedenle, projenizi oluştururken web sitelerinin ve temel web uygulamalarının geliştirilmesi için bazı güvenlik protokolleri uygulamanız önemlidir. Web geliştiricileri için sitenizi güvende ve sağlıklı tutmaya yardımcı olacak 16 güvenlik ipucu. 1. Hangi verilerin korunması gerektiğini öğrenin En önemli web sitesi geliştirme ilkelerinden biri, yalnızca gerekli verileri depolamanız gerektiğidir. Bir proje geliştirirken, şu üç soruyu sormanız gerekir:
Şirket tarafından hangi veriler depolanmalıdır?
Şirket tarafından hangi hassas veriler şifrelenmelidir?
Bir nedenden dolayı verilerden ödün verilirse, şirkete ne kadar zarar verebilir?
Sakladığınızda ne kadar hassas veriler, maruz kalma riski o kadar büyük olur. Hassas verileri kaydetmeniz gerekiyorsa, erişimi zor olacak şekilde göstermeniz gerekir.
2. Rol Yönetimi ve Erişim Kontrolü Uygulama Web siteleri, eklentiler veya temalar tasarlarken kullanıcılara mümkün olan en düşük ayrıcalığı vermek önemlidir. Uzmanlık, kullanıcıların yalnızca ihtiyaç duydukları şeyi alması ve diğer alanlara erişemeyeceği sınırlı olmalıdır. Örneğin, katkıda bulunanlar yeni yayınlar ve sayfalar yapabilmeleri için sınırlı olmalı, ancak bunları yayınlamamalıdır. Editör yeni bir gönderi oluşturabilmeli ve yayınlayabilmeli, ancak tasarımı veya eklentiyi değiştiremez. Aynı şekilde, sınırlamak istediğiniz eklenti veya temada belirli işlevsellik geliştirirken, kurulum sırasında yeni WordPress kullanıcılarının rolünü oluşturduğunuzdan emin olun. Geliştirdiğiniz eklentiyi veya temayı kullanacak her kullanıcıya doğru rol verilmesi için yöneticiyi bilgilendirin. Aşağıda, yapının nasıl görüldüğüne dair hızlı bir resim temsilidir.
Bu yaklaşım sorunu en aza indirir, çünkü ne kadar hasar verilebileceğini sınırlayabiliriz. Ayrıca, web sitesinin aslında olmaması gereken alanda oynamayı merak eden kullanıcıların hatalarının veya hatalarının neden olduğu hasarı da sınırlandırabilirsiniz. Ayrıca, rollerine bağlı olarak geliştirme ekibine erişimi sınırlamanız gerekir. 3. Web sitesi kimlik doğrulamasının kimlik doğrulamasını uygulamak, kullanıcıların web sitesinin sınırlı alanlarına erişmek için kimliklerini doğrulamalarını sağlayan bir güvenlik sürecidir.
Sınır Oturum Açma Çabaları: Bu araç, giriş çabalarının sayısını sınırlandırarak kaba kuvvet saldırılarından korunmanızı sağlar. Bu aynı zamanda anti-spam içerir ve oturum açma kullanıcıları otomatik olarak etkin değildir.
WP2 FA: WP2FA eklentisi, web sitenize anında iki faktör kimlik doğrulaması eklemenizi sağlar. Ayrıca Google Authenticator, Authy, FreeTP, Duo Security ve diğerleri gibi birkaç 2FA uygulamasını da destekler.
Kalkan Güvenliği: Bu eklenti, Google Authenticator ve SMS 2FA gibi 2FA uygulamalarını desteklemez, ancak Yubikey kullananlar için kullanışlıdır.
WPassword: Bu eklenti, WordPress siteniz için güçlü bir şifre uygulamanıza, kullanıcıları çok fazla başarısız giriş çabasına sahip ve daha fazlasını bloke ettirmenize yardımcı olur. Bu, WooCommerce ve diğer üçüncü taraf eklentileriyle sorunsuz bir şekilde entegre edilmiştir.
4. Temanızı veya eklentinizi, tema veya eklenti yayınlanmadan önce yayınlamadan önce kontrol edin, kodunuzun hatalardan arınmış olduğundan emin olmanız gerekir. Kodunuzdaki herhangi bir güvenlik açığını tespit etmek için belirli besteci bağımlılıklarını kullanabilirsiniz.
WordPress web siteleri için önerilen bazı bağımlılıklar:
İnceleme Teması
WP kodlama standardı
Bu kodlama standardı, yazdırmadan önce her zaman veri yayınlamak, tüm istekler için nonce kullanmak, kullanmadan önce istek verilerini temizlemek, doğru kullanıcı iznini vermek ve kodunuzu güvence altına almak için daha fazlası gibi katı kodlama kurallarına sahiptir. Kendi temanızı veya eklentinizi geliştirirseniz bu araçlar çok iyidir. Ayrıca WPSCAN güvenlik tarayıcısını kontrol etmeniz gerekir. Bu, herhangi bir güvenlik açığı bulmak için web sitenizi kontrol eden harika bir çevrimiçi web sitesi güvenlik tarayıcısıdır.
5. Belirli PHP işlevlerinden kaçının Eval () ve unsenialize () gibi belirli PHP işlevleri, sistem verilerini açığa çıkarabilir ve sunucunun kapatılmasına veya bilgisayar korsanlarından tüm sunucu bilgilerine erişmesine neden olabilecek sunucu verilerinin açılmasına neden olabilir. Mümkünse kaçınmanız gereken bazı PHP işlevleri şunlardır: Değer (): Değerlendirme PHP kodunu keyfi olarak yürütebilir. Bu, doğru kullanılmazsa kodunuzu bir enjeksiyon saldırısına maruz bırakabilir. Serialize () veya Unsenialize (): Kullanıcı tarafından sağlanan girişle Serialize () veya Unserialize () kullanmayın. Saldırgan bu işlevlerden yararlanabilir. Remer.md5 () ‘i çalıştırmak için seri bir hakem nesnesi ile bir dizeyi özleyebilirler: İnternet, MD5 Cryptography () 1 ile ilgili incelemelerle doludur ve güvensiz olarak kabul edilir. SHA-2 gibi daha iyi karma işlevleri kullanın. SHA1 (): SHA1 (), karma algoritmasının hızlı doğası nedeniyle kullanılmaması gereken başka bir karma işlevidir. Herhangi bir modern çerçevede MD5 () yerine karma SHA-2 algoritmasının kullanılması önerilir. 6. Lint araç kodundaki problemleri bulmak için Linter’ı kullanın, program hataları ve stilleri için kaynak kodunuzu kontrol eden temel statik kodun bir analizidir. Linter’ın ses tonu projenin çalışmasını sağlamak için dostça olmalıdır.
Lint kodu, web siteleri veya uygulamalar geliştirirken potansiyel güvenlik açığı bulmanın ve hataları azaltmanın iyi bir yoludur. PHP, JS ve HTML’nin geliştirilmesi için belirli güvenlik linerlerini kullanabilirsiniz. PHP kodunuzun statik analizi için bazı önemli araçlar şunlardır:
PHP-Paralel-Lint
Sonar tiftik
Mezmur
Lindanda PHP, HTML ve JavaScript lired için Sonarlint’i de kullanabilir.Diğer önemli JS Linter:
JS Lint
Buz tapı
7. Giderek karmaşıklaşan yazılımlarla kullanılmayan kodları ve eklentileri sil, koddaki güvenlik açığı potansiyeli de artar.WordPress temaları ve eklentileri farklı değildir.HTML5, CSS ve JavaScript gibi artmaya devam eden kod özellikleri, geliştiricilerin zengin web uygulamaları oluşturmasına izin verir.
Bununla birlikte, uygulamanın artan karmaşıklığı çift kenarlı bir kılıçtır.Kullanıcılar tarafından beklenen özellikleri sağlamaya yardımcı olurken, uygulama saldırısının yüzeyini de genişletirler.Güvenlik açığı ile başa çıkmak için bir adım, kullanılmayan bir kodu silmektir.
Farklı kullanıcılar web sitelerinin veya web uygulamalarının tüm özelliklerini gerektirmeyebilir. Her uygulamadaki kullanıcı ihtiyaçlarına göre gerekli olmayan özellikleri silerek, saldırının yüzeyini ve ilgili riskleri azaltabilirsiniz. WordPress’te bir web sitesi geliştirmek isterseniz, kodlar açısından hafif kalırken ihtiyaçlarınızı karşılayan temaları ve eklentileri kullanmanızı öneririz. Sadece web sitenizi güvende tutmakla kalmaz, aynı zamanda arama motorlarını optimize etmeye yardımcı olur. İşte mevcut en iyi ışık ve en hızlı WordPress temalarından bazıları. 8. Sunucu tarafının ve istemcinin tarafının doğrulanmasını kullanın Özel bir kod yazmayı seven biriyseniz, istemcinin tarafının ve sunucu tarafının doğrulanmasını kullanmak önemlidir. Müşterinin tarafının doğrulanması, kullanıcıların yanlış veriler gibi ortak hatalar yapmaktan veya alanı unutmaktan korumasına yardımcı olur. Doğrulama, sunucuya ulaşmadan önce geçersiz verileri yakalar ve zaman ve para tasarrufu sağlar. İstemcinin tarafının doğrulanması yalnızca sunucuya ileri geri yolculuk başarısız olduktan sonra gerçekleşirse, kullanıcıya hatalarını hemen düzeltmelerine izin vermeden yanlış yaptıklarını söylemek için bir gecikme ile karşılaşacaksınız. Ancak, yalnızca müşterinin tarafının doğrulanması bir güvenlik eylemi olarak yeterli değildir. Ayrıca sunucu tarafı doğrulamasını kullanmanız gerekir. Sunucu tarafı doğrulaması sizi zararlı girdilerden ve diğer saldırı vektörlerinden korur.
9. Kullanıcı girişi sanitasyonu için her kullanıcı girişini ve veri talebini temizleyin, kullanıcılardan verileri denetlemek, temizlemek ve filtrelemek için siber güvenlik önlemleridir ve sistem içine tehlikeli kod enjeksiyonunu önlemek için yetkisiz veya istenmeyen karakterlerden ve dizelerden ateş eder. Bilgisayar korsanları belirli komutları enjekte edebilir ve web sitenizin güvenliğini tehlikeye atabilecek eylemler alabilir. Giriş sanitasyonu, veri bütünlüğünün korunmasına ve sistem güvenliğini artırmaya yardımcı olur. 10. Kalıcı iyileştirme uygulayın Bir güvenlik kontrolü yaparken, zaman zaman yeniden ortaya çıkmaya devam eden bazı güvenlik açığı görebilirsiniz. Kısmi yamalar eklemek yerine kalıcı olarak çıkarabilmeniz için yeni güvenlik açığının temel nedenini belirlemeniz gerekir. Örneğin, geliştirdiğiniz tema veya eklentide SQL / XSS problemleri bulabilirsiniz. Bu gibi durumlarda, her bir girdi için sanitasyon sınavları oluşturmak yerine, işlevler/sınıflar yapın ve her kullanıcı girişi olduğunda, tüm verilerin bu sınıf/işlevden geçmesi gereken bir politika oluşturun. 11. Yapılandırma ve varsayılan hatalardan kaçının Güvenlik düzenlemeleri belirlenmediğinde ve uygulanmadığında ve varsayılan değer korunduğunda güvenlik yapılandırma hataları oluşur. Güvenlik kontrolü uygulanmaması veya hatalarla uygulanmaması, oluşturduğunuz temalarda, eklentilerde veya web sitelerinde güvenlik açığı olma olasılığını artırabilir. Yapılandırma hataları genellikle sistem, veritabanı yöneticileri veya geliştiriciler nedeniyle uygulama çerçevesini doğru bir şekilde yapılandırmaz, bu da bilgisayar korsanlarına zararlı açık yollara yol açar.
Varsayılan ayarların güvenli olduğundan ve şifreyi otomatik olarak ayarlamadığından emin olun (gerekirse). Örneğin, eklenti kullanıcının dosya yükleyebileceği dizini kullanıyorsa, her zaman kullanıcılardan parolayı ve dizin yollarını ayarlamalarını isteyin. 12. Kendinize söylemeye devam edin ve siber güvenliği güncellemek büyümeye devam eden bir alandır. Gelişmeleri takip edebilmeniz ve yeni tehditleri azaltabilmeniz ve kodunuzda görünen en son güvenlik güncellemelerini ve riskleri bilmeniz gerekir. Bir geliştirici olarak, her zaman haberleri bilmenize ve kodlamayı güvence altına almak, kodu daha iyi temizlemek ve kullanıcı girişini daha iyi işlemek için daha güvenli bir kod yazmanıza yardımcı olur. Bunu yapmak için çevrimiçi uzmanları takip edin ve en sevdiğiniz web geliştirme blogunu güncellemeye devam edin. Bunu okudun. Yani iyi başlıyorsun. İşte WordPress.blog Güvenlik Güvenliğindeki En İyi Kaynaklardan bazıları.
WordFence Blog
Sucuri Blog
13. Bugün yazdığınız kodu korumak yarın güvenli olmayabilir. Yeni güvenlik açığı varyantları ortaya çıkmaya devam ediyor ve geliştiricinin sonundan da sürekli bir artışa ihtiyaç duyuyor. Eklenti veya temaya yeni işlevsellik eklediğinizde, diğer modüllerin veya sınıfların güvenliğini veya koddaki işlevleri etkilemediğini kontrol edin. Evet ise, sorunu çözmek için kodu güncellemeniz gerekir. Tema kodunuzu veya eklentinizi korumak için GitHub gibi araçları da kullanabilirsiniz. Bu, kodu izlemenize ve sorunları daha hızlı düzeltmenize yardımcı olacaktır. Güvenlik her zaman gelişiyor. En son trendleri takip etmek için, güvenlik açığı bulabilmeniz ve düzeltebilmeniz için güvenlik testinizi güncellemeye devam etmeniz önemlidir. 14. Yazılım paketinizi düzenli olarak güncelleyin Bu beyinsizdir. PHP, JavaScript, HTML ve diğerleri gibi yazılım paketlerinizi korumak, yeni güvenlik sorunlarının üstesinden gelmeye yardımcı olur. Artan yazılım güvenliği her zaman sürekli bir endişe kaynağıdır ve bunun için her zaman yazılımın en son sürümünü güncelleriz. 15. Destek ekibinize gönderilen güvenlik biletlerini kaydetmek için ekibinizle işbirliği yaptı. Müşteriniz herhangi bir güvenlik sorunu bildirirse, bunların üstesinden gelmek için bir öncelik oluşturun. Son kullanıcınız çalışmanız hakkında en iyi geri bildirimleri verir, bu yüzden iyi kullanın!
Güvenlik sorunlarını geliştirme ekibiyle tartışın ve güvenlik sorunlarını çözmek için geliştirdiğiniz yamalar ve yayınlanmadan önce hiçbir şeye zarar vermeyeceğinden emin olun. Takım arkadaşlarıyla sık sık işbirliği yapmanız veya destekli tüm departmanları içeren büyük müşterilerle çalışmanız gerekiyorsa, süreci kolaylaştırmak için web semineri yazılımı kullanmalısınız. 16. Kendinizi çok dikkatli olamayacağınız en kötü senaryoya hazırlayın. Web ve web’de yayınlanan her şey asla% 100 güvenli olmayacaktır. Ancak, riski azaltmaya yardımcı olabilecek adımlar atabilirsiniz. Anahtar, güvenlik açığı potansiyelini değerlendirmek ve yeterli güvenlik önlemlerine uygun risk yanıtları geliştirmektir. Yeni saldırı teknikleri genellikle ortaya çıkar, bu nedenle en iyi uygulamanın bu sürecin bir parçası olarak gelişmesi gerekir. Örneğin, WordPress sitesi saldırıya uğrarsa, acil durum planı, bir hackleme meydana gelirse ne yapılacağını içermelidir. Web sitesini yeniden inşa etmek ve hizmetleri geri yüklemek için gereken rezerv, temizlik süreci ve adımlar içermelidir. Bu tür planlar, tüm paydaşların aşırı bilgilerle boğulmadan veya gereksiz eylemlerle aşırı tepki vermeden durumu hızlı bir şekilde iyileştirmelerini sağlayacaktır. Temanızın veya eklentinizin güvenliğini artırmak için başka hangi düşünceleri yapabilirsiniz?
Pek çok şey. Bilirsiniz, güvenli bir kod yazmak bir kez değildir. Teknoloji gelişti ve saldırı yöntemi onunla birlikte gelişti. Gerçek şu ki, tüm siber saldırıları önleyemez veya meydana gelebilecek riskleri azaltamazsınız. Amacınız, sahip olduklarınızla mümkün olduğunca çok şey yapmak ve bunu düzeltmek için kodunuzu sürekli olarak gözden geçirmektir. Web siteniz için iyi tanımlanmış bir güvenlik planı oluşturun ve en kötüsü ile başa çıkmaya hazır olun. En yüksek öncelik olarak güvenlik ile ilgili bilet veya raporlar aldığınızdan emin olun. Topluluğunuzda, tüm kullanıcılarınızın web sitelerini güncelleyip önleyebilmeleri için güvenlik iyileştirmeleri yayınladığınız bir blog yazısı veya duyuru yayınlayın. Siber güvenlik askeri stratejiden çok farklı değildir. Anahtar hazırlık! Umarım, bu yazı hazır olmanız için size yardımcı olmuştur. Bize yorumlarda, web sitenizin güvenliğini artırmak için ne gibi önlemler aldığınızı söyleyin. Bu makalede kullanılan referanslar [+]
bu makalede kullanılan referanslar