10 نكته براي سخت كردن امنيت وردپرس
اگر وب سايتي با وردپرس اجرا مي كنيد ، امنيت آن بايد مهمترين نگراني شما باشد. در بيشتر موارد ، وبلاگ هاي وردپرس به دليل قديمي بودن پرونده ها و يا افزونه اصلي آنها ، به خطر مي افتند. پرونده هاي قديمي قابل رديابي هستند و اين يك دعوت نامه آزاد براي هكرها است.
چگونه مي توان وبلاگ خود را براي هميشه از آدمهاي بد دور كرد؟ براي مبتديان ، مطمئن شويد كه هميشه با آخرين نسخه وردپرس به روز شده ايد. اما موارد بيشتري وجود دارد. در پست امروز ، مي خواهم چند افزونه مفيد و همچنين برخي نكات براي تقويت امنيت وردپرس را با شما به اشتراك بگذارم.
1. تغيير پيشوندهاي پيش فرض "wp_"
اگر از پيشوندهاي قابل پيش بيني در جداول پايگاه داده خود استفاده مي كنيد ، ممكن است وب سايت شما براي برخي آسيب پذيري ها (به عنوان مثال SQL Injection ) در معرض خطر wp_
باشد. آموزش زير به شما مي آموزد كه چگونه به آنها را از طريق phpMyAdmin در 5 مرحله آسان تغيير كرده است.
2. پيام هاي خطاي ورود به سيستم را پنهان كنيد
پيام هاي خطاي ورود ممكن است در صورت صحيح / نادرست بودن نام كاربري ، باعث افشاي ايده آنها شود و برعكس. عاقلانه است كه آن را از ورود غير مجاز پنهان كنيد.
براي پنهان كردن پيام هاي خطاي ورود به سيستم ، مي توانيد كد زير را در توابع.php قرار دهيد
1
|
add_filter( 'login_errors' , '__return_false' ); |
3. دايركتوري wp-admin را محافظت كنيد
محافظت از پوشه "wp-admin" يك لايه محافظت اضافي ايجاد مي كند. هركسي كه پس از "wp-admin" سعي در دسترسي به پرونده ها يا فهرست داشته باشد ، سريعاً وارد سيستم مي شود. محافظت از پوشه "wp-admin" خود با ورود به سيستم و رمز عبور به چندين روش انجام مي شود:
- افزونه وردپرس - استفاده از وردپرس HTTP Auth .
- cPanel - اگر ميزبان شما از ورود مدير cPanel پشتيباني مي كند ، مي توانيد از طريق رابط كاربري گرافيكي cPanel's Password Protect Directories به راحتي روي هر پوشه محافظت كنيد. از اين آموزش بيشتر بدانيد .
- .htaccess + htpasswd - ايجاد يك پوشه محافظت شده با رمز عبور نيز مي تواند با تنظيم پوشه هايي كه مي خواهيد از آنها محافظت شود در داخل .htaccess و دسترسي كاربران در داخل .htpasswd به راحتي انجام شود . آموزش زير نحوه انجام آن را در 7 مرحله به شما نشان مي دهد.
4. حفظ پشتيبان گيري
حفظ نسخه هاي پشتيبان از كل وبلاگ وردپرس خود به اندازه ايمن بودن سايت در برابر هكرها مهم است. در صورت خرابي همه ، حداقل هنوز پرونده هاي پشتيبان تميز را براي برگرداندن داريد. دو روش تمرين پشتيبان گيري وجود دارد: پشتيبان گيري كامل و پشتيبان گيري افزايشي.
"پشتيبان گيري كامل" شامل همه موارد درون سايت از جمله پرونده ها و پايگاه داده هنگام ايجاد نسخه پشتيبان است. اين روش بيش از حد لازم زمان مي برد و ممكن است باعث افزايش CPU و ديسك در هنگام تهيه نسخه پشتيبان شود. بنابراين اگر سايت شما منابع محدودي داشته باشد كاملاً توصيه نمي شود.
از طرف ديگر پشتيبان گيري "افزايشي" فقط براي اولين بار انجام مي شود و فقط از موارد اخيراً تغيير يافته نسخه پشتيبان تهيه مي كند بنابراين كارآيي بيشتري دارد. امروزه گزينه هاي زيادي براي اين نوع پشتيبان گيري در وردپرس با مقدار قابل قبولي هزينه مانند VaultPress و WP Time Capsule وجود دارد .
علاوه بر اين ، ما قبلاً ليستي از راه حلهاي تهيه نسخه پشتيبان از پرونده ها و پايگاه داده وردپرس شما را شامل مي شود ، از جمله پلاگين هاي مفيد و خدمات پشتيبان .
5. جلوگيري از مرور فهرست
يكي ديگر از مشكلات مهم امنيتي اين است كه فهرستهاي شما و پرونده هاي آن در معرض ديد عموم قرار دارد. در اينجا يك تست ساده براي بررسي اينكه آيا دايركتوري هاي وردپرس شما به خوبي محافظت شده است وجود دارد:
- بدون نقل قول ، URL زير را در مرورگر وارد كنيد. "
http://www.domain.com/wp-includes/
"
اگر اين مورد خالي است يا شما را به صفحه اصلي هدايت مي كند ، ايمن هستيد. با اين حال ، اگر صفحه اي مشابه تصوير زير مشاهده مي كنيد ، چنين نيستيد.
براي جلوگيري از دسترسي به همه فهرست ها ، اين كد را در داخل پرونده .htaccess قرار دهيد .
# جلوگيري از مرور پوشه. گزينه هاي All -Indexes
اگر سايت شما روي nginx در حال اجرا است ، مي توانيد موارد زير را به جاي آن اضافه كنيد.
1
|
autoindex off; |
6. پرونده ها و پلاگين هاي اصلي وردپرس را به روز كنيد
يكي از مطمئن ترين راه ها براي ايمن نگه داشتن سايت وردپرس اين است كه مطمئن شويد فايل هاي شما هميشه به آخرين نسخه به روز مي شوند. خوشبختانه ، وردپرس امروز با به روزرساني خودكار روشن شده است ، بنابراين به محض وجود يك پچ امنيتي ، سايت شما بايد بلافاصله به روز شود. فقط مطمئن شويد كه شما يا برنامه نويس خود آن را خاموش نكرده ايد.
7. رمزعبور قوي انتخاب كنيد
وردپرس اكنون داراي يك قسمت پيشنهاد رمز عبور قوي است كه هنگام ايجاد يك حساب كاربري جديد يا به روزرساني به رمز عبور جديد ، به شكل زير است. اين نشان مي دهد كه رمز ورود شما قوي است يا ضعيف. حتماً بايد رمز ورود قوي را انتخاب كنيد. اما نكته منفي داشتن رمز عبور قوي اين است كه به راحتي قابل حفظ نيست. به همين دليل توصيه مي كنم يك مدير رمز عبور مانند 1Password يا LastPass داشته باشيد
8. Admin User را حذف كنيد
نصب معمولي وردپرس با يك كاربر پيش فرض به نام "مدير" همراه است. اگر اين نام كاربري سايت وردپرس شما باشد ، در حال حاضر زندگي هكرها را 50٪ ساده تر مي كنيد. استفاده از "مدير" كاربر هميشه بايد اجتناب شود.
يك روش امن تر براي ورود ايمن به مدير خود ايجاد يك مدير جديد و حذف "مدير" است. و در اينجا نحوه انجام اين كار آمده است:
- وارد پنل مديريت وردپرس شويد
- به كاربران برويد -> افزودن جديد
- كاربر جديدي با نقش مدير اضافه كنيد ، مطمئن شويد كه از يك رمز عبور قوي استفاده مي كنيد.
- از وردپرس خارج شويد ، با كاربر مدير جديد خود دوباره وارد سيستم شويد.
- به كاربران برويد
- كاربر "مدير" را حذف كنيد
- اگر "مدير" پست دارد ، به ياد داشته باشيد كه همه پست ها و پيوندها را به كاربر جديد نسبت دهيد.
9. XMLRPC را غيرفعال كنيد
XMLRPC در وردپرس يك نقطه ورود رايج در وردپرس است. بنابراين هميشه ايده خوبي است كه وقتي سايت شما به XMLRPC نيازي ندارد آن را غيرفعال كنيد. در صورت نياز مي توانيد نقطه پاياني XMLRPC را به IP هاي خاص محدود كنيد ، به عنوان مثال:
آپاچي
1
2
3
4
5
|
order deny,allow allow from 192.0.64.0/18 deny from all
|
نگينكس
1
2
3
4
5
|
location = /xmlrpc.php { allow 192.0.64.0/18; deny all; access_log off; } |
10. سرصفحه هاي امنيتي HTTP را اضافه كنيد
افزودن سرصفحه هاي امنيتي HTTP به سايت شما يك لايه امنيتي اضافي اضافه مي كند كه به كاهش برخي از حملات كمك مي كند. هدرها به مرورگر دستور مي دهند تا در جهت خاصي كه در هدرها تنظيم شده است رفتار كند. به عنوان مثال ، اين X-Frame-Options
اجازه به شما مي دهد كه آيا سايت شما مي تواند در يك iframe جاسازي شود. ساير سرآيند هايي كه مي توانيد اضافه كنيد عبارتند از: X-XSS-Protection
، Strict-Transport-Security
، X-Content-Type-Options
، Content-Security-Policy
، و Referrer-Policy
.
1
2
3
4
5
6
|
Header always append X-Frame-Options DENY Header set X-XSS-Protection "1; mode=block" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" Header set X-Content-Type-Options nosniff Header set Content-Security-Policy "default-src 'self';" Header set Referrer-Policy "no-referrer" |
نگينكس
1
2
3
4
5
6
|
add_header X-XSS-Protection "1; mode=block" ; add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' ; add_header X-Frame-Options "DENY" ; add_header X-Content-Type-Options nosniff; add_header Content-Security-Policy "default-src 'self';" ; add_header Referrer-Policy same-origin; |
براي افزودن اين سرصفحه ها ، ممكن است لازم باشد با شركت ميزباني كه سايت شما در آن ميزباني شده است تماس بگيريد.
پاداش: مشترك شدن در WPVulnDB
آخرين و نه مهمترين ، ممكن است بخواهيد با عضويت در WPVulnDB در بالاي جديدترين آسيب پذيري هاي موجود در هسته ، افزونه ها و تم هاي وردپرس باشيد . اين توصيف مي كند كه چه نوع آسيب پذيري ، چه چيزي است ، چه نسخه اي تحت تأثير قرار مي گيرد و آيا از قبل رفع شده است.
اگر يكي از افزونه هاي خود را پيدا كرديد ، از آن استفاده مي كنيد در اين گزارش هستند ، بايد بلافاصله نسبت به كاهش آن اقدام كرده و افزونه ها را به محض دسترسي سريع به روز كنيد .
برچسب: طراحي سايت،