چک لیست امنیتی برای سایت‌های وردپرسی
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 17 دقیقه

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

آیا میدانستید روزانه بیش از 100 هزار وب‌سایت هک می‌شوند؟ حملات سایبری یک تهدید جدی برای هر کسب و کاری است و این موضوع شامل حال صاحبان وب‌سایتها نیز می‌شود. من به شخصه با هکرها برخورد داشته‌ام (چرا که مجبور شدم سایت هک‌شده خودم را بازیابی کنم) و از روند کار آن‌ها مطلع هستم.

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

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

  • به‌روزرسانی هسته وردپرس
  • به‌روزرسانی قالب‌ها و پلاگین‌ها
  • استفاده از پسوردهای قوی
  • نصب پلاگین‌های امنیتی
  • انتخاب هاست مناسب
  • استفاده از پروتکل HTTPS (گواهی SSL)
  • بکاپ‌گیری مداوم از وب‌سایت
  • بهره‌گیری از فایروال
  • غیرفعال کردن ویرایش فایل در پنل ادمین
  • ایمن کردن صفحه لاگین
  • در نظر گرفتن احراز هویت
  • خارج کردن کاربران غیرفعال
  • اسکن منظم بدافزارها
  • استفاده از VPN

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

 1. به‌روزرسانی هسته وردپرس

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

هرچند باید وردپرس را به صورت دستی نیز برای ارتقا به آخرین نسخه به‌روزرسانی کنید (بهتر است به محض مشاهده نوتیفیکیشن این کار را انجام دهید). طبق آمار منتشر شده تنها 22 درصد از وب‌سایت‌ها تحت آخرین نسخه وردپرس اجرا می‌شوند که با توجه به آسان بودن فرایند به‌روزرسانی خبر ناخوشایندی است.

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

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

2. به‌روزرسانی قالب‌ها و پلاگین‌ها

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

برای جلوگیری از حذف استایل‌های سفارشی نیز توصیه می‌کنم از Child Themeها به جای Parent Theme استفاده کنید. به این ترتیب هنگام به‌روزرسانی قالب اصلی، سفارشی‌سازی‌های خود را از دست نخواهید داد.

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

نکته دیگر این‌که هرگز قالب‌ها و پلاگین‌های ناشناس را دانلود نکنید و فقط از منابع قابل اعتماد مانند WordPress.org، Envato یا سایر فروشگاه‌های معتبر دیگر استفاده نمایید.

3. استفاده از پسوردهای قوی

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

پس اگر از نام‌های کاربری و پسوردهای ضعیف مانند "admin" یا "12345" استفاده کنید، نفوذ به وب‌سایت خود را برای هکرها بسیار آسان خواهید کرد. به همین منظور سعی کنید عادت به ایجاد رمزهای عبور منحصربه‌فرد و قوی داشته باشید و مرتبا هم آن‌ها را تغییر دهید. حتی می‌توانید از یک تولیدکننده و ذخیره‌کننده پسورد مانند LastPass به صورت رایگان کمک بگیرید.

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

4. نصب پلاگین‌های امنیتی

من خودم هر زمان که یک وب‌سایت جدید ایجاد می‌کنم، چندین پلاگین امنیتی دارم که همیشه به طور خودکار آن‌ها را نصب می‌کنم. این پلاگین‌ها شامل Anti-spam، Contact Form 7، Symple Shortcodes و iThemes Security هستند که به من این امکان را می‌دهند امنیت وردپرس خود را بدون هیچ دردسری بالا ببرم. زیرا دارای ویژگی‌های بسیار زیادی‌اند که کار هکرها را برای نفوذ به سایت دشوار می‌کنند و پیکربندی ساده‌ای هم دارند.

چنین ابزارهایی قابلیت‌های مختلفی به شما ارائه می‌دهند، بنابراین حتما قبل از نصب آن‌ها را بررسی کنید تا مطمئن شوید همه ویژگی‌هایی که برای ایمن کردن وب‌سایت خود نیاز دارید را دریافت می‌کنید. این قابلیت‌ها عبارتند از اسکن بدافزار، مسدود کردن IP، جلوگیری از حملات brute-force، احراز هویت دو عاملی (2FA) و موارد دیگر.

5. انتخاب هاست مناسب

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

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

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

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

6. استفاده از پروتکل HTTPS (گواهی SSL)

امروزه بسیاری از شرکت‌های هاستینگ گواهی SSL را به صورت رایگان ارائه می‌دهند. این مجوز وب‌سایت شما را نسبت به سایت‌های بدون SSL ایمن‌تر می‌کند. گوگل نیز استفاده از SSL را برای محافظت از داده‌ها توصیه می‌نماید (حتما به کاربران اطلاع دهید که از SSL استفاده می‌کنید یا خیر).

پروتکل HTTPS از HTTP ایمن‌تر است و ‌سایتی که از HTTPS بهره می‌گیرد، تمام داده‌هایی که بین مرورگر کاربر و سرورها رد و بدل می‌شوند را رمزگذاری می‌کند. اگر هم هکری ارتباط را ردیابی کند، فقط با داده‌های رمزنگاری شده مواجه می‌شود که عملا هیچ استفاده‌ای برای او ندارند.

برای نصب گواهی SSL فقط کافی است وارد cPanel خود شوید و روی دکمه مربوطه کلیک کنید تا به همین راحتی برای وب‌سایت شما فعال شود. اگر هم می‌خواهید رویکرد عملی‌تری داشته باشید، بهتر است از Let’s Encrypt در وردپرس بهره بگیرید.

7. بکاپ‌گیری مداوم از وب‌سایت

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

هرچند نسخه‌های پشتیبانی که توسط سرویس هاستینگ گرفته شده بود نیز در طی حمله خراب شدند و من هم نسخه ثانویه نداشتم. جمله معروف «همه تخم‌مرغ‌های خود را در یک سبد قرار ندهید» در اینجا کاملا صدق می‌کند.

و این درس عبرتی شد که از این به بعد حتما از سایت خود بکاپ بگیرم (شامل فایل‌ها و اطلاعات پایگاه داده). من به شخصه برای این کار از ManageWP استفاده می‌کنم، همچنین از پلاگین Duplicator برای ذخیره نسخه‌های پشتیبان هم در سیستم خود و هم در Google Drive برای اطمینان بیشتر کمک می‌گیرم.

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

8. بهره‌گیری از فایروال

به منظور اضافه کردن یک لایه امنیتی به سایت وردپرس خود بهتر است فایروال وب اپلیکیشن (WAF) را فعال کنید. WAF با مسدود کردن ترافیک مخرب قبل از رسیدن به سایت شما از آن محافظت می‌کند. این یک اقدام پیشگیرانه برای جلوگیری از آسیب‌های احتمالی است.

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

9. غیرفعال کردن ویرایش فایل در پنل ادمین

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

در عوض همیشه سعی کنید فایل‌های قالب و پلاگین خود را در صورت نیاز از طریق FTP یا مدیریت فایل در cPanel ویرایش نمایید و ویرایشگر کد را در وردپرس به طور کلی غیرفعال کنید. زیرا نمی‌خواهیم هکرهایی که به بخش مدیریت وردپرس دسترسی پیدا می‌کنند به ویرایشگر کد هم دسترسی داشته باشند (چرا که ممکن است با چند خط کد آسیب زیادی وارد کنند).

پس به این ترتیب با استفاده از پلاگین رایگان Sucuri Security می‌توانید ویرایشگر کد داخلی را غیرفعال کنید، یا می‌توانید کد زیر را به فایل wp-config.php خود اضافه نمایید:

// Disallow file edit

define( 'DISALLOW_FILE_EDIT', true );

10. ایمن کردن صفحه لاگین

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

برای افزودن CAPTCHA به صفحه لاگین خود نیازی به ویرایش کد ندارید. یک پلاگین محبوب وردپرس به نام WP Security Question وجود دارد که پیکربندی و استفاده از آن هم آسان است. پس اگر می‌خواهید از CAPTCHA استفاده کنید، می‌توانید از Simple Login Captcha، WordFence یا گزینه‌های موجود دیگر به صورت رایگان در WordPress.org بهره بگیرید.

علاوه بر این می‌توانید آدرس wp-login خود را نیز به چیز دیگری تغییر دهید. به این ترتیب ربات‌ها و هکرها در پیدا کردن URL صفحه ورود شما به مشکل می‌خورند. wp-login در حال حاضر بین هکرها محبوب است، بنابراین تغییر آن امری کاملا منطقی در نظر گرفته می‌شود. همچنین می‌توانید برای این کار از پلاگینی مانند WPS Hide Login نیز استفاده کنید.

11. در نظر گرفتن احراز هویت

احراز هویت دو مرحله‌ای و چند عاملی را حتما در نظر بگیرید. در این صورت اگر هکری به جزئیات ورود شما دسترسی پیدا کند، دیگر نمی‌تواند وارد سایت شود. گزینه‌های زیادی برای این کار وجود دارد، اما Google Authenticator یک انتخاب محبوب است.

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

12. خارج کردن کاربران غیرفعال

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

در چنین سناریوهایی، کاربر ممکن است ناآگاهانه وب‌سایت شما را در معرض خطرات امنیتی قرار دهد.

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

13. اسکن منظم بدافزارها

اسکن منظم وب‌سایت می‌تواند به شما در شناسایی مشکلات امنیتی در مراحل اولیه کمک کند. چرا که فقط یک ثانیه طول می‌کشد تا هکر به وب‌سایت شما نفوذ کرده و کارهای مخرب انجام دهد. دقیقا به همین دلیل است که باید همیشه در راس امور قرار بگیرید.

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

بسیاری از اسکنرهای وب‌سایت (مانند Sucuri SiteCheck) وجود دارند که می‌توانید از آن‌ها برای بررسی سریع سایت خود استفاده کنید. تنها کاری که باید انجام دهید این است که URL خود را وارد کنید تا ابزارها به طور خودکار سایت شما را بررسی کنند. بعد از آن به شما گزارشی از آنچه که باید اصلاح شود را ارائه می‌دهند. سپس می‌توانید تمام آسیب‌پذیری‌ها را برطرف نمایید.

14. استفاده از VPN

اگر وب‌سایتی دارید که اطلاعات حساسی را نگهداری می‌کند و هرگز نباید در دست هکرها قرار گیرد، پس از یک شبکه خصوصی مجازی (VPN) بهره بگیرید، به خصوص هنگام استفاده از Wi-Fiهای عمومی رایگان. VPN از شما در برابر حملات Man-in-Middle که در شبکه‌های عمومی از جمله در منزل و محل کار نیز رایج هستند، محافظت می‌نماید.

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

سایر گزینه‌های امنیتی وردپرس

آیا به راهکارهای امنیتی بیشتری نیاز دارید؟ در این صورت موارد زیر را نیز در نظر بگیرید:

  • اجرای فایلهای PHP را در /wp-content/wp-uploads/ غیرفعال کنید.
  • پیشوند پایگاه داده خود را تغییر دهید.
  • ایندکس کردن دایرکتوری را غیرفعال نمایید.
  • در صورت عدم نیاز، WP REST API و XML-RPC را غیرفعال کنید.
  • هسته وردپرس را به هیچ وجه ویرایش یا تغییر ندهید، به جای آن از پلاگینی استفاده کنید که عملکرد مورد نیاز شما را ارائه می‌دهد.
  • اطمینان حاصل کنید که وب‌سایت آخرین نسخه PHP را اجرا می‌کند.
  • از یک برنامه آنتی ویروس در سیستم خود استفاده نمایید.
  • کنسول جستجوی گوگل را فعال کنید.
  • آسیب‌پذیری‌های XSS و SQL Injection را کاهش دهید (ممکن است برای این دو مورد به یک تکنسین مجرب نیاز داشته باشید).

در واقع تعداد اقداماتی که می‌توانید برای محافظت از سایت خود انجام دهید بی‌پایان است. اما اگر بتوانید 14 موردی را که فهرست کرده‌ام اجرا کنید، گام بزرگی برای ایمن‌سازی سایت خود برمی‌دارید.

ایمن کردن وب‌سایت چالش برانگیز است اما غیرممکن نیست. به این ترتیب با بهره‌گیری از ابزارها و مهارت‌های مناسب می‌توانید به سرعت امنیت وردپرس خود را ارتقا داده و دست خرابکاران را کوتاه کنید.

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

برای یادگیری بیشتر این سیستم مدیریت محتوای محبوب می‌توانید در صورت تمایل از دوره رایگان مقدماتی وردپرس و دوره پیشرفته پروژه محور بهره بگیرید.

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

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
5 از 1 رای

/@heshmati74
عرفان حشمتی
Full-Stack Web Developer

مهندس معماری سیستم های کامپیوتری، طراح و توسعه دهنده وب سایت

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

عرفان حشمتی

Full-Stack Web Developer