چهارشنبه , ۴ مرداد ۱۳۹۶
خانه » سایت و وبلاگ » وردپرس » آموزش وردپرس » چند نکته برای امنیت وردپرس

چند نکته برای امنیت وردپرس

Wordpress-Security

سلام

قصد ندارم نکته جدیدی رو بگم، فقط همان نکات قدیمی امنیت وردپرس و صرفا جهت یادآوری.

این مطلب بر گرفته از سایت گروه امنیتی آشیانه و وردپرس فارسی و وردپرس انگلیسی برای امنیت وردپرس شما می باشد. حتما این مطلب رو بخونید، شاید نکته ای را فراموش کرده باشید.

۱- مخفی کردن نسخه وردپرس شما

برای حذف شماره نسخه وردپرس خود باید ۲ کار انجام دهید:

اول فایل header.php به دنبال این کد بگردید:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

و آن را به صورت زیر تغیر دهید:

<meta name="generator" content="WordPress" />

و حال این کد را به فایل function.php موجود در داخل پوشه theme اضافه کنید:

<?php remove_action('wp_head', 'wp_generator'); ?>

و همچنین پاک کردن فایل readme.html از پوشه روت وردپرس می باشد! دقت داشته باشید که پاک کردن این فایل تاثیری بر عملکرد وردپرس شما ندارد.

۲- به روز رسانی همیشه گی وردپرس و افزونه ها

۳- تعیین سطح دسترسی درست (premissions) و صحیح به فایل و پوشه ها

هیچ وقت بر روی هاست های اشتراکی و حتی هاست های شخضی خود سطح دسترسی را برابر ۷۷۷ قرار ندهید.

یک نکته: بهتره سطح دسترسی فایل configh را روی ۴۰۴ تنظیم کنید.

۴- با استفاده از فایل htaccess و index سطح دسترسی به پوشه های wp-includes و wp-admin و plugins و … رو محدود کنید و اگر از آی پی استاتیک استفاده می کنید، دسترسی رو فقط محدود به آی پی خود کنید.

۵- نام کاربری و پسورد خود را مطمئین انتخاب کنید. هیچ وقت از نام کاربری Admin استفاده نکنید.

۶- robots.txt وردپرس خود را حتما بسازید

برای ساخت robots.txt یا خودتون بسازید و یا از افزونه استفاده کنید. افزونه پیشنهادی مثبت ۲۴ به شما iRobots.txt SEO می باشد.

برای ساخت robots یک فایل بر روی روت هاست خود با نام و پسوند robots.txt بسازید و در داخل آن کد زیر را قرار دهید.

User-agent: *
# disallow all files in these WordPress directories
Disallow: /wp-content/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-
# disallow all files in these directories
Disallow: /tag/
Disallow: /cgi-bin/
# disallow robots from parsing individual post feeds and trackbacks
Disallow: /feed/
Disallow: /trackback/
Disallow: */trackback*
# disallow any files that are stats related
Disallow: /stats*
Disallow: /about/legal-notice/
Disallow: /about/copyright-policy/
Disallow: /about/terms-and-conditions/
Disallow: /tag
Disallow: /docs*
Disallow: /manual*
Disallow: /category/uncategorized*
# disallow files ending with the following extensions
User-agent: Googlebot
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.gz$
Disallow: /*.cgi$
Disallow: /*.wmv$
Disallow: /*.php*
Disallow: /*.gz$
Allow: /wp-content/uploads/
#disallow WayBack archiving site
User-agent: ia_archiver
Disallow: /

۷- از افزونه های امنیتی ای همچون wp security scan و firewall برای بررسی سطح دسترسی پوشه ها و امنیت استفاده کنید.

۸- اگر هنوز وردپرس خود را نصب نکردید پیشوند دیتابیس خود را تغیر دهید. برای این کار در فایل wp-config و در خط define(‘DB_NAME’, ‘wp’); مقدار wp را به نام دلخواه خود تغیر دهید.

البته اگر وردپرس را نسب کردید برای تغیر پیشوند بانک اطلاعاتی به روش زیر عمل می کنیم:

به نقل از admin_security:

الف) ابتدا یکback up یا پشتیبان از بانک اطلاعاتی(database) سایت میگیریم که در صورت بروز هرگونه خراب کاری بتوانیم اطلاعات را بازگردانیم.
ب) فایل config.php را باز می کنیم. این خط را جستجو کنید.

$table_prefix = ‘wp_’; 

خوب مشخص است که ما می خواهیم wp به نام دلخواهمان تغییر کند.نام دلخواه خود را وارد کنید به جای wp و ذخیره ی پرونده.

ب)وارد php my admin سایت خود شوید.در کنترل پنل سایت موجود است.دیتا بیس مربوط به ورد پرس که قبلا ایجاد کردید را انتخاب کنید. تمام جداول(tables) های که پیشوند wp دارند را را با نام دلخواهی که برای wp در فایل config.php گذاشته بودید تغییر دهید.
توجه!!: نام جدول را عوض نکنید ها.فقط پیشوند یعنی wp با هرچی که شما در کانفیگ.پی اچ پی بجای همون wp گذاشتید.

ج) جدول wp-option را انتخاب کنید و وارد آن شوید. الان باید این wp با اسم دلخواه شما تغییر پیدا کرده باشه.بعد گزینه ی SQL را از منوی بالای جدول انتخاب کنید. این گزینه را کلیک کردید صفحه ای می آید که یک جعبه(box) کوئری(query) وجود دارد که می توانید در آن مقدار وارد کنید.
مقدار زیر را وارد کنید

UPDATE new_usermeta SET meta_key = REPLACE(meta_key, 'wp_', 'jadid_'); 

اون قسمت دستور که کلمه ی jadid هست را به نام دلخواهی که با wp عوض کردید تغییر بدهید.

د) حالا وارد جدول wp_usermeta شوید.بعد دوباره از منوی بالا SQL را کلیک می کنیم.ولی این بار در جعبه ی کوئری این دستور را وارد می کنیم.

UPDATE new_options SET option_name = 'jadid_user_roles' WHERE option_name = 'wp_user_roles' AND blog_id =۰; 

باز هم می گم یادتون نره jadid را با اون نام دلخواه عوض کنید.تو این دستور هم jadid هست.
ذخیره و پایان.
فراموش نشود که حتما قبل از انجام این مراحل بک آپ بگیرید.

۹- کد گذاری بر روی کوکی های وردپرس

برای کدگذاری بر وری کوکی ها در فایل wp-config.php به دنبال کد زیر بگردید:

define(’AUTH_KEY’, ‘put your unique phrase here’);
define(’SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(’LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(’NONCE_KEY’, ‘put your unique phrase here’);

و کدهای زیر را جایگزین کنید:

define(‘AUTH_KEY’,        ‘;R=0+jHxlTT6f}EFEz$)2{-eN @bs|idy?+?(/Gffo=A+FP-]$hij[EA~f+Fq/|C’);
define(‘SECURE_AUTH_KEY’, ‘*k{Il`v,wSEPQSe# !g%+l/`P!p6&to57ji#9Y/;Y}y!!;|c+Ou-rs$kBDX(-k7Z’);
define(‘LOGGED_IN_KEY’,   ‘۳@ u2C.E{D<hVrd)%+*|+xu/qI9!B&cpDO ^H^Fi|/+J;[#w%vjxM9U.;g+jQZ%?’);
define(‘NONCE_KEY’,       ‘hxw0%I^!BmsX&F.#^H}w_8NQCpEu* VQD7-P21`c?[O4W:uJah,( fwX~-fpe9=q’);

آخرین کد های مربوط کد گذاری کوکی بدست آورید.

۱۰- جلوگیری و محافظت سایت در برابر حملات xss  (غیر فعال کردن TRACE and TRACK )

برای این کار کد زیر را در داخل فایل htaccess اضافه کنید( به نقل از unique2world) :

# disable TRACE and TRACK in the main scope of httpd.conf
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* – [F]
RewriteCond %{REQUEST_METHOD} ^TRACK
RewriteRule .* – [F]

<VirtualHost www.example.com>

# disable TRACE and TRACK in the www.example.com virtual host
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* – [F]
RewriteCond %{REQUEST_METHOD} ^TRACK
RewriteRule .* – [F]
</VirtualHost>
#

wordpress-security

تمام این نکات یک طرف، امنیت هاست شما طرف دیگه!!!


از ما حمایت کنید!