WordPress .htaccess ve wp-config.php güvenliği

Mayıs 25, 2013

WordPress son zamanlarda ciddi saldırılar alm.aya başladı bu yazımızda sizlere kullanıcı güvenliği ve Worspress güvenlik eklentisi tanitmistim. Bu yazımda ise . htaccess ve wp-config.php  güvenliği ile ilgili bazi ip uçları vereceğim

images

Dosyaların Yazılım İzinleri

WordPress sitenizi kurduktan sonra ilk yapmanız gereken güvenlik önlemleri readme.html, license.txt, wp-sample-config.php dosyalarını silmek ve wp-admin klasöründeki install.php dosyasını adını değiştirmek olsun. Ayrıca dosya izinlerinizi aşağıdaki gibi ayarlayınız.

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

.htaccess Dosyası Güvenliği

WordPress’in en önemli dosyalarından birisi .htaccess dir. Genel wordpress yönlendirmeleri bu dosya üzerinden yapılır. Bu önemli dosyanın güvenliği için aşağıda verdiğim kodları .htaccess dosyanızın en üstüne yapıştırın. Kodların ne işe yaradı üstlerinde yazıyor dilerseniz açıklama kısımlarını silebilirsiniz.

# .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-admin Dosyası Güvenliği

Saldırganların shell işlemleri için theme-editor.php – plugin-editor.php dosyalarını çekmek isticeklerdir.  Bu işlemleri engellemenin yolu iki dosyanın sahte .txt uzantılı boş dosya kalıbı oluşturup aynı dizine atmaktır.

Örnek:

theme-editor.php – theme-editor.txt

plugin-editor.php – plugin-editor.txt

wp-config.php Dosyası Güvenliği

Bu dosyada wordpress veritabanı bağlantı kodları veri tabanı kullanıcı adı ve şifreleri mevcuttur. Bu dosyanın içeriğini ele geçiren bir saldırgan sitenizin tüm verilerini eline geçirebilir silebilir ve sitenize kalıcı zaralar verebilir. wp-config.php dosyası için alabileceğiniz en güvenli yöntem bu dosyayı şifrelemek peki şifrelemek için ne kullanmalıyım.

En güvenli Yol ionCube ile Dosya Şifrelemek

Bu yöntem dakikalarını alacak bir iş ionCube sitesine üye oluyorsunuz. Bu site ücretli olduğu için ilk etapta kredi yüklemeniz gerek (en az 5$=10 Dosya) kredi yükledikten sonra sizin Encode sayfasına yönlendiriyor burada dosyanızı şifreleyip wp-config.php dosyanızı güvence altına almış olursunuz.

Örnek bir ionCube ile şifrelenmiş wp-config.php dosyası

1&&$__id[1]==’:'){$__id=str_replace(”,’/',substr($__id,2));$__here=str_replace(”,’/',substr($__here,2));}$__rd=str_repeat(‘/..’,substr_count($__id,’/')).$__here.’/';$__i=strlen($__rd);while($__i–){if($__rd[$__i]==’/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die(‘The file ‘.__FILE__.” is corrupted.n”);}if(function_exists(‘_il_exec’)){return _il_exec();}echo(‘Site error: the file ’.__FILE__.’ requires the ionCube PHP Loader ‘.basename($__ln).’ to be installed by the site administrator.’);exit(199);

?>
4+oV575DvTsGajqIUVykSFuJGG8fQa3HJdW84yY76SRKAYvtpoMNsaj+cvZ0rvmH+Oshi+/Hho
FumUwQCqePxKNCBS5qWo2+/U5v50KOGpurR5jzM2aoY8GZqeQ6W4jDu2MFPQ/vt41caF6wjzJOmtMs
GQv29n2lLMSGAvnG1G0vGHltkRu8EApnKgxVuGL2UOax2xVDOmD9kTlH/99tEU57
NvXrYIIfFLRPhypRoh02Prk4A0oGo7e32t40TkIi+YRufAQsKOaL4m8tOBGl9iBKeGxc5
TvLODf0SM5TcTmsf3Ab4CJCQzzrx6L23jsrUaHZPrBdOVubdBaG7P4txEdfVMA9HaPgR
kf0j7lB9i4Zhy879Ta6o54IcOpDaxMyhFZ9LmUTWjyvN0n92/1xc1CnAwbYKFLfPROeodE
KaJKedNNl2BCu0BbGLgk5b1U3+7QRdO4gfHogbUNw/q5kgvUftcTFTYk5eBi3i0ibbVhJYx
x8YyPqjUjh4hFiCSs0LZiPUJMY1qtMfWBfn+Jjqw11r4cpgjwVq5ur3+pMcQ8CxCnOHX8
DauxZ/fQP7eDKkbp/FJX7GlyV9z/zn5D+wIyKyfEEHYWiUEDDPIkIo2PGSs1ZhI
dnt3hyj0DbwCT9Gf51OkdUQulKGTwRzYFRIP8e3cVfpCXHjvc37l/jXFPN
vlCm6n6EQqPuhgYPO1Abpo+Ne5Xp7ihu6RtHI/KvQgpywub2BRpsvypvmzeNX359tzt543q92Mh5
HnyTYIFHXzXMRcLwu1Fu4YYCGnXKnJXS8ITq0MQV+A4zJd7dTgKv44WjI8tqZ4oLjQhTv/lEnk
R+zzPhnLKUHlvRF/Ww01Qbjzzneh+AxSIfHqdBtB3gnxwvo6dj8AN4EIl8Lk6tq8YHqBN9dWn
N03/6wC3rB2bgPP+xXzY/kuoH5W11lsIsjdfXobEj+tTpRANAMiBcxdu7+Ph97KKHTENlZ08g
fl+1a4WKvWavse/s8VcY7W8CM05r1JNGHJs83aBgx0wKOvIFBnBncZNdAvjL+adRQWdIstl+X
1AAnbaUbF1CgIVkcirAUGfN/YOgx6JjjO6Wk9vbXPN8aQXHe58LKKHolYMTnVimDuhyMYaYdF
6VZKqc+ZN4Ccss6QeMgz/7TIavAtumqzAlkZUBMhad0+we1eUmXEuQDGj2G7+/hj5pCKUjID
K1Hp9BkkepP8u0c8ecX+tU1uTmD8Rf3nvSoD7O0UFhWQL8mkUgeAmiafKDIoK+Co1qr7IwN3
avlp0M2alGZHgaOUV6wHUTH9j2AOgvHJXoa6jlo47KViPrvARriCUMSzH6dpZ23Fr0Lj+jkt
WP6UKIGL6MNLyM4K77ce4IbSBHr4zPIMTSzDPgGkpalp02tUIea0nQbcL67cDT6JuRZqxu7
FV0yCdPHFquanH5sgI9S3CxsSRbBh8i…

Güvenli olmayan ücretsiz servisler

Ücretsiz şifreleme için tools4noobs ve phpencode sitelerini kullanabilirsiniz. Ama ionCube göre daha güvensiz be kolay kırılabilir sifrelerdir.

Örnek Şifrelenmiş wp-config.php Dosyası

<?php /*** PHP Encode v1.0 by zeura.com ***/ $XnNhAWEnhoiqwciqpoHH=file(__FILE__);eval(base64_decode("aWYoIWZ1bmN0aW9uX2V4aXN0cygiWWl1bklVWTc2YkJodWhOWUlPOCIpKXtmdW5jdGlvbiBZaXVuSVVZNzZiQmh1aE5ZSU84KCRnLCRiPTApeyRhPWltcGxvZGUoIlxuIiwkZyk7JGQ9YXJyYXkoNjU1LDIzNiw0MCk7aWYoJGI9PTApICRmPXN1YnN0cigkYSwkZFswXSwkZFsxXSk7ZWxzZWlmKCRiPT0xKSAkZj1zdWJzdHIoJGEsJGRbMF0rJGRbMV0sJGRbMl0pO2Vsc2UgJGY9dHJpbShzdWJzdHIoJGEsJGRbMF0rJGRbMV0rJGRbMl0pKTtyZXR1cm4oJGYpO319"));eval(base64_decode(YiunIUY76bBhuhNYIO8($XnNhAWEnhoiqwciqpoHH)));eval(ZsldkfhGYU87iyihdfsow(YiunIUY76bBhuhNYIO8($XnNhAWEnhoiqwciqpoHH,2),YiunIUY76bBhuhNYIO8($XnNhAWEnhoiqwciqpoHH,1)));__halt_compiler();aWYoIWZ1bmN0aW9uX2V4aXN0cygiWnNsZGtmaEdZVTg3aXlpaGRmc293Iikpe2Z1bmN0aW9uIFpzbGRrZmhHWVU4N2l5aWhkZnNvdygkYSwkaCl7aWYoJGg9PXNoYTEoJGEpKXtyZXR1cm4oZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJGEpKSk7fWVsc2V7ZWNobygiRXJyb3I6IEZpbGUgTW9kaWZpZWQiKTt9fX0=f9f92a9b4f073c971ba5a3de6dceb1a1038ea597rVZNbxs3EL0HyH8YpwVku7LU9FC0CQpYthU7jWK7llwjvQiUlpLY5S63JFfOqsi5P8PHnH3pKTfZ/6tvuPpYOTnVCSzsZjl88+ZxZjjN3d2nT3apN5E0EE7S0KQjNc6t8MqkjsyIPJaujI3OrXSuAePSXjkaKS1pIlwwGRmtzbVKxw8gXtDbovtbh5z0HquuTj0xwD7AjdT7OoN15dBKT29kgdWVK+qIdJyLsayTSCNqHXTPW72TBr0zOQ1FCu/4mhgrSaUjY5PgjuEGBU2VU+yN/t7XKo1p4n32otkcmki+b1zDQxaCMXbcbEfBsn+d7ZXEG9kko8VXhttY+ECHjEEZeK2pjMGeNdiMlEbWJFSY3NK1HNDEOP+5fHjmTkZMmhE2WUCWEBW5oVWZpyi3HBQMGUSlzgutg0XJJTJpzeNEppK8YdwSE84hB3QsFnz/zJ3HMWXsc0GEAbHn2QaBZ0F5LGs4C1hToXO5yoL9TAxjKLE+NHxtPn3SbNLu7kINUQirhb27pT06yGmg9BjurCKXp/kQv1kERkILrCjrVKpmvLnJMHiu00HNP4JEnCPi9O5Wi6GIaQogLwb8gf9IRPDDDCIkVyq3a0cH/dPW23atTjUH/KlVSX/5EguHrUlt52XpquRbgVw5G97dus+BL7vtiw3giRhIG+AqVuetbvfq7OKILeXP9jj5tVV3dmfw0O7krNtjG22GQnOuPDQ4PGlddNvBJvejn1a0f68SFvb+hsW5v/F3t6gJ8ipTDTqRdoJqUpDf0v3N/FM2kSz0VFgnaIDMkXc3fCj8VNisbCILhbR6EPPhWafT6gU9lwS+2f+Oc6F9f+OAGJm7G5trAdciFRO/OPxlxoDI8juNhI01SDMnEBexx2I8/5RIp8joRGBxizdtFrFAQJsl7EL/2Itl0XzeeN50QvtKx4IFrS3waqdqKD+UL5xvi2NmBoRkFb6Sisyb5v9IK2chacdy/lFaDjSGzAl2lGmpnJeRgnas6gzRp2tV9aawsoLOFeERcTXTgl6oNhlbiDRWFtvAK0uEC1kODlbGDDQMj1UxAnIo6YfGj43vyzJcnlvrsnfSf9N+h1Nb/qvJ8rg2dQclpAg6dyGoYOKBsEo3UrHbPry8aPeroI9A65wdH7eP+q9P1wQfgXZ6dnrY3gz1EWghxG6r0/sqaFXdFqBfRbcVwUfrthHq/0ALzWBvt+zcnJLr5l3tqnhqQ/N/U5KxWt2IZRWgdeQJKgDdo7CL3gBLGVo95334Um37gr9EEvOAmGmxhOCCeVjGXRGhZAjhCHZRx0VpRyhOwBG3DBTyDC1Szz/5kUwbZQ19y2xlPwvTCtEvq3bfr738QpzQRGqKFH7GFVyx9bLJFlzY6BNowlrNhnIZ98GXey84y7LQcWnHW/SH8AgRItkYDahWyPJeLRsredvvXTQSszLYYBBuxvJeB4hv6sVc5WA14/6H4GESCTTdKL+7yVO+kWWCtmZ0HoRYA+M3xYFDuzguN/Hx4ANElMt04I4XMgVvHj022V817D1vG0OMRSLC/5B7wURuntRm97o677ROj7laQpjLTGNWr4yFalOpTYam/KJyDpEc5OMxD0sJ5rWl2Id8Ccpy6MGw420eBiWZhomU55tIuUyLgufe1HjcE245dC384GjCFEevPc9uzluTjnVB6MYmwWKEWc5PhKdM5/AfBigAJ7JCNExmV+f9o/bB5XE5ybGNslUnYAWhTcrvrvFQknIvRBkJ7WQpCS7XzHF1omYjYRv0NvcaE5c2Y76PkfJbtChOag0cztZLDLJ+ErSoTvmQAfF4Y4tyAFAj2qat0nuEvliO4rUd2qk0y8XHOm9ORSK3+/1Xrzvtfn+HGlRrruaVrvRQIKs2BxRIEAoXmM5ZQZ5IXenbyr9ysOkbXG7bCycMiIReDto8qgL+Pw==

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

wp-config.php dosyasını şifreledikten sonra birde dosyamızın konumunu değiştirelim. Bunun için wordpress ana dizindeki wp-load.php dosyasını açalım ve aşağıdaki wp-config.php yazan yerleri istediğiniz bir dizin ile değiştirin.

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’ );

Yönetim Paneli Tema Editörünü Gizleme

Aşağıdaki kodu tema dizinindeki functions.php dosyasında ?> etiketinden önce ekleyiniz.

function wpr_remove_editor_menu() {
remove_action(‘admin_menu’, ‘_add_themes_utility_last’, 101);
}

global $remove_submenu_page, $current_user;
get_currentuserinfo();
if($current_user->user_login !== ‘admin’) { //Kullanıcı adınızı ekleyin
add_action(‘admin_menu’, ‘wpr_remove_editor_menu’, 1);
}

WordPress Sürümünü Ziyaretçilerden Gizleme

WordPress sürümünü gizlemek için aşağıdaki kodu functions.php dosyanıza yapıştırınız.

remove_action(‘wp_head’, ‘wp_generator’);
0
Connecting
Please wait...
Mesaj Gönder

Canlı destek şuan aktif değil bize mesaj atabilirsiniz. Ortalama 60 DK içerisinde dönüş sağlanacaktır

Adınız Soyadınız
* E-Posta
* Mesajınız
Sohbet

Merhaba, size nasıl yardımcı olabilirim?

Adınız Soyadınız
* E-Posta
* Sorunuz
Sohbet
Geri Dönüş

Destekle ilgili geri dönüşlerinizi bekliyoruz.

Sorunuzu Çözmeden Yardımcı Oldu mu?