1 – WP Panelinin şifrelenmesi (kimlik doğrulama)
2 – Güncelleme işlemleri
3 – Database bilgileri
4 – Yönetici kullanıcı adı ve parola seçimi
5 – Tablo ön ekinin değiştirilmesi
6 – WordPress güvenlik anahtarları
7 – Gereksiz dosyaların kaldırılması
8 – Dosya izinlerinin düzenlenmesi
9 – Dizinlerin listelenmesini engellemek
10 – Hotlink koruması
11 – Config.php dosyasına erişimi engellemek
12 – Giriş sayfasındaki bildirimleri devre dışı bırakmak
13 – Sunucu sürüm imzalarını kaldırmak
14 – WP sürümünü gizlemek
15 – Zararlı sorguları engellemek
16 – Robots.txt
1 – WP panelinin şifrelenmesi
En etkili yöntemlerden birisi olan panelin şifrelenmesini görelim .
İşe başlamadan önce bir besmeleden sonra yedeklerimizi almayı unutmayalım…
Öncelikle sunucunuzda apache desteği olmalıdır, host ne kadar wp uyumlu olsa da hostçunuza danışmayı unutmayın.
İlk olarak ftp de .htpasswd isminde bir dosya oluşturuyoruz, bu dosyayı kullanarak panele koyacağımız bilgileri saklayacağız.
http://www.e2.u-net.com/htaccess/make.htm adresine girip kullanıcı adı ve şifre oluşturacağız.
Oluşturulan kodu .htpasswd dosyasının içine yapıştırıp kaydedin.
Şimdi sıra .htaccess dosyamızı düzenleyeceğiz, dosyayı açıp şu kodları ekliyoruz ;
ErrorDocument 401 default
AuthUserFile /home/.htpasswd
AuthName “Site”
AuthType Basic
<Files”wp-login.php”>
Require valid-user
</Files>
dosyamızı kaydediyoruz, diğer kodları silmeyin.
Bu işlemi yaptıktan sonra panelimiz şifrelenmiş olacaktır.
2 – Güncelleme işlemleri
WordPress sürekli güncellenen bir sistem olduğu için , gerekli güncellemeleri kaçırmayın, takdirde bir önceki sürüm güncellendiyse mutlaka bir açık bulunmuş veya yeni bir özellikler eklenmiştir.
Bu güncellemeleri aksattığınız takdirde sizi izleyen birileri varsa bu onların ekmeğine yağ sürecektir, o yüzden güncellemeleri takip edin ve panelinizden otomatik güncellemeyi yapın.
Dip not : panelden otomatik güncellemeyi anlatmıştım WP kategorisinde bulabilirsiniz, yine hatırlatayım panelden güncelleme yapacaksanız yedeğinizi alın ve ftp de gerekli yazma izinleri verdiğinizden emin olun…
3 – Database bilgileri
WP kurulumu sırasında bizden istenen veritabanı bilgilerini güvenli seçmekte fayda var . şunu unutmayın veritabanı bilgilerini kurulum aşamasında kullanacağımız için ezberlemeye hiç gerek yok. O nedenle veritabanının hem isminin, hem kullanıcı adının hem de parolasının kolay kolay tahmin edileyecek veya kırılamayacak bir şekilde oluşturmaya özen gösterin.
Basit bir kullanıcı adı veya 123456 şeklindeki bilgilerden kesinlikle uzak durun…
4 – Yönetici kullanıcı adı ve parola seçimi
WP de 3.0 sürümünden itibaren kurulum esnasında istediğimiz kullanıcı adı ve parolayı belirleyebilirsiniz. Önceki sürümlerde kurulum sonrasında sabit kullanıcı adı genellikle admin oluyordu. Bu yüzden güvenlik zafiyeti ortaya çıkıyordu.
3.0 sürümünden sonra dilediğiniz kullanıcı adını koyabilirsiniz .
Kesinlikle “admin” “yönetici” gibi kullanıcı adlarını seçmeyin ve parolanızı kırılamayacak şekilde oluşturun. “Kolay olsun yaa unutmayayım, kim uğraşır benimle” düşüncesinden uzak durun.. Parolanız çok uzun olacaksa gerekirse bir kağıda yazıp kitabınızın arasına sıkıştırın …
5 – Tablo Ön Ekinin değiştirilmesi
Kurulum aşamasında site üzerinden kurulum yaptıysanız ve wp ön ekini görmüşünüzdür..
Bir database üzerinde birden çok wp kullanmayacaksanız bunun ne olduğunun önemi yok.
Ancak wp ön ekini değiştirmeniz size güvenlikte + kazandıracaktır..
Bu ön eki YfmC_ şeklinde değiştirmek sizi birçok saldırı girişiminden önleyecektir. Ön eki belirlemek tamamen size kalmış.
6 – WordPress güvenlik anahtarları
Güvenlik anahtarları sitenizi ziyaret eden kullanıcıların bilgisayarında depolanan cookieleri
Şifrelemeye yarar. Ne kadar güçlü güvenlik anahtarlarınız olursa o kadar güçlü korunursunuz.
Bu işlem veritabanına şifreleriniz saklanırken de geçerlidir. Böylece sitenize zarar vermek isteyenlerin yoluna bir taş daha koyarsınız.
Güvenlik anahtarlarını wp-config.php dosyasını düzenleyerek kullanabilirsiniz.
Api.wordpress.org/secret-key/1.1/salt adresinden eşsiz doğrulama anahtarları üretebilirsiniz..
7 – Gereksiz dosyaların kaldırılması
WordPress kurulumunu gerçekleştirdikten sonra artık bazı dosyalara ihtiyacımız kalmayacak.
Biz de fazladan dosyalara ihtiyacımız olmadığı için bu dosyaları silebiliriz.
Böylelikle bazı girişimleri de engellemiş oluruz..
Kurulumdan sonra wp-admin/install.php ve wp-config-sample.php yi silebilirsiniz..
8 – Dosya izinlerinin düzenlenmesi
Bu konuda oldukça önemli bir konudur. Web sitelerimize yapılan saldırı girişimlerinde ve dışarıdan erişimlerde güvenlik problemlerini engellemek için yazma izinlerini düzenlemeniz
mutlaka gereklidir.
Kurulum sonrası klasörlere 755 dosyalara ise 644 yazma izni vermelisiniz.
777 yaptığınızda yazma izinlerinin açık olacağını unutmayın. Uploads klasörü 777 olmalıdır
Onun dışında 777 yapacağınız pek bir dosya veya klasör yok.
9 – Hotlink koruması
Web siteniz tanınıyorsa özgün olarak ürettiğiniz makale,resim vb’ler bazı insanlar tarafından
kendi sitelerine kopyalanabiliyor. Saatlerce oluşturuduğunuz bu emekler dakikalar içerisinde
başka sitelerde yayımlanabilir. Bu sitenize zarar vermekte birlikte sitenizin trafik akışınıda olumsuz etkiler.
Bu tür emek hırsızları ile mücadele etmek için .htaccess dosyanıza şu kodları ekleyin.
RewriteEngine On
#?site\\\\.com/Web site adresi
RewriteCond %{HTTP_REFERER}!^http://(.+\\\\.)?site\\\\.com [NC] RewriteCond %{HTTP_REFERER}!^$
#/images/kopyalama.jpg – Resim adresiniz
RetriteRule.*\\\\(jpeg|gif|bmp|png)4$ /images/kopyalama.jpg[L]
Bu işlemi yaptıktan sonra sizin sunucunuzda bulunan resimler yalnızca kendi sitenizde görüntülenecektir. Websiteniz üzerinden alınan resimlere karşılık yasakladığınız kopyalama.jpg isimli resim dosyası gözükecektir…
11- Config.php’ye erişimi engelleme
WordPress kurulumu sırasında veritabanı bilgilerinin bulunduğu wp-config.php dosyasına erişimi engellemeniz size + güvenlik kazandıracaktır. 644 yetkisi normalde yeterlidir.
Fakat sunucu üzerinde yer alan diğer sitelerden shell vs yollarla dosyalarınıza erişilebilinir.
.HTACCESS kullanarak bu erişimi tamamen ortadan kaldıracağız.
# wpconfig.php dosyasına erişimi engelle
<files wp-config.php>
order allow,deny
deny from all
</files>
Bu kodu .htacces dosyanıza eklediğinizde erişimi engellemiş olacaksınız.
Sadece statik ip kullanıyorsanız ve siz girmek istiyorsanız da şu kodu eklemeniz yeterlidir ;
#WP-Config.php dosyasına sabit IPden erişmek
<files wp-config.php>
Order Deny,Allow
Deny from all
Allow from ipadresiniz
</files>
12 – Giriş sayfasındaki bildirimleri devre dışı bırakma
Wp geliştiricilerinin kullanıcılara sunduğu bazı imkanlar bazen aleyhimize kullanılabiliyor. Bunlardan biride wp paneli giriş ekranındaki hata.
“HATA: geçersiz kullanıcı adı. Parolanızı mı unuttunuz” uyarısı..
Bazı lamerler bu uyarıyı göz önünde bulundurararak yönetici ekranı girişinde kullanıcı adı ve parolalar üreterek giriş yapmaya çalışıyor. Yapmanız gereken temanızın functions.php dosyasına şu kodları eklemek ;
Add_filter(‘login_errors’,create_function(‘$a’,return null;”));
HTACCESS kullanarak spam botları engellemek
Spam botlarından kurtulmak için birçok eklenti mevcut , fakat biz sorunu kökten çözeceğiz.
Sitemize zarar vermek isteyen ip adresini biliyorsak.
HTACCESS dosyamıza şunları yazıyoruz..
<Limit GET POST PUT>
Order allow,deny
Allow from all
Deny from zararlı ip adresi
</LIMIT>
Eğer birden fazla ip adresi canınızı sıkıyorsa şu kodları ekleyin.
<Limit GET POST PUT>
Order allow,deny
Allow from all
Deny from zararlı ip adresi
Deny from zararlı ip adresi2
Deny from zararlı ip adresi3
Deny from zararlı ip adresi4
</LIMIT>
13 – Sunucu sürüm imzalarını kaldırmak
Genellikle Linux hostinglerde Apache bir hata oluştuğunda ya da bazı komutlar girildiğinde karşı tarafa Apache hata sayfası olarak versiyon numaralarını içeren bilgilendirme sayfaları sunar. Bu herhangi bir açık değildir; fakat yazılım sistemlerini sürekli takip eden ve açıklardan haberdar olan hackerlar, eski versiyonlarda yer alan açıkları kullanarak sitenize erişebilir.
Şu ufak kodları .htaccess dosyanıza ekleyin ve önleminizi alın..
#sunucu sürüm imzalarını kaldır
ServerSignature Off
14 – WP sürümünü gizlemek
Sitenizin sayfa kaynağından wordpress sürümünüzü görebilirsiniz. Yeni sürüm çıktıktan sonra hemen güncelleme işlemi yapmıyorsanız eski sürüm hacklerler tarafından fark edilip gerekli açıkları varsa sitenize zarar verilebilir.
Functions.php dosyasına şu kodları ekleyin ve kaydedin.
Remove_action(‘wp_head’,’wp_generator’);
Kaydettikten sonra sayfa kaynağına baktığınızda mevcut wp sürümünü göremeyeceksiniz..
15 – Zararlı sorguları engellemek
Block Bad Queries eklentisini hemen googleden bulup indirelim..
Wp-content/plugins klasörünüze girin ve eklentiyi buraya gönderin.
Panelinizden etkinleştirdiğinizde artık web siteniz zararlı sorgulardan korunacaktır.
16 – Robots.txt
Robots.txt dosyası gerek sitemiz için gerekse arama motorları için (SEO)
Oldukça önemlidir. Bu dosyayı kullanarak sitenizi ziyaret eden örümceklerin nereleri girip girmeyeceğini belirleyebilirsiniz. İdeal bir robots.txt dosyası oluşturacağız.
İlk olarak site haritamızın bağlantı adresini robots.txt dosyasına ekleyelim. Eklentiyi kurduğunuzda otomatik olarak bu işlem gerçekleşebileceği gibi kod ekleyerekte yapabılırsınız.
#Site haritası başlangıç
Sitemap:http://siteadi.com/sitemap.xml.gz
#Site haritası sonu
Kodlarını ekleyerek site haritamızı ekledik, şimdi de dizinleri indexleme ayarlarını belirleyelim..
User-agent:*
Disallow:/*.php$
Disallow:/*.js$
Disallow:/*.inc$
Disallow:/*.css$
Disallow:/*.wmv$
Disallow:/*.tar$
Disallow:/*.tgz$
Disallow:/*.cgi$
Disallow:/*.xhtml$
Disallow:/*.wp-admin/
Disallow:/*.wp-includes/
Burada birkaç hususa değinelim ;
User-agent: Sitenizi ziyaret eden örümceğin tanımlama ismi.
Disallow : İndexlemeyi engellemek istediğiniz dizinleri belirtmek için kullanıyoruz.
Allow : İndexlemesine izin verdiğiniz dizinleri belirtmek için kullanıyoruz.
Yukarıdaki yer alan kodlara göz atacak olursak .php .css uzantılı dosyaları tüm kullanıcılarda engellemiş bulunuyoruz. Birkaç tane daha kod ekleyelim ve sonlandıralım ;
User-agent: Googlebot-Image
Allow:/
User-agent: Mediapartners-Google
Allow:/
User-agent: Adsbot-Google
Allow:/
User-agent: Googlebot-mobile
Allow:/
Eklemiş olduğumuz kodlar sayesinde özel tanımlanmış örümceklere de sitemizi tarama izni vermiş olduk..