Now Reading
WordPress Güvenlik Ayarları
0

WordPress Güvenlik Ayarları

by Mustafa Kemal Erdem03 Haziran 2013

 android iphone destek hatti

WordPress Güvenlik Önerileri

WordPress google üzerinde çok iyi etkisi olduğundan çoğumuzun tercihi oluyor ama bilindiği üzere WordPress açık kaynaklı dağıtılan hazır site olduğundan güvenlik

sorunları çok oluyor sık sık açıkları takip etmek güncellemeleri yapmak ve güvenlik önlemlerimizi almamız gerekiyor aşağıda bazı güvenlik önlemleri yer almak da umarım yararlı olur

wp-load.php içine girip

Kod:

teknolojidestek(örnek)/wp-config.php bulun ve wp-config.php nin yolunu istediğiniz gibi değiştirin.

PHP Kodu:
if ( file_exists( ABSPATH . 'wp-config.php') )
elseif ( file_exists( dirname(ABSPATH) . '/wp-config.php' )
require_once( dirname(ABSPATH) . '/wp-config.php' );
{

yukarıdaki alanları değiştirdikten sonra artık wp-config.php yolu değişmiş olacaksınız.

Not : Sahte bir wp-config.php oluşturup ana dizine koyup.(içeriği aynı olsun database adı, kullanıcı adı ve şifreyi değiştiriyoruz) Bilgileri öğrenmeye çalışan kişiyi yanıltabilirsiniz. wp-config.php okuyan kişi database bağlanmak isteyecek sahte config bilgileriyle hata alacağından site kaynaklı yada güvenlik ayarlarını yaptığını düşünecek.

Not: İsteyen wp-admin yolunu’da değiştirebilir hosting panelinden de şifrelenebilir

wp-admin klasörünün yolunu (ismini) değiştirmek: wp-admin yolunu değiştirmek için FTP klasörlerindeki wp-admin‘in ismini değiştirmek yeterli değildir. Çünkü o şekilde çalışmaz. Bunun için bütün FTP dosyalarındakiwp-admin ismini değiştirmemiz gereklidir.

İlk önce FTPnizdeki bütün dosyaları sisteminize indirmeniz gerekmektedir (Bu maksatla FTP yedeği almış olursunuz). 50′nin üzerinde dosyada değişiklik yapılacaktır ( 65 dosya ). Tek tek düzenlemek yerine “grepWin” isimli bir program sayesinde bu işlemi oldukça kolay bir şekilde yapacağız.

WordPress giriş adreslerini değiştirmek için oldukça iyi bir yöntem olduğunu düşünüyorum:  grepWin yöntemi …

FTPnizi öncelikle yedekleyin. Sonra yedeğinizin kopyasını bir klasör içine atın. Yedeklerinizi wordpress isimli bir klasör içine attığınızı düşünürsek; bu klasöre sağ tıklayın ve grepWin programını çalıştırın. Gelen pencerede değişiklik yapmadanSearch For olarak wp-admin yazın.Replace with olarak da wp-admin yerine olması gereken ismi yazın (örneğin;2057wadmin). Bunları yaptıktan sonra altta Replace butonuna basın.

DİKKAT: Replace butonuna bastıktan sonra dosyalarınızda değişiklik yapılır. Bu nedenle Replace butonunu kullanmalısınız. Eğer Replace yerine ENTER tuşuna basarsanız değişiklik yapılmaz. Çünkü bu programda ENTER tuşu, search butonunun işlevini(arama) görüyor.

Replace işlemini gerçekleştirdikten sonra değişiklik yapılan yedeğinizi tekrar FTP’ye göndermeden önce /wp-admin/ klasörünün ismini ve /wp-admin/wp-admin.css dosyasının ismini wp-admin yerine olması gereken ismi yazın (örneğin; 2057wadmin demiştik).Bunları yaptıktan sonra dosyaları FTPye atarsanız, wp-admin yolunun sizin istediğiniz isim ile değiştiğini görürsünüz. Fakat amaç giriş ekranının yolunu (adresini, urlsini) değiştirmek olduğu için işimiz daha bitmedi. Aynı değişikliği wp-login.php dosyası için de yapmalıyız ve wp-register.php dosyasını kaldırmalıyız. Çünkü wp-register.php dosyasından da(üyelik işlemi kapalı olsa da) giriş yapılabilmektedir. Search For olarak wp-login.php yazın.Replace with olarak da wp-login.php yerine olması gereken ismi yazın (örneğin; 2057wgiris.php). Bunları yaptıktan sonra Replace butonunu kullanın. wp-register.php dosyasını silmeyi unutmayın.

 

Eğer blogunuzda üyelik işlemini kullanıyorsanız (wp-register.php) bu değişiklikleri yapmanız mantıklı değildir.

Daha sonra değişiklik yapılan yedeğinizi FTPnizdeki dosyalarla değiştirin; yani dosyaları FTPye atın.

Dosya aktarma işlemi tamamlandıktan sonra wp-admin ve wp-login.php linklerinin değiştiğini görebilirsiniz. Artık sadece sizin bildiğiniz, yeni giriş ekranı yolundan sisteme giriş yapabilrsiniz. Eğer bu değişiklikten memnun kalmadıysanız veya herhangi bir sorunla karşılaştıysanız; FTP yedeğiniz ile kolay ve sağlam bir şekilde orjinaline dönebilrisiniz.

HATIRLATMA: Bazı eklentilerde ve temalarda, bazı yerlerde wp-admin ve wp-login.php ismi kullanılmış olabilir. Eklentilerin ve temaların doğru çalışması için bu değişiklikleri (wp-admin yerine 2057wadmin ; wp-login.php yerine 2057wgiris.php ) eklenti ve tema dosyalarında da yapmalısınız.

Dosya İzinleri

WordPress kurulumunu tamamladıktan sonra ilk yapmanız gereken şey wp-admin klasöründeki install.php dosyasını silmektir. Ardından sıra dosyaların izinlerindedir. Yanlış bir dosya izni nedeniyle sunucuya sızılabileceğini unutmayın. WordPress’in kritik dosya ve kalsörleri ile bunların izinleri için aşağıdaki tabloyu referans olarak alabilirsin ama tabi çok daha sıkı bir sistem için izinleri kendi isteğinize göre ayarlayabilirsiniz.

Ana dizin (root directory) : 0755
wp-includes/ : 0755
wp-admin/ : 0755
wp-admin/js/ : 0755
wp-content/ : 0755
wp-content/themes/ : 0755
wp-content/plugins/ : 0755
wp-admin/index.php : 0644
.htaccess : 0644
wp-config.php : 0644

Bazı eklentiler kurulmak için wp-content gibi klasörlerin yazılabilir olmasını ister. Böyle durumlarda eklentiyi kurmadan önce dosya iznini 0777 yapın ve kurulum tamamlandıktan sonra klasörü tekrar eski dosya iznine döndürün. Aynı durum .htaccess dosyası için de geçerlidir. Mutlaka eski dosya iznine dönüş yapın.

Yükleme klasörünüzün (uploads, yuklemeler vb.) dosya izni 0777‘de kalabilir ama arada bir bu dizini kontrol etmek ve zararlı bir dosya (örneğin .php uzantılı ve sizin yüklemediğiniz bir dosya) var mı, bakmak gerekli.

Plugins Dizini

WordPress sisteminizde açık olmasa da kullandığınız eklentilerde açıklar bulunabilir. Ziyaretçilerinizin bu dizini yani eklentilerinizi görmelerini engellemek istiyorsanız boş bir dosya oluşturup bu dosyayı index.html olarak kaydedin ve wp-content/plugins dizinine FTP ile yükleyin. Artık eklentileriniz tarayıcı vasıtasıyla görünmezler.

Not: Güncel WordPress sürümlerinde zaten boş bir dosya bulunuyor(index.php). Bulunmayanlar bu bahsettiğim boş index.html dosyasını kullanabilirler.

.htaccess Dosyası

Güvenli bir WordPress için sağlam bir .htaccess dosyası çok önemlidir. Bu dosya genelde WordPress’in standart yönlendirme içeriğini barındırır ama geliştirmek ve güvenliğimizi artırmak bizim elimizdedir. Bu nedenle aşağıdaki kodları .htaccess dosyanızın en üstüne yapıştırmanızı öneririm. Her satırın üzerinde ilgili kodun ne işe yaradığını yazdım. Aşağıdaki kodları olduğu gibi kopyalayıp .htaccess dosyasına yapıştırarak kullanabilirsiniz. Eğer henüz bir .htaccess dosyanız yok ise boş bir dosya oluşturun, içine aşağıdaki kodları kopyalayın ve bu dosyayı sunucunuza yükleyin. Hepsi bu kadar.

facebook müşteri hizmetleri
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# .htaccess dosyasına erişimi engelle
order allow,deny
deny from all
 
# sunucu imzasını kaldır
ServerSignature Off
 
# dosya yükleme boyutunu 10mb ile sınırlandır 
LimitRequestBody 10240000
 
# wpconfig.php dosyasına erişimi engelle
order allow,deny
deny from all
 
# wp-load.php dosyasına erişimi engelle
order allow,deny
deny from all
 
# dizin listelemeyi iptal et
Options All -Indexes

wp-config.php Dosyası

Bu dosya WordPress günlüklerinin en önemli dosyasıdır çünkü içinde veritabanına bağlantı için gerekli bilgiler ile birlikte temel ayarlar bulunur. İşte bu nedenle bu dosyayı mutlaka korumalıyız.

wp-config.php Dosyasını Şifrelemek

Bununla birlikte wp-config.php dosyasının içeriğini şifrelemeyi unutmayın. Şifreleme için ionCube, Zend Guard veya en basiti ve ücretsiz olan phpr.org sitesindeki aracı kullanabilirsiniz. Benim tercihim ionCube‘den yana. Tabi şunu da unutmamak gerekir ki her şifre kırılabilir. Bu nedenle hiçbirine tam olarak referans olamam. Ben sadece böyle bir yolun da olduğunu bilmenizi istiyorum.

ionCube ile Dosya Şifrelemek: Aslında bu gerçekten çok basit bir işlem. Önce ionCube sitesine üye oluyorsunuz. Sonra kredi yüklemek için ödeme yapıp (minimum 5$ = 10 dosya) kredinizin yüklenmesini bekliyorsunuz. Krediniz yüklenince Encode (Şifrele) sayfasına gidiyor ve şifrelemek istediğiniz dosyayı gönderiyorsun. Dosya şifrelenip size geri veriliyor. Verilen dosyayı sitenize koyup direk kullanmaya başlayabiliyorsunuz.

ionCube ile şifrelenmiş bir wp-config.php dosyası yaklaşık olarak şöyle görünür.

 

?>
4+oV575DvTsGajqIUVykSFuJGG8fQa3HJdW84yY76SRKAYvtpoMNsaj+cvZ0rvmH+Oshi+/HhoFu
mUwQCqePxKNCBS5qWo2+/U5v50KOGpurR5jzM2aoY8GZqeQ6W4jDu2MFPQ/vt41caF6wjzJOmtMs
GQv29n2lLMSGAvnG1G0vGHltkRu8EApnKgxVuGL2UOax2xVDOmD9kTlH/99tEU57NvXrYIIfFLRP
hypRoh02Prk4A0oGo7e32t40TkIi+YRufAQsKOaL4m8tOBGl9iBKeGxc5TvLODf0SM5TcTmsf3Ab
4CJCQzzrx6L23jsrUaHZPrBdOVubdBaG7P4txEdfVMA9HaPgRkf0j7lB9i4Zhy879Ta6o54IcOpD
axMyhFZ9LmUTWjyvN0n92/1xc1CnAwbYKFLfPROeodEKaJKedNNl2BCu0BbGLgk5b1U3+7QRdO4g
fHogbUNw/q5kgvUftcTFTYk5eBi3i0ibbVhJYxx8YyPqjUjh4hFiCSs0LZiPUJMY1qtMfWBfn+Jj
qw11r4cpgjwVq5ur3+pMcQ8CxCnOHX8DauxZ/fQP7eDKkbp/FJX7GlyV9z/zn5D+wIyKyfEEHYWi
UEDDPIkIo2PGSs1ZhIdnt3hyj0DbwCT9Gf51OkdUQulKGTwRzYFRIP8e3cVfpCXHjvc37l/jXFPN
vlCm6n6EQqPuhgYPO1Abpo+Ne5Xp7ihu6RtHI/KvQgpywub2BRpsvypvmzeNX359tzt543q92Mh5
HnyTYIFHXzXMRcLwu1Fu4YYCGnXKnJXS8ITq0MQV+A4zJd7dTgKv44WjI8tqZ4oLjQhTv/lEnkR+
zzPhnLKUHlvRF/Ww01Qbjzzneh+AxSIfHqdBtB3gnxwvo6dj8AN4EIl8Lk6tq8YHqBN9dWnN03/6
wC3rB2bgPP+xXzY/kuoH5W11lsIsjdfXobEj+tTpRANAMiBcxdu7+Ph97KKHTENlZ08gfl+1a4WK
vWavse/s8VcY7W8CM05r1JNGHJs83aBgx0wKOvIFBnBncZNdAvjL+adRQWdIstl+X1AAnbaUbF1C
gIVkcirAUGfN/YOgx6JjjO6Wk9vbXPN8aQXHe58LKKHolYMTnVimDuhyMYaYdF6VZKqc+ZN4Ccss
6QeMgz/7TIavAtumqzAlkZUBMhad0+we1eUmXEuQDGj2G7+/hj5pCKUjIDK1Hp9BkkepP8u0c8ec
X+tU1uTmD8Rf3nvSoD7O0UFhWQL8mkUgeAmiafKDIoK+Co1qr7IwN3avlp0M2alGZHgaOUV6wHUT
H9j2AOgvHJXoa6jlo47KViPrvARriCUMSzH6dpZ23Fr0Lj+jktWP6UKIGL6MNLyM4K77ce4IbSBH
r4zPIMTSzDPgGkpalp02tUIea0nQbcL67cDT6JuRZqxu7FV0yCdPHFquanH5sgI9S3CxsSRbBh8i...

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

wp-config.php dosyası çok önemli olduğu için sadece şifrelemeye güvenemeyiz. Bununla birlikte wp-config.php dosyasının bulunduğu dizini veya dosyanın direk ismini değiştirmeliyiz. Bunu yapmak için de sitemizin ana dizinindeki wp-load.php dosyasını açmalı ve wp-config.php yazan yerleri dilediğimiz şekilde değişirmeliyiz. Örneğin wp-content klasörüne taşımak için wp-load.php dosyasındaki wp-config.php yazan yerleri wp-content/wp-config.php şeklinde değiştirmeliyiz. İlgili satırların değişmiş hali şu şekilde olacaktır.

if file_exists( ABSPATH . 'wp-content/wp-config.php') ) {
 
   /** The config file resides in ABSPATH */
   require_once( ABSPATH . 'wp-content/wp-config.php' );
 
elseif file_exists( dirname(ABSPATH) . '/wp-content/wp-config.php' ) && ! file_exists( dirname(ABSPATH) . '/wp-settings.php' ) ) { 
 
   /** The config file resides one level above ABSPATH but is not part of another install*/
   require_once( dirname(ABSPATH) . '/wp-content/wp-config.php' );

wp-config.php Dosyasına Erişimi Engellemek

Bu dosyayı korumak için öncelikle .htaccess dosyasına, tarayıcı üzerinden wp-config.php ve wp-load.php dosyalarına erişimi engelleme kodunu eklemeliyiz. .htaccess dosyasını incelediğimiz başlıkta bu kodu zaten vermiştim ama yine de tekrar yazayım.

?
1
2
3
4
5
6
7
8
9
10
11
# wpconfig.php dosyasına erişimi engelle 
order allow,deny
deny from all
 
# wp-load.php dosyasına erişimi engelle
order allow,deny
deny from all

Dosyalarla İlgili Diğer Tedbirler

Güvenlik için alınacak tedbirlerde bir sınır yok yani alabildiğiniz kadar tedbir alabilirsiniz. Örneğin klasörlere ve dosyalara erişimi engellemek için Cpanel gibi yönetim panellerinden faydalanabilir, dilediğiniz klasörlere parola koruması ekleyebilirsiniz.

Bir önceki yazımız olan Mobil Ödeme Nedir başlıklı makalemizde Mikro Ödeme, Mikro Ödeme İletişim ve Mikro Ödeme Nedir hakkında bilgiler verilmektedir.

About The Author
Mustafa Kemal Erdem

Leave a Response