چگونه امنیت سایت وردپرس را افزایش دهیم؟

How to secure a wordpress website?

برای مدیریت محتوای وردپرس اگر تنظیمات امنیتی را انجام ندهیم،به یک سیستم ناپایدار تبدیل می­شود وقابل هک کردن می­باشد.اما اگر تنظیماتی را انجام دهیم به یک سیستم قدرتمند ازلحاظ امنیتی تبدیل می­شود که هک کردن آن بسیار مشکل است و اکثر هکرها از هکر هک کردن آن باز می­مانند.

1- اولین کاری که  برای امن کردن سیستم وردپرس باید انجام دهیم به روز نگه داشتن خود وردپرس، افزونه­ها و قالب­ها می­باشد.

2- داشتن نام کاربری و رمزعبور مناسب است که باید نام کاربری و رمزعبور طوری پیچیده باشند که نتوانند هکرها هک کنند.

برای تغییر رمزعبور از قسمت کاربران وارد می­شویم وبرروی ویرایش کلیک می­کنیم که در آن اطلاعات شناسنامه­ای را به ما نشان می­دهد. رمز جدیدی که می­خواهیم جایگزین رمز قدیمی بشود در مقابل رمز تازه وارد می­کنیم و همان رمز را باید در تکرار رمز دوباره واردکنیم که پایین این قسمت میزان قدرتمند بودن پسورد را به شما نشان می­دهد که آیا این پسورد مناسب امن است یا نه؟باید پسورد قابل امن وغیرحدس زدن را باید انتخاب کنیم. در آخر برای ثبت کردن پسورد جدید برروی دکمه به­روزرسانی شناسنامه کلیک می­کنیم.

کاری که باید برای امن کردن نام کاربری انجام دهیم این است که در قسمت لقب باید یک لقبی به جای نام کاربری انتخاب کنیم.واز قسمت نمایش عمومی نام برروی لیست کشویی کلیک می­کنیم ولقب تعیین شده را انتخاب می­کنیم ودرانتها هم برروی به­روزرسانی شناسنامه کلیک می­کنیم.حالا اگر جعبه­ی درباره نویسنده در سایت موجود باشد،به جای نام کاربری فعلی ما لقب را نشان می­دهدکه دیگر نام کاربری را نتوانند هک کنند.

مورد بعدی داشتن نام کاربری مناسب است که تأکید می­شودنام کاربری ادمین،ادمینستریتور،مدیر،روت یا هر نوع نام کاربری که قابل حدس زدن است به هیچ وجه استفاده نشود.

برای تغییر شناسه باید از طریق دیتابیس عمل کنیم.شما باید ابتدا وارد سی پنل هاست خودتان شوید واز     )را انتخاب کنیدکه ماازاین طریق ­Phpmyadmin قسمت دیتابیس پی اچ پی مای ادمین(

می­توانیم پایگاه داده را مدیریت کنیم که برروی پایگاه داده ای که مربوط به وردپرس است کلیک می­کنیم.جداول موجود در این پایگاه داده که اطلاعات وردپرس را درآن ذخیره می­کندرابرای مابه ما نمایش درمی­آورد.

آخرین جدول که عنوان آن باuser تمام می­شود کاربران را در خود ذخیره می­کند.ماباید کلیک برروی دکمه Browseکنیم و وارد این جدول شویم.در اینجا نام کاربران موجود را مشاهده می­کنیم.برای تغییر نام کاربری باید برروی دکمه Edit کلیک کنیم.شما نام کاربری جدیدرا در مقابل user-nicename و user-login واردمی­کنیم ودر آخر برروی دکمه Go کلیک می­کنیم.

3- نکته بعدی درمورد امنیت داشتن پیشوند مناسب برای جداول پایگاه داده ما است. در هنگام نصب وردپرس می­توان این پیشوندراتعیین کنیم که خیلی ها پیشوندرا تغییر نمی­دهد وبه پیشوند پیش فرض وردپرس که wp_ است، اکتفا می­کنند.

دانستن پیشوند جداول وردپرس کار هکرها را ساده می­کند و اجازه به دسترسی به دیتابیس ها کارشان را راحت تر می­کند.

برای تغییر پیشوند جداول وردپرس شما می­توانید به صورت دستی اقدام کنید و همچنین یک افزونه ای وجود دارد به نام db-prefix change که می­توان از هم استفاده کرد.

برای نصب کردن افزونه db-prefix change به صورت دستی ابتدا وارد file manager می­شویم که wp-content وارد فولدر plugins می شویم واز دکمه upload برای بارگذاری افزونه استفاده می­کنیم.سپس در خود وردپرس وارد پنل افزونه ها می­شویم که دردرون افزونه های نصب شده این افزونه موجود است وسپس برروی فعال کردن این افزونه کلیک می­کنیم.پس از فعال کردن این افزونه صفحه مدیریت وردپرس ما به هم ریخته است.برای درست کردن این به هم ریختگی کلیک راست می­کنیم وروی switch page direction را کلیک کنید.این به هم ریختگی به خاطر این است که این افزونه انگلیسی است وپنل مدیریت وردپرس مافارسی است وبه خاطر اینکه direction این افزونه ltr است و direction پنل مدیریت ما rtl است یک به هم ریختگی ساده را به وجود می­ آورد.

پس از فعال کردن افزونه باید از قسمت تنظیمات گزینه change DB prefix را انتخاب کنیم.شما درورودی متن اولی می­توانیدپیشوند فعلی جداول خودرا ملاحظه نمائید.پیشوندی را که می­خواهید جایگزین پیشوند فعلی شود را در قسمت new prefix واردکنید سپس دکمه save را کلیک کنید و اگر ما دوباره phpmyadmin  رابازکنیم می­بینیم که پیشوند جداول به wp_ به آن چیزی که ما وارد کردیم تغییر پیدا کرده است. در آخر ما به این افزونه change DB prefix احتیاجی نداریم و از پنل مدیریت افزونه ها آن را پاک می­کنیم.

4- مورد بعدی که برای امنیت وردپرس باید انجام دهیم حفاظت از چند فولدر و فایل ها در هاستتان است.فایل هایی که اطلاعات مهم در آن­ها نگه داری می­شود.اگر وارد File manager بشوید فولدر wp-admin ،wp-include و فایل wp-config است.

برای محافظت از فولدر wp-admin باید برای فولدر رمز بگذاریم. برای رمزگذاری این فولدر باید از طریق cpanel  هاستتان در قسمت security ،  password protect Directions را انتخاب کنید.از این صفحه شماباید فولدر کنارpublic html را کلیک کنید. دقت کنیدکه برروی خود فولدر کلیک کنید که ما وارد public-html بشویم. پس باید برروی نام wp-admin کلیک کنید. اگر ما برروی خود فولدر کلیک کنیم وارد محتویات فولدر wp-admin می شویم ولی اگر برروی نام wp-admin  کلیک کنیم نسبت به رمزگذاری wp-admin اقدام می­کنیم. که در حال حاضر می­خواهیم روی wp-admin رمزگذاری کنیم.برروی نامش کلیک می­کنیم که ابتدا باید تیک گزینه password protect this directory را فعال کنیم.  ویک نام را در قسمت Name the protect directory وارد کنیم ودکمه save را بزنیم واز این صفحه دکمه Go Back راکلیک می­کنیم و user و password که می­خواهیم برای wp-admin قرارداده شود را در قسمت های username و new password واردکنیم.می­توان برای انتخاب پسورد password Generator راانتخاب کنیم (یوزر وپسورد رادر یک جا کپی کنید که داشته باشیم) و سپس گزینه I have copied this password in asafe place راتیکش را می­زنیم و use password راکلیک می­کنیم ودر انتها دکمه add/modify authorized user راکلیک می­کنیم. رمزگذاری برروی wp-admin انجام شد.

دقت کنید که از این به بعد با هر بار ورود به پنل مدیریت وردپرس ما باید نام کاربری و رمزعبور برای wp-admin را گذاشتیم را وارد کنیم.

علاوه بررمزی که برخود وردپرس است باید وارد شود.گذاشتن این رمز جلوی هکرها رامی­گیرد وهکرها را از نفوذ به پنل مدیریت وردپرس و دسترسی به این فولدر جلوگیری می­شود.

برای محافظت از فولدر wp-includes شما باید یک کد را در فایل htaccsess کپی کنید. چون فایل htaccess یک فایل مخفی است.مادر حال حاضر نمی­توانیم این فایل را ملاحظه کنیم. برای ملاحظه این فایل شما باید وقتی از روی cpanel برروی فایل manager کلیک می­کنید وتیک show hidden files رابزنید تا فایل­های مخفی هم ملاحظه کنید.

برای اضافه کردن کد به فایل htaccess در رابطه با محافظت فولدر  wp-includes باید یکبار برروی فایل htaccess کلیک کنید ودکمه code Editor را برای ویرایش انتخاب کنید. شما باید کد زیر رادر انتهای تمام کدها ی موجود در فایل htaccess کپی کنید.

. Block the include-only files #

RewriteEngine On

/ RewriteBase

RewriteRule ^wp-admin/includes/ – [F,L]

RewriteRule !^wp-includes/ – [S=3]

RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]

RewriteRule ^wp-includes/js/tinymce/langs/.+\.php – [F,L]

RewriteRule ^wp-includes/theme-compat/ – [F,L]

دقت کنید ممکن است در درون فایل htaccess یکسری کدهایی موجود باشد، که شما در پایان تمام کدها یکبار Enter رابزنیدواین کدها را در آن کپی کنید ودر آخر دکمه save رابزنید.

در انتها نیز باید از فایل wp-config باید محافظت کنیم. اطلاعاتی که درون این فایل است که اطلاعات دیتابیسی که وردپرس را در آن نصب کردیم موجود است که نباید به دست هکرها بیفتد. به صورت خود به خود این اطلاعات قابل آشکار نیست وهکرها نمی­توانند ملاحظه کنند. اما در صورتی که سرور شما هک شود یا دسترسی به سرور شما امکان باشد، هکرها می­توانند اطلاعات این فایل را بدزدند وبه سایت شما دسترسی داشته باشند. برای محافظت از این فایل شما باید آن را به مسیر root ویا مسیر home منتقل کنید.اطلاعاتی که ما در حال حاضر می­بینیم در مسیر public-html است.

برای انتقال به مسیر root کافی است برروی فایل  wp-config.php کلیک کنید ودکمه move رابزنید وازاین ورودی متن که مسیر انتقال فایل را می­توانیم واردکنیم.این مسیر را ما باید کاملاً خالی بگذاریم تا وارد root هاست شود وبا انتقال این فایل هیچ مشکل در وردپرس به­وجود نمی­آید. در ادامه باید یک افزونه خاصی را برای جلوگیری از حملات bitdoc برای وردپرستان نصب کنید. افزونه limit login attempt است.

این افزونه کاری می­کند که هر بار کاربری برای ورود به سایت رمز یا نام کاربری اشتباهی را وارد کرد مثلاً به تعداد 5 بار، IP آن­ها بلاک شود. روشی که هکرها استفاده می­کننداین است که نام کاربری مدیرسایت را پیدا و وارد می­کنند وبرای واردکردن رمز از یکسری برنامه­ها استفاده می­کنندکه رمز راپیدا کنند.پس از فعال کردن این افزونه هیچ تغییری در تنظیمات لازم این است انجام دهید وبه صورت پیش فرض تنظیمات را دارد.

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

 

مشخصات یک هاستینگ خوب :

الف – ابتدا باید توجه کنیم که دامنه موردنظر .ir یا .com است. قاعدتاً دامنه .com دامنه­ای است که قیمت گران­تری دارد.اگر .com است می­شود به آن اعتماد کرد. البته در این مورد استثنائاتی وجود دارد.

ب – داشتن یک شماره تلفن برای پشتیبانی لازم است. اگر هاستینگی شماره تلفن برای پشتیبانی در هاست خود قرار نداده است به هیچ وجه به آن­ هاستینگ اعتماد نکنید.همچنین قبل از سفارش هاست، یکبار به این شماره تلفن زنگ بزنید و ببینید پشتیبانی ازطریق تماس تلفنی چگونه است و یکسری سؤالاتی را راجع­به سرور از آن­ها بپرسید.

پ- پشتیبانی مناسب از طریق تیکت است. قبل از خرید شما حتماً یک یاچند تیکت ارسال کنید. یکسری سؤالاتی در مورد سرور بپرسید ، ببینید که سرعت پاسخگویی وجواب آن­ها تا چه حد خوب است.

دقت کنید که هاستینگ سرور دارد یا mastery است و ببینید پشتیبانی تا چقدر بالا است چون پشتیبانی نکته بسیاردر هاستینگ است و اگر هاستینگی بک آپ از هاست های موردنظر نمی­گیرد ، مثلاً اگرسایت شما هک شد و بک آپی نداشته باشید سایتتون را بسته اید و راه بازگشتی ندارید. باید دقت کنید که هاستینگ بک آپ یک­ماهه یا سه­روزه یا هرروز داشته باشند که شما نگرانی از بابت از دست رفتن اطلاعات خودتان نداشته باشید.

 

 

 

 

5- مورد بعدی برای امنیت سایت وردپرس خودتان نصب نکردن چند سیستم مدیریت محتوا(CMS) در یک هاست است.در کنار هم بودن چند CMS در یک هاست حتی اگر یک CMS امنیتش بالا باشد ممکن است یک CMS دیگر امنیت پایینی داشته باشد ویک کدام از این سیستم­ها راه نفوذ به کل هاست را ممکن باز کنند و اطلاعات هاست خودتان ازبین برود. پس دقت کنید در یک هاست چند CMS (سیستم مدیریت محتوا) به هیچ وجه نصب نکنید.

نکته بعدی دقت کردن در افزونه­ها است.شما باید افزونه­ها را حتماً از سایت­های معتبر که خودتان می­شناسید از مخزن وردپرس حتماً دانلود کنید.

برترین سایت افزونه برای دانلود آن آدرس wordpress.org است. چون ممکن است یک سایتی که افزونه را از سایت خودش برای دانلود می­گذارد آن افزونه را دستکاری کرده باشد یا باگی را ایجاد کرده باشد ویا کدی را در آن قرار داده باشد که بخواهد از افزونه سوءاستفاده کند.

نکته) همچنین باید دقت داشته باشیدتا جایی که می­شود از افزونه­ها استفاده نکنید.

از افزونه وردپرس کاملاً بجا استفاده کنید و اگر لازم نیست افزونه­ای را نصب نکنید و به هاست خود فشار نیاورید. چون بعضی از افزونه­ها که در خود سیستم مدیریت وردپرس هستند، کاری با آن­ها نداریم ولی بعضی از افزونه­ها در خود قالب اجرا می­شوند وسرعت سایت را کاهش می­دهند و این­ها پهنای باند هاست شما را اشغال می­کند و ممکن است برای شما مشکل ایجاد کند.

6- مورد بعدی برای حفظ امنیت حذف کردن افزونه و قالب­های بلا استفاده می­باشد. در وردپرس شما فقط یک قالب اجرا می­شود که قالب­ها یک اشتباه و یک باگ وجود داشته باشد که با حذف کردن کامل آن­ها از سیستم این خطر را شما می­توانید از بین ببرید. برای پاک کردن قالب­ها شما باید از طریق هاست اقدام کنید.

ابتدا شما وارد cpanel هاست می­شوید سپس File manager را انتخاب می­کنید.سپس وارد فولدر wp-content  و فولدر themes می­شوید. دقت کنید که فایل index.php دراین مسیر اجباری است که وجود این فایل به کسانی که می­خواهند شما در حال حاضر از چه قالب­هایی استفاده می­کنید جلوی آن­ها را می­گیرد واجازه نمی­دهد نام پوسته­های فعلی نصب شده در سایتتون را ملاحظه کنند. این برای امنیت لازم است.

7- یکی دیگر از موارد امنیت امنیت وردپرس استفاده نکردن از پوسته­های رایگان مخصوصاً قالب­های زیپ شده است. به خاطر اینکه شما وقتی یک پوسته رایگان را دانلود می­کنید معلوم نیست کسی که آن را منتشر می­کند چه بلایی سر این پوسته آورده است.ممکن است آن را ویرایش کرده باشد مثلاً بخواهد لینک خود را در footer آن قرار داده باشد، به کدهای php وردپرس آسیب رسانده باشد و یک باگ را ایجاد کرده باشد.

سعی کنید از این قالب­ها استفاده نکنید و اگر هم از قالب­های رایگان استفاده می­کنید سعی کنید از سایت­های معتبر آن­ها را دانلود کنید و از هر سایتی آن را دریافت نکنید.

8- مورد بعدی برای حفظ امنیت وردپرس حذف کردن دو فایل مهم در هاستتان است. اگر شما به مسیر public-html مراجعه کنید، یک فایل را با نام readme.html را ملاحظه می­کنید. این فایل وجودش اجباری نیست و باید از هاستتان پاک شود. چون در این فایل نسخه وردپرس شما قراردارد و اطلاعاتی که در مورد وردپرسی که شما در هاستتان نصب کردید می­باشد.

اولین کاری که هکر باید کند برای هک کردن سایت وردپرس باید ببینید نسخه وردپرس شما چند است که این فایل کمک زیادی به هکرها می­کند.

فایل بعدی که باید از هاستتان پاک شود در فولدر wp-admin است که فایلinstal.php  می­باشد که شما باید آن را از هاستتان حذف کنید. این فایل در موقع نصب به کار می­رود وپس از نصب بلا استفاده است وبرای اینکه اطلاعات دیتابیس و یوزرنیم شما حفظ شود، باید این فایل را از هاست پاک کنید.

دقت کنید شما باید از فایل htaccess هم مراقبت کنید. هم می­توانید امنیت فایل wp-config.php که ما به مسیر root یا فولدر www منتقل کردیم هنوز کامل نیست.

کاری که ما باید برای حفاظت از htaccess و فایل wp-config یک کدی را در فایل htaccess باید قرار دهیم. برای این کار این فایل را ویرایش می­کنیم تا امنیت فایل htaccess و wp-config را افزایش دهیم.

دقت کنید کدی که برای wp-include گفتیم باید حتماً در این فولدر قرار بگیرد.

برای حفظ امنیت wp-config دو کد زیر را در انتها ی کدها در فایل htaccess قرار می­دهیم و دکمه save change را بزنید.

to protect wp-config.php #

<Files wp-config.php>

order allow,deny

deny from all

<Files/>

 

: to protect the .htaccess file itself#

<Files .htaccess>

order deny,allow

deny from all

<Files/>

در آخرین کاری که شما باید برای حفاظت از فایل htaccess انجام دهید، تغیییر دادن permission این فایل است. برروی این فایل کلیک کنید و دکمه change permission را بزنید و permission آن را از 644  به 444 تغییر دهید. تا اجازه نوشتن در این فایل توسط هیچ شخصی صورت نگیرد و در آخر دکمه change permission را کلیک کنید. حفاظت از این فایل تکمیل شد.

کار بعدی که باید انجام دهیم مغلوب کردن  نسخه وردپرس است. همانطور که برای فایل readme.html توضیح دادم، اولین کاری که  هکر باید انجام دهد باید بفهمد نسخه وردپرس شما چند است. که با حذف کردن فایل readme.html  جلوی آن را کامل نگرفتیم وهنوز هکر می­تواند نسخه وردپرس را پیدا کند.

برای پیدا نکردن نسخه وردپرس توسط هکرها باید یک کد خاصی را درون قالبتون قرار دهید که کد زیر را درون فایل function قالب فعلی خود قرار دهید. ابتدا وارد مسیر wp-content شوید و از فولدر themes وارد فولدر قالب فعلی خودتان شوید و فایل functions.php راپیدا کنید و آن را ویرایش کنید.

که کد زیر را داخل تگ php باشد. اگر قبل از تگ php وارد کنیم با خطا مواجه می­شویم. چون کد php است باید داخل تگ php باشد . شما بعد از شروع تگ php یک Enter بزنید و کد موردنظر را قرار دهید ودر نهایت دکمه save را بزنید.

; remove_action(‘wp_head’, ‘wp_generator’)

} ()function wpt_remove_version

return  ‘ ’;

}

;add_filter(‘the_generator’, ‘wpt_remove_version’)

نکته بعدی تغییر دادن کلیدهای امنیتی فایل wp-config است. که ابتدا وارد مسیر root شوید و فایل wp-config رادر این مسیر منتقل کردیم ، ویرایش می­کنم. شما اگر به قسمت فایل wp-config  مراجعه کنید . کلیدهای امنیتی نسخه وردپرس خودتان را می­توانید ملاحظه کنید. تغییر دادن این کلیدهای امنیتی شامل تمامی این خط­ها می­شود، برای حفظ امنیت لازم است. شما باید کلیدهای امنیتی را قرار دهید که قابل حدس زدن نباشد. در حال حاضر ما باید کلیدهای امنیتی را جایگزین کنیم که کاملاً تصادفی باشد که حتی خودمان از آن­ها اطلاعی نداشته باشیم. برای به­دست آوردن کلیدهای امنیتی تصادفی می­توانید به آدرس https://api.wordpress.org/secret-key/1.1/salt مراجعه کنید. که ملاحظه می­کنید یکسری کلیدهای امنیتی برای ما چاپ می­کند. اگر صفحه را Refresh کنیم ،کلیدهای امنیتی تغییر پیدا می­کند. شما باید تمام این کدها را کپی کنید و جایگزین کلیدهای امنیتی فعلی در فایل wp-config.php کنید ودر آخر دکمه save را برای ذخیره کردن فشار دهید.

مورد بعدی حفظ کردن نام کاربری وپسورد در پنل مدیریت وردپرس است. نکته­ای که شما باید دقت کنید که اگر هکر نام کاربری و پسورد را اشتباه وارد کرد و دکمه ورود را زد با یک خطا مواجه می­شود که می­گوید شناسه معتبر نیست. اما اگر هکر شناسه را به درستی وارد کرد و رمز را اشتباه وارد کرد خطای آن متفاوت است و می­گوید رمز واردشده برای نام کاربری مثلاً admin نادرست است. یعنی به هکر می­گوید چنین نام­کاربری در حال حاضر استفاده می­شود و نام­کاربری admin موجود است. برای این کار شما باید یک کدی را در یک فایل قرار دهید تا به جای این خطا فقط نشان دهد اطلاعات وارد شده اشتباه است. حالا چه نام­کاربری را اشتباه وارد کرده باشد یا چه رمز را. در هر صورت یک خطا را اعلام کند. کد زیر را در فایل function.php  قالبتون قرار دهید. در شروع تگ php یک دکمه Enter بزنید ودر خط جدید کدها را paste  کنید.

{()function failed_login

‘;.return ‘the login information you have entered is incorrect

}

add_filter ( ‘login_errors’, ‘failed_login’ );

9- مورد بعدی برای حفظ امنیت وردپرس نصب کردن افزونه recaptcha است. استفاده کردن از افزونه recaptcha جلوی حمله ربات­ها به سایت را می­گیرد. همانطور که گفته شد بعضی از ربات­ها را هکرها آماده می­کنند تا به پنل مدیریت وردپرس شما حمله کنند و با واردکردن چند باره نام­کاربری و یا پسورد سعی می­کنند یوزرنیم و پسورد شما را پیدا کنند. افزونه captcha ها جلوی ورود این ربات­ها را می­گیرد چون قاعدتاً ربات­ها قادر به خواندن متن­هایی که حتی توسط خود کاربران هم به زور خوانده می­شود، قادر به خواندنش نیستند.

سه افزونه captcha وجود دارد که می­توانید از هرکدام که مایل بودید، استفاده کنید.

  • wp-recaptcha
  • si-captcha for wordpress
  • captcha

پس از نصب و فعال کردن captcha وارد پنل مدیریتی وردپرس شویم. می­بینیم که افزونه captcha در این قسمت عمل می­کند و تا جواب صحیح وارد نکنیم، اجازه ورود را به شما نمی­ دهد.

10- یکی دیگر از موارد امنیت وردپرس، تغییر دادن آدرس ورود به پیشخوان وردپرس است که این آدرس به صورت default ، wp-login.php است. اگر شما این آدرس را از دید هکر مخفی کنید. یعنی این آدرس را تغییر دهید، امنیت وردپرس را تا حد بسیار زیادی افزایش پیدا می­کند. حالا چگونه این کار را انجام دهیم؟

ابتدا وارد cpanel شوید و سپس وارد  File manager . در مسیر public-html می­توانید فایل wp-login.php را ملاحظه کنید. اولین کار تغییر نام دادن این فایل است که مستقیم برروی این فایل کلیک کنید و نام آن را تغییر دهید. دقت کنید نامی را وارد کنید که غیرقابل حدس زدن باشد و پسوند این فایل حتماً .php باشد و آن را تغییر ندهید. چون این یک فایلی است که کدهای php را باید اجرا کند و سپس باید این فایل را ویرایش کنید. در کدهای این صفحه شما دنبال عبارت wp-login.php می­گردید که همان آدرس قبلی ورود به صفحه و آن را به آدرس جدیدی که ما تغییر دادیم جایگزین کنیم. یعنی wp-login را در این متن­ها پیدا کنید، حذف کنید و نام جدید این فایل را جایگزین نام قبلی کنید.

برای این کار از یک ویراستار متنی استفاده می­کنیم. اگر از ویندوز استفاده می­کنید می­توانید از notepad خود ویندوز استفاده کنید که ترجیح داده می­شود از نرم­افزار notepad++ استفاده شود. تمام کدهای این صفحه را کپی کرده و در notepad++ ،  paste می­کنیم. Language هم برروی php قرار می­دهیم تا رنگ کدها خواناتر شود. حالا دنبال عبارت wp-login.php می­گردیم، اما تعداد خطوط این فایل زیاد است. شما می­توانید در notepad  ویندوز و یا در notepad++ از دکمه ترکیبی ctrl+F برای پیدا کردن این عبارت استفاده کنید. در ورودی Find what دنبال عبارتی که می­گردید، عبارت مورد نظر را

(wp-login.php) است، تایپ کنید. اگر دکمه Find Next را بزنید. اولین مکان این عبارت را به شما نشان می­دهد. که آن عبارت را حذف کنید و نام جدید این فایل را به جای آن جایگزین کنید. حالا ممکن است تعداد این  wp-login.php زیاد باشد و ما نخواهیم تک تک آن­ها را تغییر دهیم. برای راحتی کار می­توانید از notepad++ از تب replace استفاده کنید. در replace در قسمت Find what عبارتی را وارد کنید که قرار است حذف شود و در عبارت replace with عبارتی را وارد کنید که قرار جایگزین عبارت قبلی شود. سپس دکمه Replace All را بزنید تا تمامی wp-login ها حذف شود ونام جدید خودمان جایگزین شود. حالا اگر وارد تب Find شویم و عبارت wp-login.php را بزنید و دکمه count یعنی تعداد موجود این عبارت را در این فایل به ما نشان ­دهد که هیچ چیز را پیدا نمی­کند چون ما تمامی wp-login.php ها را حذف کردیم و آدرس جدید این فایل را به جای آن جایگزین کردیم سپس کدهای جدید را کپی کرده و در ویرایشگر cpanel خود جایگزین کدهای قبلی کنید و در نهایت دکمه save changes را بزنید.

حالا اگر در قسمت ورود به صفحه وردپرس آدرس wp-login.php را بزنید با خطای 404 مواجه می­شوید. ولی اگر نام جدید فایل را که وارد کردید به جای wp-login.php وارد کنید، وارد پنل مدیریت وردپرس می­شوید. اما هنوز تغییر دادن این آدرس تمام نشده است.

شما اگر بخواهید که از گزینه بیرون رفتن (Log out) استفاده کنید با خطای 404  مواجه می­شوید که علت آن این است که دنبال آدرس فایل wp-login.php می­گردد. برای رفع این مشکل  شما باید از cpanel خودتان وارد فولدر wp-include شوید و دنبال فایل general-template.php بگردید. این فایل هم باید ویرایش کنید و مثل فایل قبلی دنبال عبارت wp-login.php بگردید و آن را حذف کرده و نام جدید این فایل را جایگزین کنید. مثل قبل کدهای این فایل را کپی در notepad++ می­کنید تا بتوانید آن را ویرایش کنید.

حالا مشکل 404  با Reload کردن صفحه رفع می­شود. اما این آدرس هنوز مخفی نشده است. چون هکر می­تواند به سادگی در انتهای آدرس دامنه wp-admin را وارد کند و از نام جدید این فایل مطلع شود.

برای جلوگیری از این اتفاق باید دوباره وارد فولدر wp-includes می­شوید و فایل

general-template.php  را دوباره ویرایش کنید. کاری که شما باید انجام دهید این است که یک تابعی را در این فایل پیدا کنید و آدرس ورود به پنل مدیریت وردپرس را به آدرس دیگر تغییر دهید و یا کلاً حذف کنید.

برای این کار ctrl+F را بزنید و در قسمت Find what نام جدید این فایل را وارد کنید و Find Next را

می­زنید. شما باید تابع زیر را پیدا کنید.

Wp-login-url($ redirect = ‘ ’ , $ force-reault=false)

سپس نام جدید فایل ورود به پنل مدیریت وردپرس را حذف کنید و یک عبارت دیگر را جایگزین آن نمائید. مثلاً اگر هکر wp-DMIN را وارد کرد به جای ورود به این فایل وارد صفحه اصلی سایت شود که صفحه اصلی سایت index.php است. که index.php را جایگزین فایل قبلی کنید و کدها را کپی کرده و در فایل general-template.php جایگزین کنید و در انتها save changes را کلیک کنید.

الان اگر شما در وردپرس عبارت wp-admin را در انتها وارد کنید، دیگر به صفحه ورود به پنل مدیریت وردپرس وارد نمی­شود و بازهم redirect به صفحه اصلی سایت می­شوید. پس شما الان آدرس ورود به پنل مدیریت وردپرس را مخفی کردید و از دید هکر این آدرس دیگر در دسترس نیست.

11- مورد بعدی برای حفظ امنیت وردپرس غیرفعال کردن گزینه ویرایش در پنل وردپرس است. اگر در پیشخوان وردپرس به قسمت نمایش بروید، گزینه­ای به نام ویرایشگر دارید که این گزینه برای ویرایش قالب مورد استفاده قرار بگیرد. که وجود این گزینه باعث کاهش امنیت وردپرس است و این گزینه باید غیرفعال شود.

چرا؟؟؟

چون شما فرض کنید بر فرض محال هکر از تمامی موارد امنیت شما که قرار دادید، عبور کند و وارد پیشخوان وردپرس شود یا مثلاً  اگر شما اطلاعات پنل وردپرس خود را به شخصی داده باشید که یکسری تغییراتی را در وردپرس شما انجام بدهد که شما آن­ها را بلد نیستید، آن شخص می­تواند با استفاده از قسمت ویرایشگر یک کد در قالبتون قرار دهد و احتمال نفوذ به سایتتون را افزایش دهد. و یا یک باگی را در قالبتون ایجاد کند.

اگر هکر یا فردی وارد پیشخوان وردپرس شما شود و قسمت ویرایشگر غیرفعال باشد، نهایتاً کاری که می­تواند انجام دهد، چند تا از پست­های شما را حذف یا تغییر دهد ولی کار خاص دیگری نمی­تواند انجام دهد.

اما اگر قسمت ویرایشگر فعال باشد می­تواند کدی را در قالبتون قرار دهد و مستقیماً به هاستتون دسترسی داشته باشد.

برای غیرفعال کردن این حالت باید یک کدی را در وردپرستون کپی کنید. کد زیر را باید در فایل wp-config وردپرس خود قرار دهید.

define(‘DISALLOW_FILE_EDIT’,true);

ابتدا وارد File manager  هاست شده و از مسیر public-html اگر wp-config را در مسیر root قرار دادید، وارد آن قسمت شوید و فایل wp-config.php را پیدا کرده و آن را ویرایش کنید. کد موردنظر را در انتهای تمامی کدها paste می­کنیم و در نهایت دکمه save changes را بزنید. سپس اگر پیشخوان وردپرس را Reload کنیم و دیگر حالت ویرایشگر در قسمت نمایش موجود نیست.

12- مورد بعدی برای حفظ امنیت وردپرس جلوگیری از شنود رمز عبور و نام­کاربری شما است. طبق گفته­های گذشته آدرس ورود به پنل مدیریت وردپرس را تغییر دادیم با استفاده از افزونه captcha . اما هکر با یکسری کارهای خاصی که از انجام دادن این کارها کمی دشوار است که تقریباً غیرممکن است. هکر می­تواند بین سایت شما و سرور قرار بگیرد و اطلاعاتی که به سرور ارسال می­کنید را شنود کند. به عنوان مثال شما وقتی رمزعبور را وارد می­کنید، هکر می­تواند شنود کند و رمزعبور شما را پیدا کند.

برای جلوگیری از این کار دو راه را پیشنهاد می­کنم.

الف) یک راه از طریق ssl یا پروتکل https است که با استفاده از این روش رمزعبور و اطلاعات شما به صورت رمزنگاری شده به سرور ارسال می­شود و هکر پسوردی که دریافت می­کند، رمزنگاری شده است و دیگر نمی­تواند آن را پیدا کند و از آن استفاده کند. البته هر هاستی از این پروتکل پشتیبانی نمی­کند.

برای اینکه متوجه شوید که هاست شما از پروتکل https پشتیبانی می­کند یا نه؟

باید یک کد ساده­ای را در فایل wp-config کپی کنید.

برای فعال کردن پروتکل https دو خط کد زیر را در ابتدای تگ شروع php قرار دهید و دکمه ذخیره را بزنید.

define( ‘FORCE_SSL_LOGIN’, true );

define( ‘FORCE_SSL_ADMIN’, true );

برای تست کردن اینکه هاست ما از پروتکل https پشتیبانی می­کند یا نه، از وردپرس خارج می­شوید. اگر اخطار ظاهر شد که توسط مرورگر موزیلا داده می­شود. این اخطار بیانگر این است که این پروتکل https است و من آن را نمی­شناسم. آیا شما آن را تأیید می­کنید؟ برای تأیید کردن این پروتکل گزینه                           I understand Risk را بزنید و گزینه Add Exception را کلیک کنید و از صفحه ظاهر شده، گزینه confirm security را بزنید. سپس خطای 404(not found) را می­دهد وشما متوجه می­شوید، هاست شما از این پروتکل پشتیبانی نمی­کند.هیچ مشکلی ایجاد نمی­شود، دوباره وارد wp-config شوید و کدهای مربوط به پروتکل https را حذف کنید. البته می­توانید برای فعال کردن این حالت با پشتیبانی هاست خود در تماس باشید و از آن­ها سؤال کنید.

البته نکته­ای که به آن باید توجه کرد، این است که پروتکل https قاعدتاً سرعت ما را به علت اینکه اطلاعات را رمزنگاری می­کند و می­فرستد سرعت لود را کمتر می­کند و ممکن است باعث فشار به سرور شود. البته فشار آنچنانی ندارد، ولی باز هم سرعت کمتر می­شود.

یک راه دیگر استفاده از هش در ارسال پسورد است.

حالا هش چیست؟

هش دوباره مثل پروتکل https اطلاعات را رمزنگاری می­کند.اما این فقط یک شیوه­ی ارسال رمز است و با پروتکل فرق می­کند و آدرس شما به https یا هیچ آدرس دیگری تغییر پیدا نمی­کند.

البته وردپرس به­صورت پیش­فرض از هش استفاده می­کند. اما هش­ها الگوریتم­های متفاوتی دارند و هکر با استفاده از شنود می­تواند این الگوریتم را بشکند و رمز شما را پیدا کند. چاره این است که در هر بار ارسال و یا وارد کردن پسورد از یک الگوریتم هش دیگر استفاده کنید. برای این کار شما می­توانید از یک افزونه­ی آماده وردپرس استفاده کنید. افزونه chap secure login می­باشد. اگر این افزونه را در وردپرس نصب کنید، با هر بار ارسال اطلاعات از یک الگوریتم هش دیگر استفاده می­کند و هکر نی­تواند این الگوریتم را بشکند که دیگر به زور دسترسی ندارد و همچنین پیدا کند.

پس از نصب این افزونه اگر از وردپرس خود خارج شوید و به پنل مدیریت وردپرس دقت کنید یک عکس قفل در آن قسمت موجود است که این نشانگر این است که در این صفحه از افزونه chap secure login استفاده شده و در هر بار ارسال پسورد از یک الگوریتم هش دیگری استفاده می­شود و دیگر هکر با استفاده از شنود نمی­تواند پسورد شما را به­دست آورد.

13- مورد بعدی برای حفظ امنیت وردپرس نصب نکردن چند افزونه برای یک کار است. به عنوان مثال همانطورکه گفته شد، سه افزونه captcha را معرفی کردم، توصیه می­کنم برای استفاده از  captcha فقط از یک کدام استفاده کنید و چند افزونه را برای یک کار نصب و استفاده نکنید چون ممکن است این افزونه­ها در کار یک دیگر تداخل ایجاد کنند و باعث ایجاد هک و در نهایت از بین رفتن اطلاعات سایتتان شود.

و مورد بعدی داشتن نام­کاربری و نام دیتابیس مناسب برای وردپرس است. اگر از cpanel وارد               mySQL & Database  شوید، شما می­توانید نامی که برای دیتابیس و یوزر ایجاد کردید را ملاحظه نمائید که باید یک نام غیرقابل حدس زدن باشد و هکر نتواند آن­ها را حدس بزند. دقت کنید این نام­ها حتماً باید با همدیگر متفاوت باشد.

اگر وردپرس فعلی شما نام­کاربری و نام دیتابیس مناسب ندارد. می­توانید از دیتابیس خود بک ­آپ بگیرید وآن را در کامپیوتر خود ذخیره کنید. سپس دیتابیس و یوزر فعلی را حذف کنید و دوباره یک دیتابیس و یک  یوزرنیم جدید با نام­های مختلف و غیرقابل حدس ایجاد کنید و خروجی که از دیتابیس قبلی خود گرفتید، در دیتابیس جدیدتان import کنید و اطلاعات جدید دیتابیس و یوزر را در فایل wp-config وارد کنید.تا امنیت را ارتقاء دهید.

14- آخرین مورد که جزء مهمترین موارد برای حفظ امنیت است، بک آپ گرفتن از وردپرس است. شما اگر هاست مناسبی را انتخاب کرده باشید، از سایتتون به­صورت مرتب بک­آپ می­گیرند. اما بهتر است از وردپرس  بک ­آپ داشته باشید. اگر وقت نمی­کنید به­صورت دستی از دیتابیس بک آپ بگیرید، می­توانید از افزونه­های این کار استفاده کنید.که با نصب کردن یکی از دو افزونه backup wordpress و wp-db-backup به­صورت خودکار از وردپرس شما بک آپ می­گیرند و شما می­توانید خیالتون از داشتن بک آپ راحت باشد. همچنین شما می­توانید به صورت دستی از دیتابیستان بک آپ بگیرید.

ابتدا وارد phpmyadmin می­شوید و سپس برروی نام دیتابیس که از آن می­خواهید بک آپ بگیرید، کلیک کنید. دقت داشته باشید برروی نام جداول کاری نداشته باشید و فقط حتماً برروی نام دیتابیس کلیک کنید تا وارد دیتابیس شود. ولی اگر وارد جداول شود فقط از آن جدول بک آپ می­گیرد و از تمام دیتابیس بک آپ نمی­گیرد واز صفحه جدید دکمه Export که به معنی خروج گرفتن است، از بالای صفحه فشار دهید. پس از آن وارد صفحه­ای می­شوید که دکمه Go را کلیک کنید و سپس save File را زده و در کامپیوتر خود ذخیره می­کنید. گرفتن بک آپ از دیتابیس را فراموش نکنید.

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