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)