Worpress güvenliği konusuna biraz değinmek istiyorum.
Piyasada bulunan en güvenli ve popüler sistemlerden biridir, ama nihayetinde açık kaynak kodlu yazılmış bir sistem olup zaman ile açıkları çıkmaktadır.
Evet bu açıkları fark edene kadar belki de canımız yanıyor olabilir. Bizde olası yeni açıklara karşı kendimizce tedbirimizi almalıyız.


Başlayalım,

1: Veritabanı bilgileri ve önemi.
r10gokyildiz.com şeklinde bir domaininiz olduğunu varsayalım, ve bu domain için hosting hesabı açtırıyorsunuz. Hosting giriş için kullnıcı adını sistem normalde otomotik verir. Genelde bu domain için vereceği kullanıcı adı aşağı da belirtiğim şekildedir.

r10g, r10go, r10gok, r10goky, r10gokyi
Dikkat ederseniz. 4 harften başladım ve en fazla 8 harfli yazdım. Cpanel kullanıyorsanız 8 karekterin üstü kulanıcı adı vermez.
Sizi deneme yolu ile çalışan programlar ile hacklemeye çalışanların işini daha zorlaştırmak için saçma sapan bir isim verebilirsiniz.
Çünkü deneme yanılma programları genelde bu mantıkla çalışır. Kullanıcı isimlerini tahmin eder ve çoğu zaman da bilir. Kullanıcı adını az çok bildiği için, şifreye odaklanır. Sizde basit bir kullanıcı adı yazacağına r10gokyildiz.com için R110ggookyilldiz seklinde bir isim verebilirsiniz. Bu programın işini çok ama çok zorlaştıracaktır.

Gelelim kurulum sıranda ki datebase bilgileri
r10gokyildiz_blog şeklinde bir kullanıcı adını aman aman yazayım demeyin. bunu da güçleştirin.

örnek: R110ggookyilldiz_ulog
kullanıcı ve datebase isimleri farkli olsun.
örnek: R110ggookyilldiz_ulog ( kullanıcı adı )
örnek: R110ggookyilldiz_dlog ( Datebase ismi)
Ve şifre: 1234321 gibi bir hataya kapılmayın.
örnek: mal#987cco/u+ZZ-&|]-]=-sifper Şeklinde bir datebase şifresi için taş gibi şifre diyebiliriz. Bu şifre sadece bu datebase e ait olsun. Farklı yerde aynısını kullanmayın.

prefix: Ayrıca tablo ön ekleri değiştirin.
örnek: $table_prefix = ‘21per_’;

2: Scripti resmi siteden indirin.
Kesinlikle WordPress sistemimizi WordPress.org sitesinden indiriyoruz. Gerektiğinde dil yüklenilir bunu dert etmeyin. Türkçe yada Farklı sitelerden indirdiğiniz sistemin içine shell(1) yada açık yazmiş(2) olabilirler.

Shell (1): yakın zamanda uyarısını yapmıştım. Mybb türkçe destek sitesinden indirilen Mybb sistemlerinde shell olduğu tespiti yapılmış ve bir çok site bu şekilde hacklenmişti.

Açık yazmak(2): Vbulletin 3.6 sürümlerinin bir kaçtanesinde FAX bölümün de “datebase” yazıldığında Datebase bilgileri veriliyordu. Bu da vbulletin açığı olmayıp, sistemi nullaştıranlar tarafından özel kodlar yazılarak hazırlanmış bir açıktı.

3: Sistemin güncel sürüm olması.
Kurduğunuz WordPress sistemi kesinlikle güncel sürüm olması gerekmektedir. Çünkü açık tespit edilmiş eski bir sürümü kullanıyor olabilirsiniz. Sistemin güncel olup olmadığını öğrenmek çok kolay. Wordpess admin paneline girin ve WordPress Updates bölümünden konrol edin. Hatta benim yaptığım gibi. her admin paneline girdiğinizde bunu kontrol edin. El alışkanlığı haline getirin bu işi.

4: Eşsiz doğrulama anahtarı
Sitenize ait ftp hesabınıza erişin ve config.php içinde Eşsiz doğrulama anahtarı bölümü var. Bölüm Cookie güvenliği içindir. Bu bölümde kesinlikle doldurulmalıdır. WordPress yeni sürümlerde bu bölüm oto şeklinde doldurulur. Şayet sizin sisteminiz eski ise girin ve konrol edin. Bahsini ettiğim bölüm boş ise BURAYA TIKLAYIN ve Eşsiz doğrulama anahtarı edinip config.php bölümünde ilğili alana yapıştırın.

ÖRNEK:
define('AUTH_KEY', 'OC|,)%lOT|c?Zv++We2W@>(#2rkL?Zb56/J+&o43:&IWQZdM/fgyEUD8Aqsh)&Pg');
define('SECURE_AUTH_KEY', '7wnn2u5kNR?McNkW&k;TXdlG?07.4a0+y(0Ce705)V<<w++,%=sd7NaCPTIZh-u|');
define('LOGGED_IN_KEY', 'M|@AugJ}p_uPxFoK|Xs,o{EcRoh5}e|tZL=m25?~p,cUtp5 ^3$I^v*g+@?.Y2~1');
define('NONCE_KEY', '-Dy-/d26JC*In3eY<O/vr#{S>ydCHR5]T_+dDE1MK{.#ej.&})5OL8o)n?>ZUHF7');
define('AUTH_SALT', 'm>L28mmJ]etU?h$b uZn+}a|+ A2/3!]u0PoCU3?c~m(!*p8N|~7_a#]vpP4vS(Y');
define('SECURE_AUTH_SALT', 'Ny?95,2m}HI~4(aXs8RNe|$jo}eiWl0kp6Cj@@CG#kvQa|A {XMgGc6)|{Han#9h');
define('LOGGED_IN_SALT', 'L+byb2mz8fZr#ud9k?tMX?tcBU-N/?#]DPPzL[xAG`Wzv.^^7tz!&j>!K,Z4c?4c');
define('NONCE_SALT', 'LWZk|&Tp5|PJg`z|={V$tzx-NJFRwXS4nwHLXDe0)* Jqh yonHp]<(J:3L, s!D');
5: Admin ismi ve şifresi
Kurulum esnasında sizden kullanıcı adı isteyecektir. Admin şeklinde bırakmayın. Bunu kendinizce değiştirin. Şifrenizi tabiki kırılması çok zor bir şifre belirleyin.
Şayet ki kulanıcı adını daha önce admin yapmış iseniz. Phpmyadmin’e bağlanın ve USERS tablosunda bulunan Admin olan ismi değiştirin.

Önemli not: Siteye giriş yaptığınız kullanıcı adı ile yorumlarda ve makale altında yazan admin ismi farkli olsun. Bunu da admin panelinden üyeler bölümünden ayarlayın.


6: Hack ataklarına karşı Cloudflare.
Eminim günde birden fazla botnet saldırı olacaktır. Bu nedenle ataklara karşı korumasız kalmaktansa ClourFlare özelliğini kullanın. Cloudflare üye olurken güvenli bir şifre seçmeyi unutmayin. Cloudflare nasıl kullanır TIKLA

7: WordPress Admin ve wp-Config.php yolu değiştirmek.
Site ana dizinde wp-load.php isimli dosyayı bulun ve içinde yer alan wp-config.php bölümünü istediğiniz gibi değiştirin.

Örnek: wp-feed.php ardından wp-config.php ismini de wp-feed.php yapın.
Admin klasörünün ismini değiştirmek için bütün dosyaları indirin. içinde arama yapin. wp-admin yerine belirlediğiniz uzantıyı yazın. Bunu oto şeklinde yapan bir program var bunu nette indirebilirsiniz.

Bunun yerine wp-admin klasörünü cpanelden şifreyebilirsiniz. Seçenekle size kalmiş.

Ardından. Wp-login.php ismini değiştirin.
Örnek: wp-giris.php

ismi değiştirdikten sonra wp-login.php isimli dosyayi açın.
Aratın: wp-login.php
Yerine yazin: wp-login.php.

Not: ben örnek isimler kullaniyorum, siz bu isimleri değiştirin. Ve cloudflare paneline girin. Size wordpress ip güvenliği için özel yazdıkları bir eklenti verecekelerdir, onu indirin ve kurun.

Şimdi işin en zevkli kısmına geldik.
Cpanel den son son ziyaretçiler kısmına girin. Kendi ip adresinizi biliyorsunuz. kontrol edin. Sizden başka wp-admin bölümüne giren ip adreslerini alın. Tek tek banlayın.
Hatta ben bunu cloudflare.com sitesinde ip yasakla bölümüne de de yasakliyorum ki bir daha siteye erişemezsin.
Zaten iyi niyetli biri benim admin panelime neden erişmek istesin ki.?

Son olarak cloudflare ip yasaklama alanında China yazarak Çin'i komple yasaklayın. Saldırıdan başka bir şey yapmıyorlar.

7: Diğer notlar.
Bilmediğiniz eklentileri, daha doğrusu plugin bölümüne boş plugin doldurmayın. Bu hack için büyük açıktır.
İşinize yaramiyorsa üyelik, avatar yükleme gibi dışardan siteye müdahale edilecek modulleri pasifleştirin.
Phpmyadmin bölümünden şifrenizi değiştirebiliyorsanız. Şifremi unuttum bölümünü kaldırın. Olurda sql injection yapılırsa en azından şifremi unuttum diyerek şifrenizi sizden alamaz.
Sitenizde kaynak kodlarında bulunan WordPress versiyon numarasını silin. Hangi sürümü kullandığınızı kimse bilmesin.

Peki bu kadar çalışma yaptığımda artık hacklenmeyecekmiyim?
Sunucunda açık bulunursa hacklenirsin.
Sunucumda açık yok ve güvenli hacklenmeyecekmiyim?
İmansızın birine ras gelirseniz bir şekilde hackler. Bizim burda yaptığımız olabildiğince güvenligini sağlamak.

Size önerim okuyun ve başlayın bu çalışmalara.