محسن هدایتی
محسن هدایتی
خواندن ۱۲ دقیقه·۲ سال پیش

امنیت وردپرس؛ 16 مرحله ایمن‌سازی و محافظت از سایت شما

وقتی صحبت از امنیت می شود، در مورد هیچ نوع امنیتی خاص یا ویژه ای در وردپرس صحبت نمی کنیم. همه مشکلات امنیتی برای همه وب سایت ها یا برنامه ها مشترک است.

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

البته که مشکلات امنیتی وردپرس بسیار جالب اند، زیرا حدود 40% از وب دنیا وردپرسی است و از انجاییکه یک سیستم منبع باز است که ممکن است تهدیدهای جدی به آن وارد شود. وقتی کسی آسیب‌پذیری را در هسته یا افزونه‌های وردپرس پیدا می‌کند، سایر وب‌سایت‌هایی که از آن استفاده می‌کنند آسیب‌پذیر می‌شوند زیرا همگی از یک کد مشترک استفاده می‌کنند. و این احتمالا یعنی یک فاجعه!

تا اینجا احتمالا دلیل بالا بودن آمار هک شدن سایتهای وردپرسی را متوجه شده اید!

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

محافظت در برابر آسیب پذیری های وردپرس

رایج ترین انواع آسیب پذیری ها عبارتند از:

  • درهای پشتی (Backdoors)
  • هک های دارویی
  • بروت فورس (Brute-force Login Attempts)
  • تغییر مسیرهای مخرب (Malicious Redirects)
  • اسکریپت بین سایتی (XSS)
  • حملات دی داس (DDoS)
⚠️ موارد ذکر شده انواع رایج آسیب پذیری های وردپرس هستند، اما به این معنا نیست که حملات فقط به این موارد محدود می شوند. وقتی به امنیت فکر می کنید، به طور کلی، باید به روش 360 درجه فکر کنید.

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

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

بیایید به نحوه سخت‌تر کردن هک وردپرس خود بپردازیم تا زندگی را برای مهاجمان سخت‌تر کنیم ?

16 روش برای تقویت امنیت وب سایت وردپرس خود دارید:

  • از HTTPS استفاده کنید
  • همیشه از رمزهای عبور قوی استفاده کنید
  • از مدیریت رمز عبور برای ذخیره رمزهای عبور خود استفاده کنید
  • کپچا را در فرم های ورود فعال کنید.
  • از تلاش‌های brute-force برای ورود به سیستم جلوگیری کنید
  • از احراز هویت دو مرحله ای استفاده کنید (معمولا پیامک و کدهای امنیتی می تواند کمک کننده باشد).
  • افزونه ها را به روز نگه دارید
  • هدرهای HTTP امنیتی را تنظیم کنید
  • مجوزهای صحیح فایل را برای فایل های وردپرس تنظیم کنید (در هاست).
  • غیرفعال کردن ویرایش فایل های وردپرس
  • تمام ویژگی های غیر ضروری را غیرفعال کنید
  • نسخه وردپرس را مخفی کنید
  • فایروال وردپرس را نصب کنید
  • پشتیبان گیری داشته باشید
  • از SFTP استفاده کنید
  • فعالیت های کاربران خود نظارت کنید و سطح دسترسی محدود تعریف کنید

1. سایت خود را با HTTPS ایمن کنید

هر کاری که انجام می دهید از طریق شبکه و کابل های سیم جریان دارد. HTTP داده ها را به صورت متن ساده بین مرورگر و سرور مبادله می کند. بنابراین، هر کسی که به شبکه بین سرور و مرورگر دسترسی داشته باشد، می تواند داده های رمزگذاری نشده شما را مشاهده کند.

اگر از اتصال خود محافظت نکنید، در معرض خطر قرار دادن اطلاعات حساس در معرض مهاجمان هستید. با HTTPS، داده های شما رمزگذاری می شوند و مهاجمان حتی اگر به شبکه شما دسترسی داشته باشند، نمی توانند داده های ارسال شده را بخوانند.

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

?️ فعالسازی https در هاست و استفاده از افزونه really ssl را مطالعه کنید.

2. همیشه از رمزهای عبور قوی استفاده کنید

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

3. از Password Managers برای ذخیره رمزهای عبور خود استفاده کنید

هنگام کار از یک شبکه عمومی وارد سیستم می شوید، نمی توانید مطمئن باشید که چه کسی آنچه را که در لپ تاپ شما تایپ می کنید یا رمزهای عبور شما را ضبط می کند تماشا می کند.

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

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

?️ سایتهای پیشنهاد دهنده رمز عبور قوی وجود دارد و اگر بخاطر سپاری آنها سخت است از اکستنشن های مرورگر برای ذخیره رمز عبور خود استفاده کنید. lastpass یکی از سایتهای پیشنهاد و بخاطرسپاری رمز عبور هست. اکستنشن مرورگر ا« هم در دسترس است.

4. کپچای گوگل یا امنیت ورود را در فرم ورود و ثبت نام اضافه کنید

وقتی وب سایت خود را با HTTPS ایمن کرده اید و از رمزهای عبور قوی استفاده می کنید، زندگی را برای هکرها بسیار سخت کرده اید. اما می‌توانید با افزودن CAPTCHA به فرم‌های ورود، کار را سخت‌تر کنید.

?️ کپچاها یک راه عالی برای محافظت از فرم های ورود/ عضویت و ارسال پیام به سیستم در برابر حملات brute-force هستند. افزونه کد امنیتی وردپرس را میتوانید نصب کنید.

5. محافظت در برابر تلاش های ورود به سیستم از طریق Brute Force

ورود به سیستم CAPTCHA از شما در برابر تلاش های brute-force تا یک نقطه خاص محافظت می کند، اما نه به طور کامل. اغلب، هنگامی که توکن های کپچا حل می شوند، برای چند دقیقه معتبر هستند. برای مثال Google reCaptcha برای 2 دقیقه معتبر است. مهاجمان می‌توانند از این دو دقیقه استفاده کنند تا تلاش‌های brute-force برای ورود به فرم ورود شما را در آن زمان امتحان کنند.

برای حل این مشکل، باید تلاش های ناموفق برای ورود به سیستم را با آدرس IP مسدود کنید.

?️ پلاگین های وردپرس برای جلوگیری از حملات Brute-Force: افزونه امنیتی وردپرس از قیبل ایتم سکوریتی و دانلود وردفنس به خوبی می توانند جلوی ورودهای ناموفق را بگیرند.

6. احراز هویت دو مرحله ای (2FA) را راه اندازی کنید

اما اگر هکرها از روش‌های نظارتی استفاده می‌کردند و رمز عبوری که در ویدیو تایپ کرده‌اید را برای دسترسی به وب‌سایتتان ضبط می‌کردند، چه می‌شود؟ با گذرواژه‌های ایمن و کپچا در فرم‌های ورود، سایت شما بیشتر محافظت می شود. اگر رمز عبور شما را داشته باشند، فقط احراز هویت دو مرحله ای می تواند از وب سایت شما در برابر مهاجمان محافظت کند.

?️ سایت شما را در برابر حملات امنیتی که راهشان را تا اینجا سد کردید محافظت شده اما برای ادامه افزونه های زیادی از قبیل دیجیتس می توانند با احراز هویت دو مرحله ای مالک حساب کاربری را تشخیص دهند و این عالی است. افزونه two-factor نیز یکی دیگر از افزونه های کاربردی رایگان برای ایجاد این سد محکم است.

7. هسته و افزونه های وردپرس را به روز نگه دارید

آسیب‌پذیری‌ها اغلب برای هسته و افزونه‌های وردپرس رخ می‌دهند. اطمینان حاصل کنید که افزونه های خود را با آخرین نسخه به روز کنید تا از هک شدن وب سایت ها از حفره های شناخته شده و گزارش شده در پرونده ها جلوگیری کنید.

اما من قویاً توصیه می کنم که به روز رسانی های جزئی هسته وردپرس را با افزودن این خط کد در wp-config.php فعال کنید.

?️ define( 'WP_AUTO_UPDATE_CORE', 'minor' );

8. هدرهای HTTP امنیتی را تنظیم کنید

هدرهای امنیتی با محدود کردن اعمالی که می‌توان بین مرورگر و سرور هنگام مرور وب‌سایت انجام داد، یک لایه حفاظتی اضافی به ارمغان می‌آورد.

هدف هدرهای امنیتی محافظت در برابر حملات Clickjacking و Cross-site Scripting (XSS) است.

سربرگ های امنیتی عبارتند از:

  • Strict-Transport-Security (HSTS).
  • Content-Security-Policy.
  • X-Frame-Options.
  • X-Content-Type-Options.
  • Fetch Metadata Headers.
  • Referrer-Policy.
  • Cache-Control.
  • Clear-Site-Data.
  • Feature-Policy.
?️ افزونه GD Security Headers یکی از راه های تنظیم هدرهای امنیتی است.

9. مجوزهای صحیح فایل را برای فایل های وردپرس تنظیم کنید

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

در صورت تنظیم نادرست، هنگامی که یک وب سایت در هاست اشتراکی هک می شود، مهاجمان می توانند به فایل های وب سایت شما دسترسی داشته باشند و هر محتوایی را در آنجا بخوانند به ویژه wp-config.php و به وب سایت شما دسترسی کامل پیدا کنند.

  • همه فایل ها باید 644 باشند.
  • همه پوشه ها باید 775 باشند.
  • فایل wp-config.php باید 600 باشد.

10. ویرایش فایل از وردپرس را غیرفعال کنید

این یک ویژگی شناخته شده در وردپرس است که می توانید فایل ها را از قسمت مدیریت ویرایش کنید. واقعاً ضروری نیست زیرا توسعه دهندگان از SFTP استفاده می کنند و به ندرت از آن استفاده می کنند.

11. همه ویژگی های غیر ضروری را غیرفعال کنید

وردپرس دارای ویژگی های بسیاری است که ممکن است اصلاً به آنها نیاز نداشته باشید. به عنوان مثال، XML-RPC end point در وردپرس برای برقراری ارتباط با برنامه های خارجی ایجاد شده است. مهاجمان می توانند از این نقطه پایانی برای ورود به سیستم brute-force استفاده کنند.

?️ با استفاده از افزونه XML-RPC-API می توانید XML-RPC غیرفعال کنید

مسئله دیگری که وردپرس داخلی دارد، ارائه نقطه پایانی REST-API برای لیست کردن همه کاربران در وب سایت است.

اگر «/wp-json/wp/v2/users» را به هر وردپرس اضافه کنید، فهرستی از نام‌های کاربری و شناسه‌های کاربری را به عنوان داده‌های JSON مشاهده خواهید کرد.

کاربران REST-API را با افزودن این خط کد به functions.php غیرفعال کنید.

function disable_users_rest_json( $response, $user, $request ){
return '';
}add_filter( 'rest_prepare_user', 'disable_users_rest_json', 10, 3 );

12. مخفی کردن نسخه وردپرس

وردپرس به طور خودکار یک نظر با نسخه وردپرس در HTML صفحه تزریق می کند. به مهاجم نسخه وردپرس نصب شده شما را به عنوان اطلاعات اضافی می دهد.

?️ افزونه مخفی سازی وردپرس می تواند اینکار را به سادگی برای شما انجام دهد.

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

13. فایروال وردپرس را نصب کنید

فایروال یک برنامه وب است که در وب سایت ها اجرا می شود و هر درخواست HTTP دریافتی را تجزیه و تحلیل می کند. از منطق پیچیده ای برای فیلتر کردن درخواست هایی که به طور بالقوه ممکن است یک تهدید باشند، استفاده می کند. می توان قوانین را در بالای قوانین داخلی فایروال تنظیم کرد تا درخواست ها را مسدود کند. یکی از انواع رایج حملات، تزریق SQL است.

فرض کنید یک افزونه وردپرس را اجرا می‌کنید که در برابر تزریق SQL آسیب‌پذیر است و از آن اطلاعی ندارید. اگر فایروال را اجرا کنید، حتی اگر مهاجم از نقص امنیتی افزونه مطلع باشد، نمی تواند وب سایت را هک کند.

?️ به این دلیل است که فایروال درخواست هایی که حاوی تزریق SQL هستند را مسدود می کند.

فایروال ها این درخواست ها را از IP مسدود می کنند و از ارسال درخواست های خطرناک متوالی جلوگیری می کنند. فایروال ها همچنین می توانند با شناسایی درخواست های زیاد از یک IP و مسدود کردن آنها از حملات DDoS جلوگیری کنند.

افزونه های فایروال وردپرس که می توانید استفاده کنید:

  1. Wordfence Security.
  2. Sucuri.
  3. All In One WP Security & Firewall.
  4. BulletProof Security.
  5. Shield Security.

توجه: اگر تصمیم به نصب فایروال دارید، ممکن است دارای ویژگی هایی مانند محافظت از ورود به سیستم brute-force یا احراز هویت 2F باشند و می توانید به جای نصب افزونه های ذکر شده در بالا از ویژگی های آنها استفاده کنید و چندین افزونه همزمان برای یک کار نصب نکنید. افزونه وردفنس و آیتم سکیوریتی از کامل ترین افزونه های امنیتی هستند که موارد ذکر شده را دارا می باشند از رمز عبور قوی تا احراز هویت دوعاملی و فایروال. همه در تنظیمات قابل دستیابی هستند.

14. پشتیبان گیری داشته باشید

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

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

?️ با پشتیبانی هاست خود بررسی کنید که آیا آنها عملکرد پشتیبان گیری روزانه را ارائه می دهند و آن را فعال کنید. اگر نه، می‌توانید از این افزونه‌های بکاپ وردپرس برای اجرای پشتیبان‌گیری استفاده کنید:
BackWPup.
UpdraftPlus.
BackupBuddy.
BlogVault.

15. از SFTP استفاده کنید

بسیاری از توسعه دهندگان در حال حاضر از SFTP برای اتصال به سرورهای وب استفاده می کنند، این مورد تنها جهت یادآوری بیان شد.

این پروتکل مانند https از رمزگذاری برای انتقال فایل‌ها از طریق شبکه استفاده می‌کند و خواندن آن را به صورت متن ساده حتی در صورت دسترسی به شبکه غیرممکن می‌کند.

16. نظارت بر فعالیت کاربران

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

هیچ یک از روش های فوق قادر به شناسایی یک ?‍♂️ کارمند خرابکار ?‍♂️ نیست.

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

همچنین می توانید فعالیت هایی را که مشکوک به نظر می رسد بررسی کنید و ببینید چه تغییراتی ایجاد شده است.

در این مقاله می توانیم امنیت وردپرس را از طریق 16 راهکار به بالاترین حد خود ارتقا دهیم. باز هم تاکید می کنیم که نمیتوان با هیچ روشی امنیت صد در صد سایتها چه وردپرسی و غیر وردپرس را تضمین کرد. زیرا هکرها همیشه از هر راه نفوذ خلاقانه ای میتوانند ورود کنند.

اطلاع از کد تخفیف راست چین جهت دانلود و خرید افزونه های امنیتی.

منبع اصلی: searchenginejournal


brute forceامنیت وردپرسامنیتوردپرسراست چین
شاید از این پست‌ها خوشتان بیاید