• Sonuç bulunamadı

WORDPRESS SIKILAŞTIRMA GÜVENLİK ÖNLEMLERİ

N/A
N/A
Protected

Academic year: 2022

Share "WORDPRESS SIKILAŞTIRMA GÜVENLİK ÖNLEMLERİ"

Copied!
30
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 0

WORDPRESS SIKILAŞTIRMA GÜVENLİK ÖNLEMLERİ

Yazar: Hamza ŞAMLIOĞLU Tarih: 13.03.2021

(2)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 1

İÇİNDEKİLER

WORDPRESS GÜVENLİK ÖNLEMLERİ... 4

WORDPRESS GÜVENLİK KONTROLLERİ ... 4

KURULUM SONRASI GÜVENLİK ADIMLARI ... 6

Parola ve Kullanıcı Bilgileri ... 6

Wp-config.php Sıkılaştırma ... 6

Wp-config.php Dosyasının Konumunu Değiştirmek ... 7

Wp-load.php Dosyasına Erişimi Engellemek ... 7

WordPress Plugins Dizin İçeriğini Gizlemek ... 8

WordPress .htaccess Dosyasına Erişimi Engellemek ... 8

WordPress Hata Ayıklama Modunu Kapatmak... 9

WordPress’i SSL Yayını Yapmaya Zorlamak ... 9

WordPress İçin Otomatik Güncellemeler ... 10

Zamanlanmış Görevleri Kapatmak ... 10

Tema Dosyası Düzenleme Editörünü Kapatmak ... 10

Eşsiz Doğrulama Anahtarlarını Değiştirmek ... 11

WordPress Dosya ve Dizin Ayarlarını Yapmak ... 12

Yükleme Klasörünü Güvenli Hale Getirmek; ... 13

Kullanıcı Hesap Politikası ... 14

WordPress Arama Fonksiyonunu Güvenli Hale Getirmek ... 14

WordPress Pingback Saldırılarına Karşı Önlem Almak ... 16

WordPress’in XML-RPC Erişimini Kapatmak ... 16

Wordpres REST API Özelliğini Kapatmak ... 17

WordPress Sürüm Bilgisini Kapatmak ... 17

WordPress Veritabanı Güvenlik Önlemleri ... 18

Wp-Admin Klasörüne Erişimi Sınırlamak ... 19

Ek WordPress Ayarları ... 20

İki Adımlı Kimlik Doğrulama ... 20

WordPress Yedekleme ... 20

Ücretsiz Çevrimiçi Tarayıcılar ... 21

WORDPRESS GÜVENLİK EKLENTİLERİ ... 22

All In One WP Security & Firewall... 22

ShieldSecurity Wordpress Plugin ... 27

Sucuri Wordpress Plugin ...29

(3)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 2

PRİVİA SECURİTY HAKKINDA

Siber güvenlik alanında “Privacy For You” sloganı ile hareket ederek güvenlik ve gizlilik kavramlarına farklı bir bakış açısı getirmeyi planlayan Privia Security, sahip olduğu tecrübesi ve uzman kadrosu ile sektördeki yerini 2018 yılında aldı.

Alanında uzman ve araştırmacı kadrosu ile kurumların siber güvenlik alanındaki tüm ihtiyaçlarına çözüm geliştirmek misyonuyla hareket eden Privia Security, ülkemizin önde gelen siber güvenlik araştırmacılarını kadrosunda barındırmaktadır.

Privia Security, kurumların IT ve OT varlıklarına yönelik sızma (penetrasyon) testleri siber güvenlik eğitimleri, red team ve kurumlara özel geliştirilen yazılımlar gibi çözümlerle siber güvenlik sektöründe fark yaratmayı amaçlamaktadır.

Privia Security olarak İstanbul ve Ankara‘da bulunan ofislerimizin yanı sıra Cumhuriyet Teknopark‘ta bulunan Ar-Ge merkezimizde müşterilerimize ve sektöre fayda üreten çalışmalarımıza devam etmekteyiz.

PriviaSecurity.com | @PriviaSec | info@priviasecurity.com

(4)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 3

GİRİŞ

WordPress, milyonlarca internet sayfasının, web uygulamalarının ve blogların altyapısını oluşturan ve günümüz internet dünyasında en çok kullanılan içerik yönetim sistemidir. Bugün itibari ile İnternetteki en iyi 10 milyon web sitesinin %40’ı Wordpress altyapısını tercih etmektedir.

WordPress’in kullanılabilirliği, geliştirme topluluğu, elbette ki web siteleri için popüler ve güvenli bir seçim olmasını sağlamaktadır. Ancak kullanılan eklentiler, temalar, yanlış yapılandırmalar ve benzeri hatalar sebebi ile bazı zafiyetler ortaya çıkmaktadır. Bu zafiyetler elbette ki popüler bir sistem olan Wordpress’in siber saldırganlar tarafından hedef alınmasına da neden olmaktadır.

WordPress sürekli güncellenen ve ortaya çıkan zafiyetlere karşı önlemler alan bir sistemdir. Çekirdek yazılımı, Açık Web Uygulama Güvenliği Projesi (OWASP) tarafından açıklanan ortak güvenlik açıkları olarak tanımlanan en iyi 10 liste de dahil olmak üzere ortak güvenlik tehditlerini ele alarak geliştirilmektedir.

WordPress güvenlik ekibi, WordPress çekirdek liderlik ekibi ile birlikte ve WordPress küresel topluluğu tarafından desteklenerek, WordPress.org'da dağıtım ve kurulum için mevcut olan temel yazılımdaki güvenlik sorunlarını belirlemek ve çözmek, ayrıca.

üçüncü taraf eklenti ve tema yazarları için en iyi güvenlik uygulamalarını önermek ve belgelendirmek için hizmet vermeye devam etmektedir.

Bu belgede Wordpress üzerinde alınabilecek güvenlik yöntemlerine yer verilerek Wordpress güvenlik önlemleri ve sıkılaştırma yöntemleri anlatılmıştır. Bu güvenlik önlemlerini hayata geçirmeden önce sisteminizin database ve ftp yedeğini almanızı tavsiye ederiz.

(5)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 4

WORDPRESS GÜVENLİK ÖNLEMLERİ

WordPress kurulumu ardından gerekli olan eklentilerin kurulumu ve tema ayarları sonrasında aşağıdaki gibi belirttiğimiz güvenlik önlemlerini kullanarak sisteminizi çok daha güvenli bir hale getirebilir ve siber saldırganlara karşı önlemler alabilirsiniz.

Blog, kurumsa site veyahut bir web uygulaması için Wordpress altyapısına sahipseniz aşağıdaki temel adımları yerine getirerek sistem güvenliği için önemli bir adım atabilirsiniz.

Güvenlik süregelen ve devam eden bir süreçtir ve bu sürecin doğru bir şekilde yönetilmesi günümüz teknoloji dünyasında zorunlu hale gelmiştir. Kişisel veya şirket bilgisayarınızı, çevrimiçi davranışlarınızı ve işlemlerinizi güvence altına almak atılacak olan adımların başında gelir.

Siber Güvenlik, üç ana alandan oluşmaktadır. Bu alanlar İnsan, Süreç ve Teknoloji olarak sıralanır. Aşağıdaki güvenlik adımları da bu süreçler doğrultusunda hazırlanmıştır.

WordPress Güvenlik Kontrolleri

Güçlü Parolalar Belirleyin: Parolalar en önemli kişisel verilerimizdir. Sistemlerimize girişte kullanmış olduğumuz bu bilgiler siber saldırganların tahmin, kopyalama, hackleme ve benzeri yöntemlerle sıkça deneme yaptıkları ve en önemli varlıklarımızdır. Güçlü bir parola kullanmak, siber saldırganlara karşı etkili ve önemli bir avantaj sağlayacaktır. Genel kullanımlar göze alındığında ise maalesef ki sistemlerde kullanılan parolaların tahmin edilebilir ve basit parolalar olduğunu ortaya koymaktadır.

Bu noktada güçlü bir parola belirleyerek ve parola saklama uygulamaları kullanarak güvenliğinizi üst düzeyde tutmanız tavsiye edilir. Güçlü bir parola için büyük harf, küçük harf, rakam ve özel karakter kullanılan, anlamsız ve en az 8 karakterli bir şifre oluşturmanız gerekmektedir.

Örnek: V1afC96&

Şifrelerin hatırlanması zordur ve karmaşık parola kullanmak bu durumu içinden çıkılmaz bir hale getirebilir. Diğer bir hatamız ise aynı şifreyi her yerde kullanmaktır.

Bu da yapılan en büyük hatalar arasında gelmektedir. Bu noktada Keepass, Laspass, Myki gibi parola saklama uygulamaları kullanarak bu dezavantajı avantaja çevirebilirsiniz.

Erişim Sınırlama; WordPress sitenize erişimi olan hesapların sayısını minimumda tutmak ve erişecek kişilerin yetkilerini doğru bir şekilde ayarlayarak güvenliğinizi sıkılaştırabilirsiniz. Bir sistemde birden fazla “Yönetici” yetkisi zaaflarınızın artmasına sebep olacağını ve riski artıracağınızı unutmamalısınız.

(6)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 5

Wordpress Eklentileri; WordPress siteniz üzerinde kullanılmayan tüm eklentileri kaldırmanızı tavsiye ederiz. Kullanılmayan eklentiler oluşturacakları güvenlik zafiyetleri ve güncellenmeme sebepleri ile büyük riskler oluşturabilirler. En az ayrıcalık ilkesi ile gizliliği, kullanılabilirliği ve bütünlüğünüzü koruyabilirsiniz.

Wordpress Temaları; WordPress siteniz üzerinde kullanılmayan tüm temaları kaldırmanızı tavsiye ederiz. Yedek bir tema kalmasını istiyorsanız, Wordpress’in standart temalarını (sürekli güncellenirler) bırakabilirsiniz. Kullanılmayan temalar oluşturacakları güvenlik zafiyetleri ve güncellenmeme sebepleri ile büyük riskler oluşturabilirler. En az ayrıcalık ilkesi ile gizliliği, kullanılabilirliği ve bütünlüğünüzü koruyabilirsiniz.

Wordpress İzolasyonu: Mümkünse tek bir barındırma hesabında çok sayıda farklı web sitesine sahip olmaktan kaçının. Genelde hosting dünyasında bir Cpanel veya bir Plesk üzerinde birden falza alan adı barındırılır. Bir hosting üzerinde birden fazla internet sitesi yayını yapılıyorsa, diğer sitelerin zafiyetleri üzerinden tüm sistemin etkileneceğini hatırlatmak isteriz. Sisteminizde bir zafiyet olmasa dahi, ortak olarak barındırıldığınız diğer alan adı üzerindeki zafiyet sebebi ile hacklenebilirsiniz.

Wordpress Yedekleme; Web sitenizi zarar görme ihtimaline karşı belirli periyotlarla yedeklemenizi tavsiye ederiz. Bu yedek hem database, hem de FTP için geçerli olmalıdır. Geri yükleyebildiğinizden emin olmak için ara sıra yedeklemelerin bütünlüğünü doğrulamanız gerekir. Web sitenizin güvenliğini tehlikeye atabilecek siber saldırıların sonrasında bir acil durum kurtarma planınız olmalıdır.

Wordpress Güncellemeleleri; Eklentiler ve temalar dahil olmak üzere WordPress sisteminizin güncel kalması ve sürekli olarak güncellenmesi güvenlik bakımından hayati önem taşımaktadır. Sitenizin üzerinde kurulmuş olan temalar ve eklentilerin güncellemelerini yapmak zorundasınız. Aynı zamanda WordPress sürüm güncellemelerini de vakit kaybetmeden yapmanızı tavsiye ederiz. Güncellemelerin bir kısmı ortaya çıkan problemlerden kaynaklıdır. Bu hatalar ve problemler de risk taşıyabilir.

Güvenlik Güncelleştirmeleri; Güvenlik açıkları tüm yazılımları etkileyen bir durumdur. Herhangi bir sistem üzerinde bir açıklık tespit edilebilir ve kötüye kullanılabilir. Bu tüm yazılım ve donanımları etkileyebileceği gibi WordPress içerik yönetim sistemini de etkilemektedir. WordPress’in güvenlik güncellemeleri çıktığında yönetim panelinizden anında haberdar olabilir ve bir tıklama ile sisteminizin güvenlik güncellemesini yaparak ortaya çıkan zafiyetlere karşı koruma sağlayabilirsiniz.

Güvenilir Kaynaklar Kullanın; Güvenilir olmayan kaynaklardan eklenti veya tema indirip sisteminize yüklemeyin! Özellikle de lisanslı uygulamaları ücretsiz adı altında yayınlayan sitelerden uzak durmalısınız. Çünkü bu temaların kodlarına zararlı kodlar ve Shell adını verdiğimiz arka kapılar yerleştirilmektedir. Eklenti kurmak istiyorsanız mutlaka WordPress paneli üzerinden eklentilerinizi sisteminize yükleyin. Üçüncü parti internet sitelerinin dağıtmış olduğu eklentiler ve temalardan uzak durun.

(7)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 6

Kurulum Sonrası Güvenlik Adımları

WordPress kurulumunu tamamladıktan sonra aşağıdaki adımları izleyerek Wordpress sisteminizde güvenlik sıkılaştırmaları gerçekleştirebilirsiniz.

Parola ve Kullanıcı Bilgileri

WordPress üzerinde oluşturduğunuz kullanıcılar için Wordpress varsayılan olarak karmaşık bir parola politikası uygular. Ancak bazı kullanıcılar “12345678” gibi güvenilmez ve tahmin edilebilir parolalar oluşturarak basite kaçabilir.

Sisteminizdeki bu tarz kullanıcıları uyararak karmaşık bir parola oluşturmanızı tavsiye ederiz. Aksi takdirde siber saldırganların bu parolaları tahmin ederek sisteminize giriş yapma olasılıkları çok yüksektir. Diğer bir yandan oluşturmuş olduğunuz parolaların aylık veya üç aylık peryotlarla değiştirilmesini tavsiye ederiz.

Parola saklama uygulamaları kullanarak parolalarınızı saklayabileceğiniz gibi, aynı parolayı farklı platformlarda da kullanmak, maalesef ki siber saldırganlar için bir fırsat niteliği taşımaktadır.

Wp-config.php Sıkılaştırma

WordPress altyapısının en önemli ve parolalar ile ayarların saklandığı yer wp- config.php dosyasıdır. Bu dosya içeriğinde yapacağınız bazı ayarlamalar ile sistem güvenliğini artırabilirsiniz. Bu dosya yanlış yapılandırmalar sonucunda dışarıdan okunabilir hale gelebilir. Bu noktada aşağıdaki yönergeleri izleyerek Wordpress’in wp-config.php dosyasına erişimleri kısıtlamanızı tavsiye ederiz.

Apache sunucular üzerinde wp-config.php dosyasının güvenliğini sağlamak için .htaccess dosyası içeriğine aşağıdaki kodu giriniz. Bu kod sayesinde wp-config.php dosyasının içeriği dışarıdan çağrılarak okunamaz ve dışarıdan erişime kapatılmış olacaktır.

<files wp-config.php>

order allow,deny deny from all

</files>

Bu dosya WordPress sisteminin en önemli dosyasıdır. Wp-config.php içerisinde veritabanına bağlantı için gerekli bilgiler bulunduğu gibi sisteminize özel ayarlar da bu dosya içerisinde yer almaktadır.

(8)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 7

Nginx sunucuları için ise, wp-config.php dosyasını aşağıdaki komutu kullanarak dışarıya olan erişim için kapatabilirsiniz.

## Erişim Engeli

location ~ /(\.|wp-config.php) { deny all;

}

Wp-config.php Dosyasının Konumunu Değiştirmek

Wp-config.php dosyası çok önemli olduğu için sadece şifrelemeye güvenemeyiz.

Şifreleme yöntemleri muhakkak ki profesyonel saldırganlar tarafından bir süre sonra kırılabilir. Eğer wp-config.php dosyamızın lokasyonunu değiştirirsek erişim konusunda bir önemli adım daha atmış olacağız.

Wp-config.php dosyasının bulunduğu dizini veya dosyanın direk ismini değiştirebiliriz. Bunu yapmak için de sitemizin ana dizinindeki wp-load.php dosyasını açarak wp-config.php yazan yerleri kendi klasörümüze uygun şekilde değiştirmemiz gerekiyor.

Not: Her güncellemeden sonra bu ayarlar eski haline döneceği için kalıcı hale getiren eklentileri kullanmanızı tavsiye ederiz. Bu eklentiler ile her güncellemede tekrar tekrar işlem yapmanıza gerek kalmayacaktır.

Wp-load.php Dosyasına Erişimi Engellemek

Güvenli olarak WordPress kullanmak için wp-load.php dosyasına erişimi engellemek gerekir. Bu noktada .htaccess dosyasını kullanarak wp-config.php dosyasına dışarıdan erişimi engellediğimiz gibi wp-load.php dosyasına olası yetkisiz erişimler için kısıtlama getirmeniz tavsiye edilir.

<files wp-load.php>

order allow,deny deny from all

</files>

(9)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 8

WordPress Plugins Dizin İçeriğini Gizlemek

WordPress sisteminizde kullanmış olduğunuz eklentiler üzerinde zafiyetler ortaya çıkabilir. Bu eklentiler de sürekli olarak siber saldırılar almakta ve zafiyetleri tespit edilmektedir. Saldırganlar zafiyet buldukları eklentiler üzerinden sisteminize yetkisiz erişim sağlayabilir.

WordPress’in Plugins isimli eklenti klasörü üzerinde gerekli olan güvenlik tedbirleri almak zorundayız. Siber saldırganlar ilk olarak example.com/wp-content/plugins klasörüne erişim isteğinde bulunurlar. Bu dizine açık erişim olduğunu takdirde klasörde yer alan tüm eklentileri öğrenebilirler.

Normal şartlar altında bu dizine erişimde içerisindeki klasörlerin listelenmemesi gerekiyor. Ancak sunucu konfigürasyon hatası veya kullanıcı hatası sebebi ile bu dizin açık olabilir ve klasörler listelenebilir. Bu sayede de saldırganlar sistemde bulunan eklentiler hakkında bilgi sahibi olacaktır. Dışarından gelen isteklerde eklentilerinizin listelenmesini engellemek istiyorsanız bu klasör içerisine index.html / index.php isimli bir boş dosya oluşturarak dizinin listelenmesini engelleyebilirsiniz.

Not: Güncel WordPress sürümlerinde varsayılan olarak boş bir index.php dosyası bulunur.

WordPress .htaccess Dosyasına Erişimi Engellemek

WordPress için Apache sunucularda .htaccess dosyası çok önemlidir. Bu dosya genelde WordPress’in standart yönlendirme içeriğini barındırır. Diğer bir yandan yukarıda belirttiğimiz gibi yetkisiz erişimleri engellemek için de kullanabilirsiniz.

Aşağıdaki kodu da .htaccess dosyamıza eklersek, .htaccess dosyamızın güvenliğini de sağlamış oluruz.

<files .htaccess>

order allow,deny deny from all

</files>

(10)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 9

WordPress Hata Ayıklama Modunu Kapatmak

WordPress hata mesajlarını kapatarak olası zafiyetlerin ortaya çıkmasını engelleyebilirsiniz. Wp-config.php dosyası içeriğinde aşağıdaki kodu ekleyerek hata ayıklama modunu kapatmanızı tavsiye ederiz. Debug modu olası Wordpress hatalarının görülmesi için kullanılır ve genelde geliştiriciler bu modu aktif ederek sistemdeki hataları incelemek için kullanırlar. Kod üzerindeki “false” değeri bu modu kapatır veya “true” şeklinde değiştirilerek hata modunu tekrar aktif hale getirebilirsiniz. Hata modunu aktif hale getirmek, sisteminizdeki olası hataları tespit etmek için ekrana hata mesajı basılmasını sağlar. Bu mod çoğu zaman kullanıldıktan sonra kapatılmaz ve siber saldırganların sistem hataları hakkında bilgi sahibi olmasına neden olabilir.

define( ‘WP_DEBUG’, false );

WordPress’i SSL Yayını Yapmaya Zorlamak

WordPress sitenizin SSL üzerinden yayın yapmasını tavsiye ederiz. SSL üzerinden yayın yapabilmek için bir SSL sertifikasına sahip olmalısınız. SSL sertifikaları ücretli satılabildiği gibi ücretsiz sürümleri de mevcuttur. Bu noktada Let’s encript veya Cloudflare kullanarak ücretsiz bir SSL sertifikasına sahip olabilirsiniz.

Sitenizin SSL üzerinden yayın yapması hem Google tarafında pozitif etki yaratır hem de saldırganlara karşı önemli bir adım atmış olursunuz. Sitenizin SSL üzerinden yayın yapma işlemlerini ayarladıktan sonra wp-config.php dosyası içeriğine aşağıdaki kodu ekleyerek SSL’i zorunlu kılabilirsiniz.

define(‘FORCE_SSL_ADMIN’, true);

(11)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 10

WordPress İçin Otomatik Güncellemeler

WordPress üzerinde veya CORE adını verdiğimiz çekirdekte de zaman zaman da olsa zafiyetler ortaya çıkmakta ve WordPress ekibi tarafından sürekli olarak tespit edilen bu zafiyetler sürekli olarak güncelleme gönderilerek kapatılmaktadır. Zafiyetlerin kapatılabilmesi için Wordpress ekibi bir güncelleme yayınlar. Bu güncellemeleri manuel olarak yapabildiğiniz gibi aşağıdaki kodu wp-config.php dosyanıza ekleyerek güncellemelerin otomatik olarak alınmasını sağlayabilirsiniz.

define(‘WP_AUTO_UPDATE_CORE’, true);

Zamanlanmış Görevleri Kapatmak

WordPress’in en önemli özelliklerinden biri de zamanlanmış görevlerdir. Siber saldırganlar sisteminize sızdığı zaman kalıcı olabilmek adına, WordPress’in CRON işlevini kullandıkları sıkça görülmüştür. Aşağıdaki kodu wp-config.php dosyanıza ekleyerek WordPress’in zamanlanmış görevlerini durdurabilirsiniz.

define(‘DISABLE_WP_CRON’, true);

Tema Dosyası Düzenleme Editörünü Kapatmak

WordPress üzerindeki temaların dosyalarını yönetim paneli üzerindeki kod editörü ile düzenleyebilirsiniz. Aslında çok güzel ve kullanışlı bir özelliktir. Ancak bu özellik sayesinde tema kodları arasında ek kodlar eklenebilir ve beraberinde bir zafiyet doğurabilir.

Özellikle de siber saldırganların sisteminizdeki bir zafiyet üzerinden temanızın dosyalarına zararlı kod enjekte ettiklerine şahit olabiliyoruz. Aşağıdaki kodu wp- config.php dosyanıza ekleyerek WordPress’in tema dosyalarını düzenleme özelliğini kapatabilirsiniz.

define(‘DISALLOW_FILE_EDIT’, true);

(12)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 11

Eşsiz Doğrulama Anahtarlarını Değiştirmek

WordPress’in eşsiz doğrulama anahtarları kullanıcının çerezlerinde saklanan bilgilerin şifrelemesini geliştiren rastgele değişkenler kümesidir. Toplamda kurulum sonrası ile dört güvenlik anahtarı oluşturulur.

AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY ve NONCE_KEY

Bu güvenlik anahtarı ile WordPress üzerindeki yetkileri kriptolamak için kullanılır.

Web sitenizin güvenliğine katkı sağlanır ve kırılabilmesi zorlaştırılır. Buradaki anahtarlar, çerezlerin şifrelenmesinden, ajax işlemlerinde kullanılacak “Nonce” olarak belirtilen işlem güvenliği anahtarlarına kadar etki etmektedir. Standart kurulumda aşağıdaki şekilde karşımıza gelir.

define(‘AUTH_KEY’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

define(‘SECURE_AUTH_KEY’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

define(‘LOGGED_IN_KEY’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

define(‘NONCE_KEY’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

define(‘AUTH_SALT’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

define(‘SECURE_AUTH_SALT’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

define(‘LOGGED_IN_SALT’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

define(‘NONCE_SALT’, ‘eşsiz karakter kümenizi buraya yerleştirin’);

WordPress’in wp-config.php dosyası içeriğindeki bu anahtarları aşağıdaki gibi karmaşıklaştırarak güvenliğinizi üst düzeye çıkarabilirsiniz.

define(‘AUTH_KEY’, ‘ty/46|p5CJZ}b_N-I<LeB]i wdk bLai’);

define(‘SECURE_AUTH_KEY’, ‘%vO$%}:n% 6B$Tm/Idd d, e9pdx#O’);

define(‘LOGGED_IN_KEY’, ‘|Gdl2mPeYaJa^nyD/yg?1g cj) 3@@B’);

define(‘NONCE_KEY’, ‘K+e}.P|( %4g^NO@S e6%+ &&S#L’);

define(‘AUTH_SALT’, ‘UaLw) -T _*1m:<Vo 1ZU6M L} JD J:Z(a]3’);

define(‘SECURE_AUTH_SALT’, ‘u5OT P /1[ bq EbE6/ e}W5 H mt+ dd3’);

define(‘LOGGED_IN_SALT’, ‘Vv0 @ V3[q 8 UeH z@ z<#d sde3d f 33%&’);

define(‘NONCE_SALT’, ‘4D3 S%:Y;3 N*>t 8~1>~a VQd7 8[,->D [sw3I’);

(13)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 12

WordPress Dosya ve Dizin Ayarlarını Yapmak

WordPress’in varsayılan izin şeması aşağıdaki şekilde olmalıdır. Bu şekilde güvenliği üst düzeyde tutabilirsiniz.

Klasörler – 750 / Dosyalar – 640

Klasörleriniz için 750 izni, dosyalarınız için ise 640 izni vererek güvenli hale getirebilirsiniz.

Bu düzenleme için FileZilla veya benzeri bir FTP aracı kullanabileceğiniz gibi hosting firmanızın size sağlamış olduğu Cpanel veya Plesk üzerinden de gerçekleştirebilirsiniz. Sitenizin performansını ve kullanılabilirliğini olumsuz yönde etkileyebileceği için izin değişiklikleri yapmadan önce hosting firmanız ile görüşmenizi tavsiye ederiz. Diğer bir yandan hiçbir dosya veya dizinin 777 yetkisine sahip olmadığından emin olunuz! Bir dosya veya dizin 777 şeklinde ayarlanmışsa zafiyet oluşturur!

SSH üzerinden dizinler için aşağıdaki komutu girebilirsiniz.

/ path / to / your / wordpress / install / -tipi d -exec chmod 750 {} \;

SSH üzerinden dosyalar için aşağıdaki komutu girebilirsiniz.

/ path / to / your / wordpress / install / -type f -exec chmod 640 {} \;

(14)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 13

Yükleme Klasörünü Güvenli Hale Getirmek;

WordPress’in resim ve diğer dosyaları yükleme klasörü olan Upload dizinini olası çalıştırılabilir dosyaların yüklenmesine karşın (Shell, bash script gibi…) güvenli hale getirmelisiniz.

Saldırganlar sisteminizde tespit ettikleri bir upload zafiyetini kullanarak Uploads dizinine Shell erişimi elde edecek zararlı dosyalar yükleyebilir sonrasında ise bu dosyaları çalıştırarak bir arka kapı açabilirler. Bu durumu engellemek için /wp- content/uploads/ dizini içerisine .htaccess dosyası oluşturmalı ve aşağıdaki kodu /wp-content/uploads/.htaccess dosyasına eklemelisiniz. Bu sayede saldırganların sisteminizin yükleme klasörüne zararlı dosyalar indirip, çalıştırmasını engellemiş olacaksınız.

# Kill PHP Execution

<Files ~ “\.ph(?:p[345]?|t|tml)$”>

deny from all

</Files>

Nginx için aşağıdaki kodu ekleyerek, belirlenen klasörlerde PHP ve benzeri çalıştırılabilir dosya formatlarını engelleyebilirsiniz.

# Dosya tiplerine göre çalıştırılmasını yasaklamak @PriviaSec

location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php|js|swf)$ { types { }

default_type text/plain;

}

(15)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 14

Kullanıcı Hesap Politikası

WordPress kurulumu sırasında bir yönetici hesabı eklemeniz istenir. WordPress kurulumunu varsayılan olarak tamamladıysanız, sisteminizde bir yönetici hesabı oluşturmuş olacaksınız. Ancak bruteforce ataklarına karşı bu hesabın kullanıcı adını değiştirmenizi tavsiye ederiz. Varsayılan olarak admin şeklinde tanımlanan kullanıcı adları siber saldırganlara tarafından hedeflenir. Ancak tahmin edilemez bir kullanıcı adı ile yönetici hesabı açarsanız, güvenliği üst düzeye çıkarmış olacaksınız.

Hesap oluştururken genel olarak kullanıcılar isimlerini kullanıcı adı olarak belirleyebilirler. Bu da tahmin edilebilir olmasını sağlar ve sistemde zafiyet oluşturur.

Kullanıcılarınızın veya yöneticilerinizin bu tarz bir kullanıcı adı belirlemesini engellemenizi tavsiye ederiz.

WordPress Arama Fonksiyonunu Güvenli Hale Getirmek

WordPress’in ?s= parametresi arama fonksiyonunu çalıştırır. Ancak WordPress’in arama özelliği siber saldırganlar tarafından kötüye kullanılabilir. Birçok siber saldırgan sisteminizde sürekli arama gerçekleştirerek (saniyede binlerce sorgu) Mysql yükünüzü artırabilir ve sunucunuzun aşırı yüklenerek cevap vermesini engelleyebilir ve servis dışı bırakabilir.

WordPress’in arama parametrelerine sınır getirerek bu durumu engelleyebilirsiniz.

Aşağıdaki kod parçacığını temanızın Functions.php dosyasında uygun bir yere ekleyerek arama sorgularını limitleyebilirsiniz. Örnek kodda bu limit kişi başına 250 sorgu olarak optimize edilmiştir. Sisteminize ve yapınıza göre bu rakamı artırabilir veya azaltabilirsiniz.

(16)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 15

// Get user IP in WordPress function get_the_user_ip() {

if ( ! empty( $_SERVER [‘ HTTP_CLIENT_IP’] ) ) { //check ip from share internet

$ip = $_SERVER[‘ HTTP_CLIENT_IP’];

}else {

$ip = $_SERVER[ ‘ REMOTE_ADDR’];

}

return apply_filters ( ‘wpb_get_ip’, $ip );

}

function search_ visitor_ ip_ block ($query) $visitorIPLimit = 250;

if(preg_match(‘/ google| yandex| yndx | spider| bot | slurp | msn | bing | adsbot| AdIdxBot| search | face | baidu | duck | sogou | youdao | ccbot | alexa | microsoft /i’, gethostbyaddr (get_the_user_ip()))){

return $query;

}else {

$visitor IP Count = get_option ( ‘visitor_i p_count’. get_the_user_ip() );

$is_block = get_transient ( ‘ visitor_ip_block ‘.get_the_user_ip () );

$will_deleted = get_option (‘visitor_ip_block’. get_the_user_ip ( ).’- deleteafter30min’);

if($is_block = = ‘blocked’) :

wp_die (‘Çok fazla arama yaptığınız için beklemeye alındınız. Şuandan itibaren 15 dakika beklemelisiniz.’);

else :

if ( $query->is_search ) :

if(($visitorIP Count >= $visitor IPLimit) && $will_deleted == ‘yes’) : delete_option (‘visitor_ip_count’

.get_the_user_ip ());

delete_option (‘visitor_ip_block’ .get_the_user_ip (). ‘-deleteafter30min’) elseif( $visitorIP Count < $visitorIPLimit ) :

$visitorIP Count += 1 ;

update_ option( ‘ visitor_ip_count’. get_the_user_ip(), $visitor IPCount ) ;

return $query;

else :

set_transient (‘visitor_ip_block’. get_the_user_ip( ), ‘blocked’,30);

update_option (‘visitor_ip_block’ .get_the_user_ip( ).’-deleteafter 30 min’,’yes’);

wp_die (‘Çok fazla arama yaptığınız için bloke edildiniz.’);

endif;

endif;

endif;

} }

//hook filters to searchadd_filter (‘pre_get_posts’ ,’ search_ visitor_ip _block’);

(17)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 16

WordPress Pingback Saldırılarına Karşı Önlem Almak

WordPress’in Pingback özelliği saldırganlar tarafından kötüye kullanılarak sisteminizde aşırı bir yük oluşturulabilir ve servis dışı kalma saldırılarında (DDOS) kullanılabilir. Bu duruma engel olmak için kullanmıyorsanız WordPress’in Pingback özelliğini kapatmanızı tavsiye ederiz. Aşağıdaki kodu temanızın functions.php dosyasında uygun bir yere ekleyerek Pingback fonksiyonunu kapatabilirsiniz.

// Pingback kapatmak

function remove_x_pingback($headers) { unset($headers[‘X-Pingback’]);

return $headers; }

WordPress’in XML-RPC Erişimini Kapatmak

WordPress’in XML-RPC dosyası geçmişte birçok kez istismar edilmiştir. Sitenize yetkisiz erişim elde etmek için brute force adını verdiğimiz kaba kuvvet saldırılarında sıkça kullanılmıştır. Saldırganlar bu dosyayı kullanarak kullanıcı adı ve şifre denemeleri yaparak sisteminize erişim elde edebilirler.

Diğer bir noktada XML-RPC dosyası kullanılarak sisteminize servis dışı bırakma (DDOS) saldırıları yapılabileceğini de hatırlatmak isteriz. Bu saldırılara karşı sisteminizi korumak için temanızın function.php dosyasına aşağıdaki kodu eklemenizi tavsiye ederiz. Bu sayede XML-RPC fonksiyonu devre dışı kalacaktır.

// XML RPC Kapat

add_filter(‘wp_headers’, ‘remove_x_pingback’);

add_filter(‘xmlrpc_enabled’, ‘__return_false’);

Aynı şekilde XML-RPC dosyanızı .htaccess üzerinden de erişime kapatabilirsiniz. Ana dizininizde bulunan .htaccess dosyanıza aşağıdaki kodu ekleyerek dosyaya erişimi kapatabilirsiniz. Kod içerisinde bulunan ip adresine sabit ip adresinizi eklerseniz yalnızca sizin bu dosyaya erişiminiz olacaktır.

# Block WordPress xmlrpc.php

<Files xmlrpc.php>

order deny,allow deny from all

allow from 123.123.123.123

</Files>

(18)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 17

Wordpres REST API Özelliğini Kapatmak

WordPress’in REST API özelliğini kullanmıyorsanız kapatmanızı tavsiye ederiz. Bu api özelliği siber saldırganlar tarafından kötü niyetli olarak kullanılabilir ve sisteminizin aşırı yüklenmesini sağlayarak servis dışı kalmasına sebep olabilir. WordPress Rest- API özelliğini kapatmak için temanızın functions.php dosyasına aşağıdaki kodu girmeniz yeterli olacaktır.

// Filters for WP-API version 1.x

add_filter( ‘json_enabled’, ‘__return_false’ );

add_filter( ‘json_jsonp_enabled’, ‘__return_false’ );

// Filters for WP-API version 2.x

add_filter( ‘rest_enabled’, ‘__return_false’ );

add_filter( ‘rest_jsonp_enabled’, ‘__return_false’ );

Kodun bu bloğuna dikkat ederseniz isteklerde yer alan “info” bilgileri de kapatarak saldırganların bilgi almasını engelleyebilirsiniz.

// Remove REST API info from head and headers remove_action( ‘xmlrpc_rsd_apis’, ‘rest_output_rsd’ );

remove_action( ‘wp_head’, ‘rest_output_link_wp_head’, 10 );

remove_action( ‘template_redirect’, ‘rest_output_link_header’, 11 );

WordPress Sürüm Bilgisini Kapatmak

WordPress varsayılan olarak temanızın <head> kodları arasına sürüm numarasını basmaktadır. WordPress sürüm numarasının bilinmesi de saldırganların daha başarılı ve hedef odaklı saldırılar yapmasına neden olabilir. WordPress’in sürüm bilgisini kapatmak için aşağıdaki kodu temanızın functions.php dosyasına ekleyerek engelleyebilirsiniz.

Aynı şekilde readme.txt, licance.txt dosyalarından da sürüm bilgisine erişilebileceğini unutmamalıyız. Bu noktada ilgili tüm dosyaların sürüm bilgilerinin gizlenmesi, readme.txt gibi dosyaların dışarıdan erişime kapatılması gerektiğini hatırlatmak isteriz.

remove_action(‘wp_head’, ‘wp_generator’);

Aynı şekilde bilgi ifşasına sebep olacak aşağıdaki özellikleri de kapatarak saldırganların bilgi almasını engelleyebilirsiniz. Kodu yine temanızın functions.php dosyasına eklemeniz gereklidir.

(19)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 18 remove_action(‘wp_head’, ‘rsd_link’);

remove_action(‘wp_head’, ‘feed_links’, 2);

remove_action(‘wp_head’, ‘feed_links_extra’, 3);

remove_action(‘wp_head’, ‘wlwmanifest_link’);

remove_action(‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0 );

remove_action(‘wp_head’, ‘print_emoji_detection_script’, 7);

remove_action(‘admin_print_scripts’, ‘print_emoji_detection_script’);

remove_action(‘wp_print_styles’, ‘print_emoji_styles’);

remove_action(‘admin_print_styles’, ‘print_emoji_styles’);

remove_action( ‘wp_head’, ‘rest_output_link_wp_head’, 10 );

remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ );

WordPress Veritabanı Güvenlik Önlemleri

WordPress veritabanı internet sitenizin çalışabilmesi için gerekli tüm bilgileri tutar ve depolama sağlar. Elbette ki saldırganlarda SQL saldırıları gerçekleştirmek için otomatik kod çalıştıran uygulamalarla zafiyet arayarak veritabanınıza erişmeye veya verileri değiştirmeye çalışacaklardır. WordPress kurulumu sırasında veritabanı eki varsayılan olarak wp_ şeklinde gelir ve çoğu zaman varsayılan wp_ ekini değiştirmeden kurulumu tamamlarız. Bu noktada saldırganlar için maalesef ki bir zafiyet bırakmış olacaksınız. Varsayılan kurulumda veri tabanı ön ekini (_wp_) değiştirmediyseniz, kurulum tamamlandıktan sonra aşağıdaki kodları kullanarak veritabanınızın ön ekini değiştirebilirsiniz.

Not: Bu işlem sırasında sisteminizi kullanılamaz bir hale getirebilirsiniz. İşleme başlamadan önce veritabanınızın bir yedeğini almanızı tavsiye ederiz.

Aşağıdaki sorguları hosting kontrol panelinizde phpmyadmin SQL bölümünü kullanarak tamamlayınız. Bu işlemler tamamlandığı zaman wp-config.php dosyası içerisinden de veritabanı ön ekini değiştirmeniz gerekmektedir.

Not: Aşağıdaki sorguda veritabanı ön eki wpsecure123_ olarak yeniden tanımlanmıştır. Bu değeri kendinize göre özelleştirmeniz tavsiye edilir.

RENAME table `wp_commentmeta` TO `wpsecure123_commentmeta`;

RENAME table `wp_comments` TO `wpsecure123_comments`;

RENAME table `wp_links` TO `wpsecure123_links`;

RENAME table `wp_options` TO `wpsecure123_options`;

RENAME table `wp_postmeta` TO `wpsecure123_postmeta`;

RENAME table `wp_posts` TO `wpsecure123_posts`;

RENAME table `wp_terms` TO `wpsecure123_terms`;

RENAME table `wp_termmeta` TO `wpsecure123_termmeta`;

RENAME table `wp_term_relationships `TO` wpsecure123_term_relationships`;

RENAME table `wp_term_taxonomy` TO `wpsecure123_term_taxonomy`;

RENAME table `wp_usermeta` TO `wpsecure123_usermeta`;

RENAME table `wp_users` TO `wpsecure123_users`;

(20)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 19

Not: Teknik bilginiz yoksa, üçüncü parti WordPress eklentileri ile de basit ve kolay bir şekilde veritabanı ön ekini değiştirebilirsiniz.

Elbette ki bu riske girmek istemeyenler için Veritabanı ön eki değiştiren eklentiler bulunduğunu da hatırlatmak isteriz.

Wp-Admin Klasörüne Erişimi Sınırlamak

WordPress’in yönetim paneline erişmek için priviasecurity.com/wp-admin şeklinde giriş yapmaktayız. Standart kurulumla wp-admin klasörüne erişim açık durumdadır.

Ancak bu saldırganlar tarafından da bilindiği gibi brute force gibi ataklarla parolalarınızın kırılmasına ve yetkisiz erişimler alınmasına sebep olabilir. Bu gibi saldırılara karşı korunmak için Wp-admin klasörüne erişimi üç türlü gerçekleştirebiliriz.

Birinci erişim; kısıtlama yöntemimiz .htaccess dosyası kullanarak wp-admin klasörüne erişimlerde sabit bir ip adresi tanımlamaktır. Eğer sabit bir ip adresine sahipseniz erişimi aşağıdaki şekilde sınırlandırabilirsiniz.

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName “Access Control”

AuthType Basic order deny,allow deny from all

#izin verilecek ip adresi allow from 123.123.123.123

Bu kod bloğunda 123.123.123.123 ip adresine erişim izni verilmiştir ve diğer ip adreslerinden gelen bağlantı istekleri kabul edilmeyecektir.

İkinci erişim; kısıtlama yöntemimiz ise ikincil bir şifre koymaktır. Wp-admin klasörü altına bir .htaccess dosyası ekleyerek ikincil bir parola sürecini dahil edebilirsiniz. Wp- admin klasörüne erişmek istenildiği zaman öncelikle Apache üzerinden tanımlanan .htpassword erişimi sağlanır. Bu erişim sağlandığı takdirde wp-admin klasörüne erişim izni verilir.

Wp-admin klasörü içerisinde .htaccess dosyasına aşağıdaki kodu ekleyerek ve .htpassword dosyası tanımlayarak (.htpasswd dosyasının içeriğine user ve password tanımlamanız gerekmektedir) aktif edebilirsiniz.

AuthType Basic

# this text is displayed in the login dialog AuthName “Wp-Admin Koruması!”

# Bu dosya yolunu siz belirleyin ve .htpasswd dosyanızı tanımlayın.

AuthUserFile /path/to/.htpasswd require valid-user

(21)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 20

Not: .htpasswd dosyasına user ve password tanımlamak için htpasswd Generator kullanmanız gerekmektedir.

Üçüncül erişim kısıtlama yöntemimiz ise wp-admin klasör yolunu değiştirmektir.

Klasör yolunu değiştirmek için WordPress Wp-admin eklentilerinden olan Lockdown WP Admin eklentisini veya benzeri bir eklentiyi sisteminize kurabilirsiniz.

Bu eklentiler wp-admin klasörünü değiştirmenizde sizlere yardımcı olacaktır.

Ek WordPress Ayarları

Versiyon ifşalarını engellemek için yukarıda belirttiğimiz güvenlik önlemlerini alabildiğimiz gibi, dizin listelemeyi iptal etmek, sunucu imzasını kaldırmak ve dosya yükleme boyutlarını sınırlandırmak gibi erişim kısıtlayıcı tedbirleri de almak gerekmektedir. Bu tedbirler için yine .htaccess dosyamızı kullanabiliriz. Aşağıdaki kodları .htacess dosyamıza eklediğimiz takdirde sunucumuzdaki dizin listeleme, sunucu imzasını yazma özelliklerini devre dışı bırakmış olacağız.

# dizin listelemeyi iptal et Options All -Indexes

# sunucu imzasını kaldır ServerSignature Off

# dosya yükleme boyutunu 10mb ile sınırlandır LimitRequestBody 10240000

İki Adımlı Kimlik Doğrulama

WordPress yönetim paneli girişini iki adımlı kimlik doğrulama uygulamaları kurarak daha güvenli bir hale getirebilirsiniz. Bu uygulamalar sayesinde parolanızı girdikten sonra tek kullanımlık şifreler oluşturarak yönetici veya kullanıcı girişlerinde ek güvenlik önlemi almış olacaksınız.

WordPress Yedekleme

Sağlam bir yedekleme stratejisi, tüm WordPress kurulumunuzun (WordPress çekirdek dosyaları ve veritabanınız da dahil) düzenli bir şekilde zamanlanmış anlık görüntülerini güvenilir bir yerde tutmayı içermelidir. Düzenli olarak WordPress database ve ftp yedeği alarak sisteminizde oluşabilecek sorunlarda geri yükleme yapabilirsiniz.

Düzenli olarak yedekleme yapabilmek için, WordPress yedekleme eklentileri kullanabilir veya manuel olarak SSH ve benzeri sistemler üzerinden yedek alabilirsiniz.

(22)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 21

Ücretsiz Çevrimiçi Tarayıcılar

Bir sistemi hedefleyen siber saldırganlar ilk olarak ücretsiz çevrim içi tarayıcılar veya uygulamalar kullanarak sistemde zafiyet araması yaparlar. Bu tarama araçları sayesinde WordPress CMS sistemi üzerindeki güvenlik zafiyetleri tespit edilebilir.

Aşağıdaki tarayıcıları kullanarak belirli periyotlarda siber saldırganlardan önce sisteminizi taramanızı tavsiye ederiz.

• Virustotal

• Sitecheck

• Unmaskparasites

• Redleg AW-Snap

• Wordfence

• Sucuri Security

• VaultPress

• Norton Web Yöneticisi Aracı

• Google Arama Konsolu

(23)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 22

WordPress Güvenlik Eklentileri

Yukarıda belirtmiş olduğumuz birçok özelliği ve güvenlik sistemini sağlamak için özel olarak tasarlanmış ve ücretsiz olarak sunulan Wordpress eklentileri de mevcuttur. Kod bilginiz yoksa veyahut sisteminize zarar verebilme ihtimaline karşın aşağıdaki eklentileri kurarak sisteminizi güvenli bir hale getirebilirsiniz. Bu eklentiler sistem güvenliğini denetlemekten, siber saldırılara karşı WAF (Web Uygulama Güvenlik Duvarı) özelliğine kadar birçok desteği size sunabilirler.

All In One WP Security & Firewall

All In One WP Security & Firewall eklentisi yukarıda bahsetmiş olduğumuz birçok sıkılaştırmayı desteklemektedir. Kullanıcı kayıtlarında onaylama, brute force koruması gibi birçok özelliğe sahiptir. Bununla birlikte, hepsi bir arada olan bu güvenlik eklentisi kullanarak sitenize ekstra güvenlik ve güvenlik duvarı eklemenize yardımcı olur.

All in one wp security eklentisi, web sitenizin güvenliğini üst seviyeye taşır. Bu eklenti uzmanlar tarafından tasarlanmış ve yazılmıştır ve kullanımı ve anlaşılması kolaydır.

Güvenlik açıklarını kontrol ederek ve önerilen en son WordPress güvenlik uygulamalarını ve tekniklerini uygulayıp uygulayarak güvenlik riskini azaltır.

Kullanıcı Hesapları

Varsayılan "yönetici" kullanıcı adına sahip bir kullanıcı hesabı olup olmadığını tespit eder ve kullanıcı adını seçtiğiniz bir kullanıcı adı ile değiştirebilir. Eklenti, aynı isim ve kullanıcı adına sahip herhangi bir WordPress kullanıcı hesabınız olup olmadığını da tespit edecektir.

Görünen adın oturum açma adıyla aynı olduğu bir yerde hesaba sahip olmak, maalesef ki büyük bir risk oluşturur.

Kullanıcı ID’lerini Engelleyin

Kullanıcıların ID’leri arasında dolaşılarak kullanıcı hesapları tespit edilebilir. Bu özelliği aktif ederek, botlar, yazar kalıcı bağlantısı aracılığıyla kullanıcı bilgilerini keşfedemez.

(24)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 23

Kullanıcı Giriş Güvenliği

Oturum açma ve kilitleme özelliği ile "Brute Force Login Attack"larına karşı koruma sağlayabilirsiniz. Saldırı yapan kişiler yapılandırma ayarlarına bağlı olarak önceden belirlenmiş bir süre boyunca sistemden kilitlenir. Bu tarz durumlar ortaya çıktığında eklenti üzerinde yönetici olarak, kilitlenen hesapları görebilir, aynı zamanda bir bağlantıya tıklayarak bireysel veya toplu IP adreslerinin kilidini açmanıza da olanak tanır.

Başarısız Oturumlar

Kullanıcının IP adresini saklayabildiği gibi kullanıcı kimliğini (ID), kullanıcı adını ve başarısız oturum açma girişiminin tarih ve saatini gösteren başarısız oturum açma girişimlerini görmenize de olanak sağlar. Aynı zamanda geçersiz bir kullanıcı adıyla oturum açmaya çalışan IP adresi aralıklarını otomatik olarak kilitlenir.

Özel bir beyaz listede bir veya daha fazla IP adresi belirlemenize olanak tanır. Beyaz listedeki IP adresleri, WP oturum açma sayfanıza erişebilir.

Not: Google reCaptcha veya düz matematik captcha'yı WordPress Giriş formuna ekleyebilirsiniz. WP Login sisteminizin şifremi unuttum formuna Google reCaptcha veya sade matematik captcha ekleyebilirsiniz. Bu sayede brüte force ataklarına karşı önlem almış olursunuz.

Kullanıcı Kayıt Güvenliği

WordPress kullanıcı hesaplarının manuel olarak onaylanmasını etkinleştirebilirsiniz.

Bu sayede yeni oluşturulan Kullanıcılar için onay alınması gerekir. Kişilerin WordPress kayıt formu aracılığıyla kendi hesaplarını oluşturmalarına izin veriyorsa, her kaydı manuel olarak onaylayabilir, SPAM veya sahte kayıtları en aza indirebilirsiniz.

Robotların kayıt girişimlerini azaltmak için WordPress'in kullanıcı kayıt formuna Honeypot ekleme yeteneği de mevcuttur.

Veritabanı Güvenliği

Varsayılan WP önekini, bir düğmeyi tıklatarak seçtiğiniz bir değere kolayca ayarlayabilirsiniz. Otomatik yedeklemeleri ve e-posta bildirimlerini planlayın veya tek tıklamayla istediğiniz zaman anında DB yedeklemesi yapabilirsiniz.

(25)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 24

Dosya Sistemini Koruma Güvenliği

Güvenli olmayan izin ayarlarına sahip dosyaları veya klasörleri belirleyebilir ve bir düğmeye tıklayarak izinleri önerilen güvenli değerlere ayarlayabilirsiniz. Diğer bir yandan WordPress yönetim alanından dosya düzenlemeyi devre dışı bırakarak PHP kodunuzu koruyabilirsiniz.

Tüm ana bilgisayar sistem günlüklerini tek bir menü sayfasından kolayca görüntüleyabilir ve izleyebilirsiniz. Elbette ki sunucunuzda meydana gelen sorunlardan veya diğer problemlerden haberdar olabilirsiniz.

İnsanların WordPress sitenizin readme.html, license.txt ve wp-config-sample.php dosyalarına erişmesini engellemenize de olanak sağlar.

Htaccess ve Wp-Config.php Dosyalarını Yedekleme

Bir dosya bozulması veya silinmesi gibi durumlar için önemli dosyalarınızı geri yüklemeye olanak sağlar. Şu anda aktif olan .htaccess veya wp-config.php dosyalarının içeriğini sadece birkaç tıklama ile yönetici kontrol panelinden değiştirebilir ve geri yükleyebilirsiniz.

Kara Liste Oluşturma

IP adreslerini belirterek kullanıcıları yasaklama imkanı sağlar. Aynı zamanda Kullanıcıları da yasaklayabilirsiniz.

Güvenlik Duvarı Özelliği

Bu eklenti, htaccess dosyası aracılığıyla sitenize kolayca çok sayıda güvenlik duvarı koruması eklemenizi sağlar. Bir htaccess dosyası, sitenizdeki diğer herhangi bir koddan önce web sunucunuz tarafından işlenir. Bu nedenle, bu güvenlik duvarı kuralları, sitenizdeki WordPress koduna ulaşma şansı yakalamadan önce kötü amaçlı kodların durdurulmasını sağlar. Beşinci veya altıncı nesil güvenlik duvarı kurallarını da içermektedir.

Erişim Kontrolü

Temel, orta ve ileri düzeyden çeşitli güvenlik duvarı ayarlarını anında etkinleştirebilirsiniz. Perishable Press'in izniyle ünlü "6G Kara Liste" Güvenlik Duvarı kurallarını etkinleştirmek için tek bir tıklama yeterli olacaktır.

(26)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 25

Proxy Kontrolü

Proxy kullanarak yorum gönderen botları tespit eder ve otomatik olarak yorum gönderimini yasaklayabilir.

Hata Ayıklama Kontrolü

Hata ayıklama günlük dosyasına erişimi engellemenize olanak sağlar. İzlemeyi engellemek için devre dışı bırakabilir.

Kötü Amaçlı Kod Kontrolü

Zararlı veya kötü niyetli sorguları anında reddedebilirsiniz. Kapsamlı gelişmiş karakter dizesi filtresini etkinleştirerek siteler arası komut dosyası yazmasına (XSS) karşı koruma sağlayabilirsiniz.

Wordpress Pingback Kontrolü

WordPress PingBack Güvenlik Açığı Koruması özelliği sayesinde Pingback özelliğini kontrol altında tutabilirsiniz. Bu güvenlik duvarı özelliği, pingback işlevindeki belirli güvenlik açıklarına karşı koruma sağlamak için donatılmıştır. Kullanıcının xmlrpc.php dosyasına erişimi yasaklamasına olanak tanır. Bu ayrıca botların xmlrpc.php dosyasına sürekli erişmesini ve sunucu kaynağınızı boşa harcamasını engellemek için de yararlı bir fonksiyon olacaktır.

Sahte Botları Engelleyin

Sahte Googlebot'ların sitenizi taramasını engelleme özelliği sağlar. Başkalarının resimlerinize bağlantı kurmasını önlemek için bu resim erişimlerini de sınırlayabilirsiniz.

Sitenizdeki tüm 404 olaylarını günlüğe kaydetme özelliği bulunmaktadır. Ayrıca, çok fazla 404'e ulaşan IP adreslerini otomatik olarak engellemeyi de seçebilirsiniz.

Sitenizin çeşitli kaynaklarına erişimi engellemek için özel kurallar ekleyebilirsiniz.

(27)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 26

Brute Force Giriş Saldırılarına Karşı Koruma

Brute Force adı verilen kaba kuvvet saldırılarına karşı koruma da sağlamaktadır. Özel Çerez Tabanlı Brute Force Giriş Engelleme özelliği aracılığıyla Brute Force Login Saldırılarını anında engelleyebilirsiniz. Bu güvenlik duvarı işlevi, kişilerden ve botlardan gelen tüm oturum açma girişimlerini engeller.

Brute force giriş saldırılarına karşı savaşmak için WordPress giriş formuna basit bir matematik captcha ekleme olanağı da sağlar.

WP-Admin Gizleme Özelliği

WordPress giriş sayfası URL'nizi, botların ve bilgisayar korsanlardan gizleyebilirsiniz.

Belirleyeceğiniz URL adresine gelen isteklerde açılacak olan Wp-Admin girişi priviasecurity.com/wp-admin isteklerine 404 hatası verecektir. Robotların kaba kuvvetle oturum açma girişimlerini azaltmaya yardımcı olacak Login Honeypot'u kullanma yeteneği de sağlamaktadır.

Güvenlik Tarayıcısı

Dosya değişikliği algılama tarayıcısı, WordPress sisteminizde herhangi bir dosya değiştiyse sizi uyarabilir. Daha sonra bunun gerçek bir değişiklik olup olmadığını veya bazı kötü kodların enjekte edilip edilmediğini araştırabilir ve görebilirsiniz.

Sisteminizde değişen, her türlü dosyalar için size e-posta ile bilgi iletecektir.

Spam Yorumları Engelleyin

Sürekli olarak en fazla SPAM yorumu üreten en aktif IP adreslerini izleyebilir ve bir düğmeye tıklayarak bunları anında engelleyebilirsiniz. Yorum spamlerine karşı güvenlik sağlamak için wordpress yorum formunuza bir captcha eklemenizi tavsiye ederiz.

SPAM olarak etiketlenmiş belirli sayıda yorumu aşan IP adreslerini otomatik ve kalıcı olarak engelleme özelliği de bulunmaktadır.

(28)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 27

ShieldSecurity Wordpress Plugin

Shield Security, bir güvenlik uzmanı olmadan tüm WordPress sitelerinize güvenlik sağlamanıza yardımcı olur. Bilgisayar korsanlarından kurtulmak için WordPress Güvenliğinizin daha akıllı, uyarlanabilir olmalıdır. Shield Security eklentisi de bu özellikleri size sağlar.

Siber Korsanları Durdurun

Shield eklentisi ile kötü niyetli ziyaretçileri tespit etmeye ve ardından sitenize erişimi tamamen engellemeye odaklanabilirsiniz. Bu eklenti, farklı bot sinyallerini analiz etmeyi ve kötü niyetli ziyaretçileri tespit etmeyi sağlar.

Bu sinyaller şunları içerir:

404 hatası oluşturan ziyareler

Başarısız giriş denemeleri

Geçersiz kullanıcı adlarıyla denemeler

Xml-rpc erişimi denemeleri

Sahte arama motoru web tarayıcıları

Güvenlik ekibinin tespit ettiği birçok sinyal ...

Kötü amaçlı botların erken tespiti ve engellenmesi, WordPress sitenizin saldırıya uğrama şansını azaltacaktır. Bazen, en iyi güvenlik adımlarını atsanız dahi saldırıya uğrama ihtimaliniz vardır. Bu genellikle dosya modifikasyonunu içerir. Yani bir dosyaya kötü niyetli kod eklemek popülerdir.

Dosyaları saldırıya uğrayabilecek 3 önemli WordPress varlığı vardır:

1. WordPress Çekirdeği 2. WordPress Eklentileri 3. WordPress Temaları

Hemen hemen her güvenlik eklentisi Wordpress çekirdeğini korumaya odaklıdır.

Çünkü WordPress.org, çekirdek dosyalar için parmak izi bulabilirsiniz. Ancak eklentiler ve temalar için mevcut bir parmak izi yoktur. Bu da zayıf taraflarıdır.

Ancak Shield eklentisi, kendi dosya parmak izlerimizi oluşturarak dosya kontrolü sağlayabilir. Shield, değiştirilmiş veya yeni dosyalar arayarak, WordPress.org deposundaki her eklenti ve temanın dosya içeriğini karşılaştırabilir. Ayrıca, bir ShieldPRO müşterisiyseniz, Yoast SEO ve Advanced Custom Fields Pro dahil olmak üzere premium eklentileri / temaları da koruyabilirsiniz.

(29)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 28

Shield Security Güvenlik Özellikleri

Otomatik Bot ve IP Engelleme

Botları Engelleme

Oturum Açma

Kayıt Oluşturma

Parola Sıfırlama

Oturum Açma Girişimlerini Sınırlamak

Güçlü Güvenlik Duvarı Kuralları

Sınırlı Yönetici Erişimi

İki Faktörlü / Çok Faktörlü Oturum Açma (MFA)

E-posta adresi

Google Authenticator

Yubikey

XML-RPC'yi Engelle

Dinlenme API'sini Engelle

IP Adreslerini Engellek

Puan Tabanlı Otomatik IP Adresi Engelleme

Bireysel IP'leri Engelleyin veya Atlayın

IP Alt Ağlarını Engelleyin veya Atlayın

Sitelerinizdeki etkinliklerini görmek için IP analizi

İzinsiz Girişler ve Hacks için Eksiksiz WordPress Taraması

Dosya Değişikliklerini Algılamak

Şüpheli PHP Dosyalarını Algılamak

Terk Edilmiş Eklentileri Algılamak

Wp-login.php'yi gizleyerek özel URL oluşturmak

Botlardan Gelen SPAM'ı Algılamak

reCAPTCHA & hCAPTCHA Desteği

Asla Google'ı Engelleme Özelliği

Google

Bing,

DuckDuckGo

Yahoo!

Baidu

Apple

Yandex

Site Etkinliklerini İzleme

Gelişmiş Kullanıcı Oturumları Kontrolü

Birden Çok Kullanıcı Girişini Kısıtla

Kullanıcı Oturumunu IP ile Sınırla

Kullanıcı Şifrelerinin Kullanımını Engelle

Kullanıcı Numaralandırmasını Engelle

Proxy Desteği Dahil Tüm IP Adresi Kaynakları için Tam / Otomatik Destek

Tam Trafik Kaydı ve Talep İzleme

HTTP Güvenlik Başlıkları ve İçerik Güvenliği Politikaları (CSP) Pro hesap sayesinde daha fazla özelliğe sahip olabilirsiniz.

(30)

WORDPRESS SIKILAŞTIRMA VE GÜVENLİK ÖNLEMLERİ S A Y F A | 29

Sucuri Wordpress Plugin

Sucuri Inc WordPress Güvenliği konusunda uzmanlaşmış, web sitesi güvenliğiyle ilgili tüm konularda dünya çapında tanınan bir otoritedir. Bu otoritesini Wordpress güvenliğini sağlamak için de kullanmaktadır. Sucuri Security WordPress eklentisi tüm WordPress kullanıcıları için ücretsizdir.

Kullanıcılarına, web siteleri için, her biri güvenlik duruşları üzerinde olumlu bir etkiye sahip olacak şekilde tasarlanmış bir dizi güvenlik özelliği sunar.

Bu özellikler aşağıdaki gibidir.

Güvenlik Etkinliği Denetimi

Dosya Bütünlüğü İzleme

Uzaktan Kötü Amaçlı Yazılım Taraması

Kara Liste İzleme

Etkili Güvenlik Güçlendirme

Saldırı Sonrası Güvenlik Eylemleri

Güvenlik Bildirimleri

Web Sitesi Güvenlik Duvarı (Premium hesap)

Referanslar

Benzer Belgeler

A)Veri tabanında veri aramak için B)Veri tabanından veri silmek için C)Veri tabındaki verileri sıralamak için D)Veri tabanına veri eklemek için 8. mysql&gt;select from okul

Satır satır bilgi okuma işleminde dosya sonuna gelindiğinin anlaşılabilmesi için feof() komutu kullanılır. Her dosyanın sonda End Of File (eof) adında özel bir

Yandaki örnek kodda $sayi değişkeni fonksiyon dışında olduğu için yazdir() fonksiyonu içinde herhangi bir değer yazdırılamayacaktır.. Dolayısıyla ekran çıktısı

Bu tanımlamada çift tırnak içinde başka bir değişken varsa o değişkenin değeri aktarılır.. Örnek Kod

Bu modülde web sunucusu olarak Apache Web Server, programlama yazılımı olarak script dili olan PHP, veri tabanı olarak MySQL, veri tabanı arayüzü olarak PhpMyAdmin

PHP filtre uzantısı, kullanıcı girişini kontrol etmek için gereken birçok işleve sahiptir ve veri doğrulamayı daha kolay ve daha hızlı hale getirmek için

Aşağıdaki örnek, bir diziden XML verilerini okumak için simplexml_load_string() işlevinin nasıl kullanılacağını

Aşağıdaki örnek, bir web sayfasının AJAX ile bir veritabanından nasıl bilgi alabileceğini