برنامه‌نویسی

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


۲۴ تیر ۱۳۹۹
افزایش امنیت وبسایت‌های وردپرسی

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

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

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

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

بهترین روش‌های حفظ امنیت وبسایت وردپرسی

قبل از اینکه هر گونه افزونه امنیتی را نصب و یا فایل wp-config.php را تنظیم کنید تا وبسایت امن‌تری داشته باشید، چندین راه ساده ولی موثر وجود دارد که می‌توانند امنیت وبسایت وردپرسی‌تان را بهبود ببخشند:

  1. استفاده از رمزعبورهای قوی
  2. بروز نگه‌داشتن وبسایت
  3. خرید افزونه‌ها و تم‌ها از منابع معروف و قابل اطمینان
  4. استفاده از میزبان ایمن
  5. غیرفعال‌سازی ویرایشگر تم
  6. بکاپ‌گیری به صورت دوره‌ای
  7. استفاده از SFTP برای آپلود فایل‌ها به وبسایت‌تان
  8. افزودن SSL به وبسایت‌تان
  9. نصب افزونه‌های امنیتی
  10. استفاده از سرویس‌های امنیتی

بیایید به هر کدام از این‌ها به صورت مفصل نگاهی بیاندازیم:

۱) استفاده از رمزعبورهای قوی

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

می‌توانید از طریق وبسایت How Secure is my password بررسی کنید که کرک رمزعبورتان چقدر زمان می‌برد. برای مثال کرک رمزعبوری که در وبسایت خودم از آن استفاده می‌کنم، ۱۶ میلیارد سال زمان خواهد برد، بنابراین فکر نمی‌کنم که کسی بتواند آن را حدس بزند.

بررسی امنیت رمزعبور در سایت howsecureismypassword.net

همچنین می‌توانید توسط افزونه Force Strong Passwords، سایر کاربران را نیز مجبور به استفاده از رمزعبورهای قوی کنید. در غیر اینصورت اگر Jetpack را نصب کرده باشید، می‌توانید توسط آن استفاده از رمزعبورهای قوی را اجبار کنید.

۲) بروز نگه‌داشتن وبسایت

راه ساده دیگر برای حفظ امینت وبسایت، این است که مطمئن شوید وبسایت‌تان بروز است.

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

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

صفحه بروزرسانی وردپرس

همچنین می‌توانید افزونه‌ای را نصب کنید تا بروزرسانی‌ها را به صورت خودکار برای شما انجام دهد. افزونه Easy Updates Manager به شما این اجازه را می‌دهد که تعیین کنید تا کدام افزونه‌ها و یا تم‌ها همیشه بروز باشند، همچنین می‌توانید وضعیت آپدیت‌ها را بررسی کنید و در صورت نیاز، بروزرسانی‌ها را برایتان انجام دهد.

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

۳) خرید افزونه‌ها و تم‌ها از منابع معروف و قابل اطمینان

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

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

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

وبسایت CodeCanyon

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

۴) استفاده از میزبان ایمن

به هنگام انتخاب هاستینگ و یا میزبان، زمانی را صرف این کنید که بتوانید یک مورد معروف و شناخته‌شده که امنیت و uptime را تضمین می‌کند، پیدا کنید. پلنی (plan) که در هاستینگ و میزبان‌تان برای برنامه خود انتخاب می‌کنید نیز بر امنیت اثر می‌گذارد. ارزان‌ترین پلن‌های هاستینگ‌ها معمولا بی‌کیفیت هستند زیرا در آن‌ها صدها و یا هزاران کلاینت و یا وبسایت بر روی یک سرور قرار دارند. اکثر افرادی که از این سرور استفاده می‌کنند، امکان مواجه‌شدن با مشکلات امنیتی را دارند.

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

۵) غیرفعال‌سازی ویرایشگر تم

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

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

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

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

define( 'DISALLOW_FILE_EDIT', true );
define( ‘DISALLOW_FILE_MODS’, true );

از این طریق، شما و یا سایر کاربران‌تان نمی‌توانید تغییراتی که باعث مشکلات بزرگ می‌شود را، به دلیل عدم استفاده از این ویرایشگر، بوجود آورید. به این نکته توجه کنید که تنها در زمانی فایل wp-config.php را تغییر دهید که به آن مسلط هستید.

۶) بکاپ‌گیری به صورت دوره‌ای

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

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

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

۷) استفاده از SFTP برای آپلود فایل‌ها به وبسایت‌تان

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

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

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

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

۸) افزودن SSL به وبسایت‌تان

افزودن SSL به وبسایت وردپرسی‌تان به این معنی است که http:// در ابتدای آدرس وبسایت‌تان به https:// تبدیل می‌شود.

اضافه‌کردن SSL به وبسایت توسط سرویس رایگان Let’s Encrypt دو مزیت در اختیار شما می‌گذارد:

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

می‌توانید توسط Let’s Encrypt، به صورت رایگان، برای وبسایت‌تان گواهی SSL تهیه کنید، این کار را می‌توانید در داشبورد میزبان‌تان و یا با استفاده از افزونه‌ها انجام دهید.

۹) نصب افزونه‌های امنیتی

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

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

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

۱۰) استفاده از سرویس‌های امنیتی

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

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

جمع‌بندی

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

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

منبع: https://webdesign.tutsplus.com/articles/how-to-secure-your-wordpress-site–cms-35240?_ga=2.27733692.1024820862.1594046951-163172490.1594046951