آموزش تامین امنیت وردپرس و جلوگیری از هک وردپرس
نحوه تامین امنیت وردپرس و جلوگیری از هک وردپرس
در این مقاله قصد دارم به صورت مختصر و مفید در مورد تامین امنیت وردپرس و جلوگیری از هک وردپرس مطالبی را قرار می دهم .
پس با مسترآموز همراه باشید….
1. بهروز رسانی مداوم وردپرس
همان طور که می دانیم .تیم وردپرس مدام در حال افزودن قابلیتهای جدید و رفع مشکلات و باگهای امنیتی این سیستم مدیریت محتوا است. پس وقتی وردپرس آپدیت میشود باید در اولین فرصت اقدام به آپدیت وردپرس بکنید.
2. بکاپ گیری منظم وردپرس
همیشه خودتون هم از سایت نسخه بک آپ تهیه کنید تا اگر مشکلات هک رخ داد یا سایت هک شد بتونید از فایل بکآپ برای اطمینان از سالم بودن کلیه فایلها موجود در سایت به ادامه فعالیت بپردازید.
3. افزایش امنیت فایل wp-config.php
با استفاده از هر ترفندی دسترسی به این فایل را محدود کنید تا کسی جز خود شما قادر به مشاهده این فایل نباشد.
4. افزایش امنیت فایل htaccess.
یکی دیگه از فایلهای مهم در وردپرس htaccess. هست که با استفاده از اون میشه کارهای مختلفی را روی هر سایت اعمال کرد. این فایل با استفاده از دستوراتی که میتونه اجرا کنه در محافظت از فایلها و پوشههای وردپرس نقش بهسزایی را داره که میتونید با استفاده کردن از دستورات فایل htaccess. امنیت سایت را افزایش دهید.
5. افزایش امنیت پوشه wp-admin
برای افزایش امنیت این پوشه میتونید از کارهایی مثل رمزگذاری روی پوشه wp-admin در هاست سی پنل استفاده کنید.
6. استفاده از رمز عبور قوی و سطح دسترسی
7. افزایش امنیت صفحه ورود به وردپرس
صفحه ورود در وردپرس یکی از صفحات مهمی هست که نگهداری از اون هم برای جلوگیری از هک سایت و هم برای جلوگیری از حملات DDOS بسیار مهم و کلیدی هست. راه های زیر می تواند بسیار مهم باشد.
تغییر آدرس صفحه ورود به وردپرس
وردپرس به صورت پیشفرض از آدرس wp-login.php برای صفحه ورود استفاده میکنه که با مراجعه کردن به آدرس wp-admin هم به صورت خودکار به این صفحه هدایت خواهید شد.
محدودیت در تعداد دفعات ورود به وردپرس
وردپرس به صورت پیشفرض هیچ محدودیتی برای تعداد دفعات تلاش برای ورود در سایت قرار نداده. اما راهکاری وجود داره که میتونید تعداد دفعات را در ورود به وردپرس محدود کنید به طوری که اگر بیش از تعداد دفعات مشخص شده شخصی در صدد ورود به سایت بود برای مدت مشخص شدهای دیگه حتی با رمز و نام کاربری درست هم قادر به ورود در وردپرس نباشند..
محدودیت در ورود با ایمیل در وردپرس
از نسخه 3 به بعد وردپرس قابلیتی به این سیستم مدیریت محتوا اضافه شد که علاوه بر نام کاربری بتونید با ایمیلی که دارید هم در وردپرس وارد شوید. بنابراین از اونجایی که با ایمیل استفاده شده با بسیاری از افراد در ارتباط هستید پس امکان نفوذ در سایت به ندونستن نام کاربری فراهم خواهد بود. برای غیرفعال کردن این قابلیت وارد هاست خودتون شده و سپس به مسیر /public_html/wp-content/themes/ مراجعه کنید. حالا وارد پوشه قالبی که ازش استفاده میکنید شده و قطعه کد زیر را در فایل فانکشن(functions.php) قالب قرار داده و ذخیره کنید.
1
|
;remove_filter( ‘authenticate’,’wp_authenticate_email_password’, 20 )
|
بعد از قرار دادن کد بالا دیگه امکان ورود با ایمیل در وردپرس را نخواهید داشت و فقط با استفاده از نام کاربری میتونید وارد وردپرس شوید.
استفاده از کپچا وردپرس
یکی از راههای حمله به وردپرس با استفاده از تلاش برای ورود در سایت یا ارسال دیدگاه اسپم صورت میگیره که حتما هم لزومی نداره فرد وارد سایت بشه و بلکه هدف از این کار اینکه که مدام درخواستی به سایت شما ارسال شده و CPU و منابع هاست شما درگیر میشه و در نهایت سایت از دسترس خارج خواهد شد. برای جلوگیری از این کار میتونید از کپچا وردپرس استفاده کنید.
غیرفعال کردن پیغام خطاهای وردپرس
وقتی نام کاربری یا رمز عبور اشتباهی در صفحه ورود وردپرس وارد کنید پیام “نام کاربری xxx اشتباه است و یا شناسه معتبر نیست” نمایش داده میشود. هکر با توجه به پیام نمایش داده شده تشخیص میده که کدوم یکی از اطلاعات ورود اشتباه هستند و در نهایت بعد از یافتن یکی از اطلاعات درست میتونه روی مورد بعدی تمرکز کرده و در زمان کوتاهتری اقدام به هک سایت بکند.
1
2
|
// Remove error message on login screen
;add_filter(‘login_errors’, create_function(‘$a’, ‘return null;’))
|
برای غیرفعال کردن این قابلیت کد بالا را در فایل فانکشن(functions.php) قالب خودتون قرار داده و ذخیره کنید.
8. مخفی کردن نام کاربری وردپرس
در اکثر قالبهای وردپرس وقتی روی نام نویسنده یک نوشته کلیک کنید به صفحه نویسنده هدایت خواهید شد که در اون نام کاربری نویسنده درست همان چیزی است که در آدرس نمایش داده میشود. بنابراین اگر میبینید که نیازی به این قابلیت ندارید میتونید چنین امکانی را از قالب خودتون غیرفعال کنید یا اینکه با استفاده از روشهای موجود آدرس صفحه نویسنده را بر اساس آیدی نویسنده تعیین کنید که نام کاربری نویسندهها مشخص نشه که در مقالات بعدی به معرفی این راهکار خواهم پرداخت.
1
2
3
4
5
6
|
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* – [F]
# END block author scans
|
با قرار دادن کد بالا در فایل htaccess. هاست خودتون میتونید صفحات مربوط به نویسندهها را در وردپرس به صفحه اصلی ریدایرکت کنید.
9. تغییر پیشوند جداول وردپرس
در حالت پیشفرض، وردپرس از _wp بهعنوان پیشوند جداول در پایگاه داده وردپرس استفاده میکنه. حالا در صورتی که هنگام نصب وردپرس اقدام به تغییر دادن آن نکرده باشید امنیت سایت شما از بخش دیتابیس کاهش پیدا خواهد کرد که لازمه اقدام به تغییر پیشوند جداول بکنید.
10. استفاده از SSL در وردپرس
استفاده از پروتکل امن HTTPS این امکان را به سایت شما میده که کلیه دادهها در محیطی امن رد و بدل شوند. بنابراین با استفاده از SSL در وردپرس میتونید امنیت سایت را در حالتهای مختلفی افزایش دهید. پیشنهاد میکنم حتما از SSL استفاده کرده و امنیت وردپرس را بیشتر کنید.
11. غیرفعال کردن مشاهده پوشههای هاست
یکی از نکاتی که کاربران کمتر بهش توجه میکنند و بر اساس کانفیگ هاست ممکنه این قابلیت در هاست غیرفعال نشده باشه مرور پوشه ها در سایت است. Directory browsing میتونه توسط هکرها مورد استفاده قرار گرفته و فایلهای موجود در هر پوشه به راحتی بررسی شده و با پیدا کردن راههای نفوذ به راحتی سایت شما هک شود. این مورد به هینجا محدود نمیشه و افراد میتونند با پیدا کردن پوشههای شما فایلهای موجود در هاست را هم مورد سرقت قرار دهند. بنابراین لازمه این قابلیت را غیرفعال کنید. برای این منظور کارهای زیر را طی کنید.
- وارد هاست خود شده و به مسیر public_html مراجعه کنید.
- در نهایت فایل را ذخیره کنید.
یکی از قابلیتهای وردپرس استفاده از ویرایشگر کد در پیشخوان وردپرس هست که در منوهای نمایش و افزونهها قرار داره و با استفاده از این دو منو به ترتیب به کلیه فایلهای قالب وردپرس و افزونه وردپرس دسترسی داشته و آنها را ویرایش کنید. اگر شخصی بتونه وارد پیشخوان وردپرس بشه به راحتی میتونه با وارد کردن کدهای مخرب کارهای خراب کارانه در سایتتون ایجاد بکنه که برای غیرفعال کردن این قابلیت میتونید به ترتیب زیر عمل کنید.
- وارد هاست خود شده و به مسیر public_html مراجعه کنید.
- فایل wp-config.php را که در ریشه هاست قرار دارد را انتخاب کرده و به صفحه ویرایش فایل مراجعه کنید.
- حالا قطعه کد زیر را در بخش define این فایل قرار داده و ذخیره کنید.
1
2
|
// Disallow file edit
;define( ‘DISALLOW_FILE_EDIT’, true )
|
بعد از قرار دادن کد بالا امکان ویرایش فایلهای قالب و افزونه از طریق ویرایشگر پیشخوان وردپرس غیرفعال خواهد شد.
13. غیرفعال کردن اجرای فایل PHP در وردپرس
هاست به شما این اجازه میده تا هر فایلی را در هر جایی قرار داده و با دستورات PHP هر کاری که میخواهید در سایت انجام دهید. برخی دایرکتوریها هستند که اصلا نیازی به اجرای فایلهای PHP در اونها نخواهید داشت که مهمترین این بخش پوشه uploads وردپرس هست که فایلهای چند رسانهای مثل تصویر، ویدئو، صوت و… در این مسیر قرار میگیرد. بنابراین لازمه اجرای دستورات PHP را در این مسیر با استفاده از روش زیر غیرفعال کنید.
- وارد هاست خود شده و به مسیر public_html/wp-content/uploads مراجعه کنید.
- یک فایل با نام htaccess. بسازید و کدهای زیر را در آن قرار دهید.
1
2
3
|
<Files *.php>
deny from all
</Files>
|
بعد از قرار دادن کد بالا در فایل htaccess. که در این پوشه قرار داره به صورت کلی امکان اجرای PHP در این مسیر غیرفعال خواهد شد.
14. غیرفعال کردن XML-RPC
فایل XML-RPC وردپرس امکان مدیریت از راه دور را در وردپرس خواهد داد که از جمله این موارد میشه به امکان استفاده از برنامه اندروید، برنامه ویندوز وردپرس یا سرویسهایی مثل IFTTT اشاره کرد. با استفاده از تابع system.multicall هکر میتونه همزمان 20 درخواست را به سایت ارسال کرده و اقدام به پیدا کردن رمز ورود در وردپرس بکنه که علاوه بر این امکان حملات DDOS هم از این طریق فراهم هست.
15. بررسی فعالیت کاربران در وردپرس
یکی دیگه از راههای امنیت وردپرس این هست که رفتار کاربران سایت خودتون را زیر نظر بگیرید. این رفتار میتونه توسط سیستم آمار گیر سایت و یا افزونهها صورت بگیره که در صورت شناسایی و مشکوک شدن به کاربری کافیه اکانت وی را غیرفعال کرده و یا نقش کاربری وی را برای جلوگیری از کارهای خرابکارانه محدود کنید.
16. استفاده از افزونه امنیت وردپرس
افزونههای امنیتی مختلفی برای وردپرس ساخته شدهاند که امکان فراهم کردن قابلیتهای امنیتی را در وردپرس به شما خواهند داد. افزونه wordfence وردپرس یکی از افزونههای امنیتی در وردپرس هست که به شما امکان افزایش امنیت وردپرس و جلوگیری از هک سایت را خواهد داد. با استفاده از این افزونه میتونید بیشتر راهکارهایی که در بالا به معرفی اونها پرداختیم را فقط با این افزونه فراهم کنید.