Bir Süreç Olarak WordPress Güvenliği

Yayınlanan: 2022-03-10
Kısa özet ↬ Geçen yıl, WordPress virüslü içerik yönetim sitelerinin %83'ünden sorumluydu. Bu enfeksiyonlara katkıda bulunmadığınızdan emin olun ve WordPress'i nasıl güvenli bir şekilde yöneteceğinizi öğrenin.

( Bu makalenin sponsoru Sucuri'dir .) WordPress güvenliğinin iyi bir itibarı yoktur. Alexa tarafından +40.000 WordPress sitesinde yapılan araştırmaya göre, tüm WordPress sitelerinin %70'inden fazlası bir tür güvenlik açığı taşıyor. WordPress temaları veya eklentileri geliştirirseniz veya web siteleriniz için WordPress kullanıyorsanız, bu sayı sizi korkutmalıdır.

%70'in bir parçası olmadığınızdan emin olmak için yapabileceğiniz çok şey var, ancak bir eklenti kurmaktan veya bir diziden kaçmaktan daha fazla iş gerektirir. Bu makaledeki pek çok tavsiye, Sucuri'nin WordPress güvenliği ve yılların kişisel deneyimi hakkındaki kılavuzundan gelmektedir.

WordPress Güvensiz mi?

WordPress, içerik yönetim sistemleri arasında en büyük pazar payına ve web'deki en popüler 10 milyon site arasında %30 pazar payına sahiptir. Bu tür bir başarı, onu bilgisayar korsanları için büyük bir hedef haline getiriyor. WordPress, diğer içerik yönetim sistemlerinden daha az güvenli değildir - sadece daha başarılıdır.

WordPress çekirdeğindeki güvenlik açıkları, tüm WordPress saldırılarının %10'undan azından sorumludur. Bunların çoğu güncel olmayan WordPress kurulumlarından. WordPress çekirdeğindeki güncel sürümlerde (sıfır gün açıkları olarak da bilinir) gerçek güvenlik açıklarında meydana gelen saldırı miktarı, tüm saldırıların küçük bir yüzdesini oluşturur.

Virüs bulaşan sitelerin geri kalanına eklentiler, temalar, barındırma ve kullanıcılar neden oldu. Ve bir WordPress web sitesi geliştiricisi olarak tüm bunlar üzerinde kontrole sahipsiniz. Bu size büyük bir güçlük gibi görünüyorsa, Sucuri'nin acentelik planını önerebilirim. Aksi takdirde, WordPress güvenliğiyle nasıl başa çıkacağımızı kendimiz bulalım!

Size Kim Saldırıyor ve Neden?

Önce bir efsaneyi yıkalım: Küçük bir WordPress web sitesi, bilgisayar korsanları için hala çekici bir hedeftir. Kişisel bazda saldırılar çok nadirdir. Saldırıya uğramış WordPress web sitelerinin çoğu, bir bot veya botnet tarafından otomatik olarak tehlikeye girer.

Botlar, sürekli olarak hacklemek için web siteleri arayan bilgisayar programlarıdır. Kim olduğun umurlarında değil; sadece savunmanızda bir zayıflık ararlar. Bir botnet, daha büyük görevlerin üstesinden gelmek için birçok botun bilgi işlem gücünü birleştirir.

Bilgisayar korsanları, öncelikle sunucunuzun bilgi işlem gücünü kullanabilmeleri ve başka bir amaç veya hedef üzerinde serbest bırakabilmeleri için sunucunuza girmenin bir yolunu ararlar. Bilgisayar korsanları, sunucunuzu aşağıdaki nedenlerle istiyor.

Spam Gönderme

Spam, tüm e-postaların yaklaşık %60'ını oluşturur ve bir yerden gönderilmesi gerekir. Birçok bilgisayar korsanı, sunucunuzu bir spam makinesine dönüştürebilmek için hatalı bir eklenti veya WordPress çekirdeğinin eski bir sürümü aracılığıyla sunucunuza giriş yapmak ister.

Diğer Web Sitelerine Saldırmak

Dağıtılmış hizmet reddi saldırıları, bir web sitesini yetişemeyecekleri kadar çok trafikle doldurmak için birçok bilgisayarı kullanır. Bu saldırıları azaltmak, özellikle doğru yapıldığında çok zordur. Sunucunuza giren bilgisayar korsanları, web sitelerine saldırmak için sunucu havuzuna ekleyebilir.

Kaynakları Çalmak

Madencilik kripto para birimi şimdi çok popüler, ancak çok fazla bilgi işlem gücü gerektiriyor. Bir sunucu çiftliğine çok fazla para harcamak istemeyen bilgisayar korsanları, korumasız WordPress web sitelerine girecek ve sunuculara veya web sitelerinizin ziyaretçilerine erişim kazanacak ve bilgi işlem gücünü çalacaktır.

Çarpma SEO Puanları

WordPress için özellikle popüler bir hack, veritabanına erişim sağlamak ve her gönderinin altına başka bir web sitesine bağlantı veren bir grup (gizli) metin eklemektir. Google'ın bu davranış konusunda daha dikkatli olmasına ve kara listeye almaların artmasına rağmen, kişinin SEO puanını yükseltmenin gerçekten hızlı bir yolu.

### Veri Çalma

Veriler, özellikle kullanıcı profilleri ve e-ticaret bilgileriyle bağlantılı olduğunda değerlidir. Bu verileri alıp satmak, bir saldırgana ciddi bir kazanç sağlayabilir.

Güvenlik Neden Önemlidir?

Suçluları tatmin etmemenin yanı sıra, web sitenizin varsayılan olarak güvenli olması için birçok neden vardır. Kendim bir sürü WordPress hack'ini temizledikten ve uğraştıktan sonra, kesinlikle uygun bir zamanda asla ortaya çıkmadıklarını söyleyebilirim. Temizlemek saatler alabilir ve size veya müşterinizin parasına mal olur.

Saldırıya uğramış bir WordPress web sitesini tekrar çalışır duruma getirmek için, üçüncü taraf kodunun (WordPress çekirdeği dahil) her bir parçasını kaldırmanız ve değiştirmeniz gerekir; hala temiz olduklarından emin olmak için kendi kodunuzu satır satır ve sunucudaki diğer tüm klasörleri tarayın; yetkisiz kullanıcıların erişim sağlayıp sağlamadığını kontrol edin; ve WordPress'teki, sunucunuzdaki ve veritabanınızdaki tüm şifreleri değiştirin.

Pek çok hizmet bir WordPress web sitesini sizin için temizleyebilir, ancak uzun vadede önleme çok daha iyidir.

Temizleme maliyetinin yanı sıra, hack'ler kaçırılan satışlar veya olası satışlar için de size çok pahalıya mal olabilir. Hack'ler sizi arama sıralamalarında daha aşağılara taşır, bu da daha az ziyaretçi ve daha az dönüşümle sonuçlanır.

Saldırıya uğramak, finansal maliyetinden çok itibarınızı zedeler. Ziyaretçiler size güvendikleri için web sitenize gelirler. Saldırıya uğramak itibarınıza zarar verir ve bunun onarılması uzun zaman alır.

Ayrıca, özellikle GDPR mevzuatının 2018 yazında yürürlüğe gireceği AB'de müşterileriniz varsa, gerçek bir yasal sorun olasılığı da vardır. Bu yeni mevzuat, düzgün bir şekilde ele alınmayan veri ihlalleri için ağır bir para cezası içermektedir.

Para, itibar ve yasal sorunlar: Kötü güvenlik size çok pahalıya mal olabilir. Web sitenizi, kodunuzu ve ekibinizi bir güvenlik zihniyetiyle kurmak için biraz zaman harcamak kesinlikle işe yarayacaktır.

Tüm bu pislikleri nasıl önleyebileceğimizi bulalım.

CIA Üçlüsü

CIA üçlüsü, her dijital güvenlik projesi için temel bir çerçevedir. Gizlilik, bütünlük ve kullanılabilirlik anlamına gelir. CIA, doğru taraflara bilgi erişimini sınırlayan, bilgilerin güvenilir ve doğru olmasını sağlayan ve bu bilgilere güvenilir erişimi garanti eden bir kurallar dizisidir.

WordPress için, CIA çerçevesi aşağıdaki gibidir.

Gizlilik

Oturum açmış kullanıcılara doğru rollerin atandığından ve yeteneklerinin kontrol altında tutulduğundan emin olun. Kullanıcılara yalnızca ihtiyaç duydukları minimum erişimi sağlayın ve yönetici bilgilerinin yanlış tarafa sızmadığından emin olun. Bunu, WordPress'in yönetici alanını sağlamlaştırarak ve kullanıcı adlarına ve kimlik bilgilerine dikkat ederek yapabilirsiniz.

Bütünlük

Web sitenizde doğru bilgileri gösterin ve web sitenizdeki kullanıcı etkileşimlerinin doğru şekilde gerçekleşmesini sağlayın.

Hem ön hem de arka uçtaki istekleri kabul ederken, her zaman amacın gerçek eylemle eşleşip eşleşmediğini kontrol edin. Veriler gönderildiğinde, temizleme ve kaçışları kullanarak kodunuzdaki verileri her zaman kötü amaçlı içerik için filtreleyin. Akismet gibi bir spam koruma hizmeti kullanarak istenmeyen postaların kaldırıldığından emin olun.

kullanılabilirlik

WordPress, eklentiler ve temalarınızın güncel olduğundan ve güvenilir (tercihen yönetilen) bir WordPress ana bilgisayarında barındırıldığından emin olun. Günlük otomatik yedeklemeler, web sitenizin herkese açık kalmasını sağlamaya da yardımcı olur.

Her üç unsur da destek için birbirine yaslanır. Bir kullanıcının gizli parolası kolayca çalınırsa veya tahmin edilirse kod bütünlüğü kendi kendine çalışmayacaktır. Tüm yönler, sağlam ve güvenli bir platform için önemlidir.

Güvenlik çok zor bir iştir. Kodda yapılabilecek işlerin yanı sıra, bu çerçevede çok büyük bir insan unsuru var. Güvenlik sürekli bir süreçtir; tek bir eklenti ile çözülemez.

Bölüm 1: Dürüstlük - Hiçbir Şeye Güvenmeyin

Kullanıcı eylemlerinin amacını ve işlediğiniz verilerin bütünlüğünü doğrulayın. İçinizdeki hippiyi kapıdan dışarı atın. Çevrimiçi hiçbir şeye güvenilemez, bu nedenle yaptığınız her şeyi olası kötü niyetli amaçlar için iki kez kontrol edin.

Veri Doğrulama ve Temizleme

WordPress, verileri işlemede mükemmeldir. Her etkileşimin doğrulanmasını ve her veri bitinin sterilize edilmesini sağlar, ancak bu yalnızca WordPress çekirdeğindedir. Kendi eklentinizi veya temanızı oluşturuyorsanız veya hatta yalnızca bir üçüncü taraf kodunu kontrol ediyorsanız, bunun nasıl yapılacağını bilmek çok önemlidir.

 //Cast our variable to a string, and sanitize it. update_post_meta( $post->ID, 'some-meta', sanitize_text_field( (string)$_POST['some-meta'] ) ); //Make sure our variable is an absolute integer. update_post_meta( $post->ID, 'some-int', absint( $_POST['int'] ) );

Bu örnekte, update_post_meta kullanarak bir WordPress gönderisine iki parça veri ekledik. Birincisi bir dizedir; bu yüzden, onu PHP'de bir dize olarak çevirdik ve istenmeyen karakterleri ve etiketleri, WordPress'in birçok temizleme işlevinden biri olan sanitize_text_field ile çıkardık.

Ayrıca bu gönderiye bir tamsayı ekledik ve bunun mutlak (ve negatif olmayan) bir tam sayı olduğundan emin olmak için absint kullandık.

update_post_meta gibi temel WordPress işlevlerini kullanmak, doğrudan WordPress veritabanını kullanmaktan daha iyi bir fikirdir. Bunun nedeni, WordPress'in sözde SQL enjeksiyonları için veritabanında depolanması gereken her şeyi kontrol etmesidir. Bir SQL enjeksiyon saldırısı, web sitenizdeki formlar aracılığıyla kötü amaçlı SQL kodu çalıştırır. Bu kod, örneğin, her şeyi yok etmek, kullanıcı verilerini sızdırmak veya yanlış yönetici hesapları oluşturmak için veritabanını manipüle eder.

Özel bir tabloyla çalışmanız veya WordPress'te karmaşık bir sorgu gerçekleştirmeniz gerekirse, yerel WPDB sınıfını kullanın ve SQL enjeksiyon saldırılarını önlemek için tüm sorgularınızda prepare işlevini kullanın:

 $tableName = $wpdb->prefix . “my_table”; $sql = $wpdb->prepare( “SELECT * FROM %s”, $tableName ); $results = $wpdb->get_results( $sql );

$wpdb->prepare, SQL enjeksiyon saldırısı olasılığının olmadığından emin olmak için her değişkenden geçer.

kaçmak

Çıktıdan kaçmak, girdiyi sterilize etmek kadar önemlidir. Verileri kaydetmeden önce doğrulamak önemlidir, ancak hala güvenli olduğundan %100 emin olamazsınız. Hiçbir şeye güvenme. WordPress, eklentilerin ve temaların anında verileri değiştirmesini sağlamak için çok sayıda filtre kullanır, bu nedenle verilerinizin diğer eklentiler aracılığıyla da ayrıştırılması için iyi bir şans vardır. Temanıza veya eklentinize eklemeden önce verilerden kaçmak akıllıca bir şeydir.

Kaçmak, esas olarak siteler arası komut dosyası çalıştırma (XSS) saldırılarını önlemek içindir. XSS saldırıları, web sitenizin ön ucuna kötü amaçlı kod enjekte eder. Kaçan verilerin ek bir avantajı, işaretlemenizin daha sonra hala geçerli olduğundan emin olabilmenizdir.

WordPress'in birçok kaçış işlevi vardır. İşte basit bir örnek:

 <a href=“<?php echo esc_url( $url );?>” title=“<?php echo esc_attr( $title );?>”><?php echo esc_html( $title );?></a>

Mümkün olduğunca geç kaçın. Bu, verileriniz üzerinde son sözü söylemenizi sağlar.

Taleplerin Güvenliğini Sağlama

SSL'yi etkinleştirdiyseniz ve iyi bir ana makineniz varsa, WordPress yönetici istekleri zaten oldukça güvenlidir, ancak bazı güvenlik açıkları hala mevcuttur. Bir kullanıcının amacını kontrol etmeniz ve gelen isteğin oturum açmış gerçek kullanıcı tarafından yapılmış bir şey olduğunu doğrulamanız gerekir.

WordPress, amacı nonce ile doğrular. Bir nonce (veya "yalnızca bir kez kullanılan sayı"), WordPress'teki bu API'nin gerçekten doğru bir açıklaması değildir. Yalnızca sayıları kullanmaz ve daha çok her modern web çerçevesinde bulacağınız siteler arası istek sahteciliği (CSRF) belirtecine benzer. Bu belirteçler, bilgisayar korsanlarının istekleri tekrarlamamasını sağlar. Bu bir nonce'den çok daha fazlasıdır, ancak WordPress geriye dönük uyumluluktan hoşlanır, bu nedenle ad sıkıştı.

Bir kullanıcının yaptığı her savunmasız istekle birlikte nonces gönderilir. URL'lere ve formlara eklenirler ve isteği gerçekleştirmeden önce her zaman alıcı tarafta kontrol edilmeleri gerekir. Bir forma veya URL'ye nonce ekleyebilirsiniz. İşte bir formda kullanılan bir örnek:

 <form method= “post”> <!-- Add a nonce field: --> <?php wp_nonce_field( 'post_custom_form' );?> <!-- other fields: → ... </form>

Bu durumda, bizim için şöyle görünecek iki gizli alan oluşturan wp_nonce_field() basit yardımcı işlevini kullanıyoruz:

 <input type="hidden" name="_wpnonce" value="e558d2674e" /> <input type="hidden" name="_wp_http_referer" value="/wp-admin/post.php?post=2&action=edit" />

İlk alan, 'post_custom_form' dizesiyle oluşturulmuş bir kod kullanarak amacı kontrol eder. İkinci alan, isteğin WordPress kurulumundan yapılıp yapılmadığını doğrulamak için bir yönlendirici ekler.

Görevinizi formun veya URL'nin diğer ucunda işlemeden önce, nonce'yi ve geçerliliğini wp_verify_nonce ile kontrol edersiniz:

 if( wp_verify_nonce( $_REQUEST['_wpnonce'], 'post_custom_form' ) == false ){ wp_die( “Nonce isn\'t valid” ); }

Burada, eylem adımızla nonce'yi kontrol ediyoruz ve eşleşmezse formu işlemeyi durduruyoruz.

Üçüncü Taraf Kodu

Üçüncü taraf eklentiler ve temalar, bilgisayar korsanları için bir yuvadır. Ayrıca, web sitenizin güvenliğini sağlarken kırılması en zor somunlardır.

Çoğu WordPress hackine eklentiler, temalar ve WordPress'in güncel olmayan kopyaları neden olur . Hiçbir yazılım %100 güvenli değildir, ancak birçok eklenti ve tema ya geliştiricileri tarafından bir süredir güncellenmedi ya da başlangıçta güvenli değildi.

Daha az kod, daha az hack anlamına gelir. Bu nedenle, başka bir eklenti kurmadan önce kendinize gerçekten ihtiyacınız olup olmadığını sorun. Bu sorunu çözmenin başka bir yolu var mı?

Bir eklentiye veya temaya ihtiyacınız olduğundan eminseniz, dikkatlice değerlendirin. WordPress' eklenti dizinine göz atarken derecelendirmeye, "son güncelleme" tarihine ve gerekli PHP sürümüne bakın. Aradığınızı bulduysanız ve her şey çalışıyor gibi görünüyorsa, Sucuri veya WordFence gibi güvenilir bir güvenlik blogunda bundan bahsedildiğini arayın.

Diğer bir seçenek de kodu taramak ve uygun nonces, sanitasyon ve kaçış içerdiğinden emin olmaktır; bunlar genellikle iyi yazılmış ve güvenli kodun işaretleridir. PHP bilmenize veya eksiksiz bir kod incelemesi yapmanıza gerek yok. WordPress güvenlik işlevlerinin doğru kullanımını doğrulamanın basit ve hızlı bir yolu, eklentinin kodunu şu dizeler için aramaktır:

  • esc_attr
  • esc_html
  • wp_nonce_field
  • wp_nonce_url
  • sanitize_text_field
  • $wpdb->prepare

Bir eklenti, bu dizelerin tümünü içermiyorsa yine de güvenli olabilir, ancak bu dizelerin hiçbiri veya az sayıda bulunursa, bu bir kırmızı bayraktır. Bir güvenlik açığı bulursanız, lütfen bunu oluşturan kişiyle özel olarak paylaşın ve düzeltmeleri için zaman tanıyın.

WordPress eklenti alanındaki güvenlik açıklarını takip etmek, wpvulndb gibi girişimlerle daha kolay hale geliyor.

Not: Dışarıdaki bazı temalar, eklenti sürümlerini kodlarıyla birlikte paketler. Bu, WordPress'in kullanıma hazır harika bir bağımlılık yönetimine sahip olmadığının bir belirtisidir, ancak aynı zamanda çok kötü yazılmış bir temanın işaretidir. Güncellenemeyen kod tabanları içerdiğinden bu temalardan her zaman kaçının.

Temalar ve eklentiler nadiren yalnızca bir geliştirici tarafından yazılan kodu içerir. Besteci ve NPM , diğer kitaplıklara bağımlı olmayı o kadar kolaylaştırdı ki, popüler bir saldırı vektörü haline geldi. Kesintisiz bir WordPress teması veya eklentisi indiriyorsanız, bu gerçekten bir endişe kaynağı değildir, ancak Composer veya NPM kullanan araçlarla çalışıyorsanız, bağımlılıklarını kontrol etmenin zararı olmaz. SensioLabs tarafından sağlanan ücretsiz bir komut satırı arabirimi (CLI) aracıyla Besteci bağımlılıklarını kontrol edebilirsiniz. Snyk gibi (ücretsiz kullanabileceğiniz ancak premium seçenekleri de olan) bir servis, projenizdeki her bağımlılığı kontrol etmenizi sağlar.

2. Bölüm: Kullanılabilirlik: Basit Tutun

Ana hedefiniz web sitenizi kesintisiz olarak çevrimiçi tutmaktır. Birinci sınıf güvenlikle bile, yine de başınız belaya girebilir. Bu olduğunda, harika bir yedekleme sizi büyük bir baş ağrısından kurtaracaktır.

güncellemeler

Açık kaynak, güncellemeler olmadan var olamaz. WordPress web sitelerine yapılan saldırıların çoğu, çekirdek yazılımın veya eklentilerin eski sürümlerinde gerçekleşir. WordPress'in çekirdeğindeki güvenlik güncellemeleriyle artık otomatik olarak ilgileniliyor (bunu devre dışı bırakmadıysanız, canavar!), ancak eklentilerdeki güvenlik güncellemeleri farklı bir hikaye.

Güncelleme, popüler, güvenilir eklentilerle normalde güvenlidir, ancak tüm eklentiler web sitenizde yayınlanmadan önce test edilmelidir. WP CLI gibi araçlar, her şeyi güncellemeyi çok daha kolay hale getirir. WordPress lider geliştiricisi Mark Jaquith, olası hataları filtreleyebilmeniz için tüm eklentileri otomatik olarak ancak kademeli olarak güncelleme konusunda mükemmel bir blog yazısı yayınladı.

Kullanıcılar, Roller ve Yetenekler

CIA üçlüsünde "bulunabilirlik", doğru ellerde bilgi almakla ilgilidir. Bununla ilgili temel önceliğimiz, arka uç kullanıcılarınızın yeteneklerini sınırlamaktır. Herkese yönetici hesabı vermeyin.

WordPress'teki yönetici hesabı alışılmadık derecede güçlüdür. Vanilya WordPress'te, tam kod tabanınızı WordPress yönetici hesabından değiştirmek için bir seçenek bile var. (Bu sizin için yeniyse ve bunu devre dışı bırakmadıysanız, lütfen yapın.)

WordPress'teki roller ve yetenekler sistemi güçlüdür ve kodda değiştirilmesi çok kolaydır. WordPress ile çalışırken birçok yeni rol oluşturuyorum. Bunun ana avantajı, çeşitli kullanıcıların sistemin hangi bölümlerine eriştiği üzerinde tam kontrol sahibi olmanızdır, ancak bir başka büyük fayda, üçüncü taraf kodunun WordPress çekirdeğinin standart özelliklerini değiştirmesini engellemesidir.

E-posta

WordPress genellikle e-postayı bulunduğu sunucu aracılığıyla işler, ancak bu, tüm e-postalarınızı tamamen üzerinde çalıştığı sunucuya bağımlı hale getirir. Bir SMTP hizmeti kullanarak e-postalarınızın ele geçirilmesini ve spam olarak görülmesini önleyin. Tüm postalarınızın güvenli bir SMTP bağlantısı üzerinden gönderildiğinden emin olmak için birçok eklenti seçeneği mevcuttur.

Ancak bir Gönderen Politikası Çerçevesi (SPF) kaydı eklemek için alan adının DNS ayarlarına erişmeniz gerekir. Tüm iyi SMTP hizmetleri, eklenmesi gereken tam kaydı sağlayacaktır. Bir SPF kaydı, SMTP hizmetinizin etki alanı tarafından kendi adına e-posta gönderme yetkisine sahip olmasını sağlar.

izleme

Web sitenizi çevrimiçi olarak izlemek, tamamen otomatikleştirilebilen 7/24 bir görevdir. WordPress durumunda, çalışma süresi ve dosya bütünlüğü ile ilgileniyoruz.

Çalışma süresini izlemek, genellikle iyi bir ana bilgisayarın sizin için yapacağı bir şeydir. Uptime Robot gibi araçlar daha da fazla güvenlik sağlar. İlk 50 web siteniz tamamen ücretsizdir.

Dosya bütünlüğü ile ilgili olarak, bir bilgisayar korsanı sunucunuza erişim sağlarsa kodunuzu değiştirebilir.

Bu durumda, eklentiler sorununuzun cevabıdır. Sucuri'nin harika bir denetleme eklentisi var. Kurulumunuzdaki tüm dosyaları, bilinen kötü amaçlı kodlardan oluşan geniş bir veritabanına karşı kontrol eder. Ayrıca, WordPress çekirdeğinin hala %100 WordPress çekirdeği olup olmadığını kontrol eder ve bir ihlal olup olmadığı konusunda sizi uyarır, böylece mümkün olan en kısa sürede düzeltebilirsiniz.

Yedeklemeler

Her güvenlik sürecinin nihai arıza güvenliği, otomatik yedeklemelerdir. Çoğu iyi sunucu bunu sizin için yapar, ancak sunucunuz yedekleme sunmuyorsa başka iyi seçenekler de vardır. Automattic, VaultPress adında bir tane yapar ve BackupBuddy gibi araçlar bir Dropbox hesabına veya bir Amazon S3 kovasına yedeklenir.

WordPress yedekleme alanındaki güvenilir hizmetlerin çoğu, premium hizmetler veya premium eklentilerdir. Verilerinizi tam olarak kontrol etmeniz gerekip gerekmediğine bağlı olarak, bir hizmet yerine bulut ana bilgisayarıyla birlikte gelen bir eklentiyi tercih edebilirsiniz. Yine de biri her kuruşuna değer.

Barındırma

WordPress, sunucunuzda çalışan tek yazılım parçası değildir. Berbat bir barındırmadayken çok sayıda saldırı vektörü açıktır. Aslında, kötü barındırma, WordPress'in hala eski PHP sürümlerini desteklemesinin ana nedenidir. Yazma sırasında, WordPress'in kendi istatistik sayfası, tüm WordPress kurulumlarının %32,5'inin artık güvenlik güncellemeleri almayan PHP sürümlerinde çalıştığını bildiriyor.

10 Mayıs 2018 itibariyle WordPress'teki PHP sürümleri. (Geniş sürümü görüntüleyin)

PHP 5.6 ve 7.0'da çalışan kurulumların neredeyse %60'ına dikkat edin ve güvenlik yamaları yalnızca bu yılın sonuna kadar alacak.

Barındırma, yalnızca sunucunuzun yazılımını güncel tutmak için önemli değildir. İyi bir ana bilgisayar, otomatik günlük yedeklemeler, otomatik güncellemeler, dosya bütünlüğü izleme ve e-posta güvenliği gibi daha birçok hizmet sunacaktır. Yönetilen WordPress ana bilgisayarları ile size veritabanı erişimi olan bir çevrimiçi klasör sağlayan ana bilgisayarlar arasında büyük bir fark vardır.

En iyi tavsiye, iyi yönetilen bir WordPress ana bilgisayarı bulmaktır. Biraz daha pahalıya mal olurlar, ancak WordPress web siteniz için harika bir omurga sağlarlar.

Bölüm 3: Gizlilik

Kod tabanınızın olabildiğince güvenli olduğundan eminseniz ve kötü amaçlı yazılım tarayıcıları ve yedekleriyle çevrili harika bir WordPress ana bilgisayarındaysanız, o zaman hala güvenlik sorunları yaşayacaksınız, çünkü insanlar en kötüsüdür. … İnternet güvenliğinde.

Gizlilik kendinizi, müşterinizi ve web sitesinin kullanıcılarını eğitmekle ilgilidir.

Gizli veriler

Bunu bilmiyor olabilirsiniz, ancak eklentileriniz ve temalarınız muhtemelen değerli gizli veriler gösteriyor. Örneğin, WP_DEBUG değerini true olarak ayarladıysanız, her bilgisayar korsanına web sitenizin sunucudaki kök yolunu gösteriyorsunuz demektir. Hata ayıklama verilerinin üretim web sitenizde yeri olmamalıdır.

Bir diğer değerli veri kaynağı ise yorumlar ve yazar sayfalarıdır. Bunlar kullanıcı adları ve hatta e-posta adresleriyle doludur. Bir bilgisayar korsanı, web sitenize girmek için bunları zayıf bir şifreyle birlikte kullanabilir. Dış dünyaya ne gösterdiğinize dikkat edin.

Ayrıca, wp-config.php .gitignore dosyanıza koyduğunuzu bir kez daha kontrol edin.

Yalnız Kodlamayın

Bir çok hatanın kod tabanınıza gizlice girmesini önlemenin bir yolu, eşli programlama yapmaktır. Tek başınızaysanız, bu çok daha zor, ancak hızlı kod denetimleri yapmak isteyen birçok çevrimiçi topluluk var. Örneğin WordPress, platformunun gelişimi hakkında her şeyi iletmek için Slack'i kullanır. Orada yardım etmeye istekli birçok insan bulacaksınız. Daha yavaş ama daha iyi alternatifler WordPress forumları, StackOverflow ve GitHub Sorunları'dır, burada sorularınız (ve cevapları!) kaydedilir, böylece diğer insanlar onlardan faydalanabilir.

Giriş istemek zor olabilir, ancak insanlar uzmanlıklarını göstermeyi severler ve WordPress'in genel olarak çok açık ve misafirperver bir topluluğu vardır. Mesele şu ki, kodunuzun kalitesi hakkında hiçbir zaman girdi istemezseniz, kodunuzun güvenli olup olmadığı hakkında hiçbir fikriniz olmayacak.

Girişler ve Şifreler

Müşterilerinizin içeriklerini yönetmek için WordPress'e giriş yapmaları gerekecek. WordPress çekirdeği, zayıf parolaların geçmesini önlemek için elinden geleni yapar, ancak bu genellikle yeterli değildir.

Web sitenize iki faktörlü kimlik doğrulama için bir eklenti ve oturum açma girişimlerine bir sınır eklemenizi tavsiye ederim. Daha da iyisi, parolaları tamamen ortadan kaldırın ve sihirli bağlantılarla çalışın.

Güven Ama Doğrula

Bu yazıda şimdiye kadar sosyal mühendislikten hiç bahsetmedik. Hız kazanan bir bilgisayar korsanlığı biçimidir, ancak genellikle WordPress web sitelerine girmek için kullanılmaz. Bununla birlikte, güvenliği göz önünde bulundurarak web sitenizin etrafındaki kültürü kurmanın mükemmel bir yoludur. Bunun nedeni, sosyal mühendisliğe karşı en iyi savunmanın “Güven ama doğrula” olmasıdır.

Bir müşteri, bir kullanıcı veya patronunuz güvenlikle ilgili bir şey istediğinde, bununla başa çıkmanın en iyi yolu güvenmek, ancak önce söylediklerinin doğru olup olmadığını doğrulamaktır.

Bir müşteri, WordPress'e yönetici erişimine ihtiyaçları olduğunu iddia edebilir, ancak işiniz bunun doğru olup olmadığını doğrulamaktır. Gerçekten erişime ihtiyaçları var mı, yoksa rollerindeki tek bir yeteneği mi kaçırıyorlar? Olası yeni saldırı vektörleri eklemeden bu sorunu çözmenin bir yolu var mı?

"Güven ama doğrula", güvenlik soruları söz konusu olduğunda basit ama etkili bir mantradır ve insanları hızlandırmaya gerçekten yardımcı olabilir.

Çözüm

WordPress güvensiz mi? Hayır değil. WordPress çekirdeği sürekli olarak güncellenmekte ve düzeltilmektedir ve bildirilen çoğu WordPress korsanlığı WordPress'in kendisinden değildir. WordPress'i çevreleyen kültür güvensiz mi? Bahse girerim!

Ancak yazdığınız her kod satırında, eklediğiniz her kullanıcıda, etkinleştirdiğiniz her eklentide ve ödediğiniz her barındırma faturasında güvenliği göz önünde bulundurarak, en azından itibarınızı ve itibarınızı koruyan güvenli bir web sitesi çalıştırdığınızdan emin olabilirsiniz. veri güvenli.