07 Jul

امنیت وردپرس: راه کارهایی ساده اما تاثیرگذار

وردپرس چیست؟

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

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

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

  • به روز رسانی دائم هسته اصلی وردپرس
  • به روز رسانی پلاگین ها و تم های نصب شده روی وردپرس
  • حذف پلاگین ها و تم هایی که از آنها استفاده نمی کنید
  • استفاده از تم و پلاگین های اورجینال و عدم استفاده از نسخه های کرک شده
  • نصب پلاگین امنیتی روی وردپرس به منظور جلوگیری از حملات Bruteforce، ارسال اسپم، دسترسی به صفحه ادمین و …
  • امن سازی دسترسی ها به فایل ها و شاخه های سیستمی
  • امن سازی شاخه های سیستمی و جلوگیری از اجرای اسکریپت داخل آنها
  • استفاده از نسخه های به روز PHP و عدم استفاده از نسخه هایی که دیگر به روز نمی شوند
  • استفاده از SSL و پروتکل HTTPS
  • تغییر یوزر پیش فرض admin
  • تغییر prefix نام جداول در دیتابیس
  • اسکن دائمی وب سایت برای اطمینان از عدم وجود malware در سایت
  • راه اندازی سیستم بکآپ منظم
  • توجه به نقشی که میزبان وب شما در امنیت سایت دارد

به روز رسانی دائم هسته اصلی وردپرس

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

به روز رسانی پلاگین ها و تم های نصب شده روی وردپرس

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

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

حذف پلاگین ها و تم هایی که از آنها استفاده نمی کنید

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

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

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

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

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

نصب پلاگین امنیتی روی وردپرس به منظور جلوگیری از حملات Bruteforce، ارسال اسپم، دسترسی به صفحه ادمین و …

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

خوشبختانه پلاگین هایی از این دست به طور رایگان در اختیار همه قرار دارند. پلاگین هایی از جمله Sucuri Security، Wordfence، Cerber Security و All In One WP Security & Firewall، همگی می توانند در این زمینه به امنیت سایت شما کمک کنند.

امن سازی دسترسی ها به فایل ها و شاخه های سیستمی

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

اگر شما از مشتریان سرویس میزبانی وب وردپرس ما باشید، تنظیمات امنیتی این بخش را می توانید در بخش WordPress Toolkit کنترل پنل خود پیدا کرده و آنها را اعمال کنید. غیر از این موارد، عدم امکان ویرایش فایل از طریق editor خود وردپرس و … را هم می توانید از این طریق اعمال کنید. اگر از هاست دیگری استفاده می کنید، با اضافه کردن کد زیر در فایل web.config.php، می توانید دسترسی ویرایش فایل در پنل وردپرس را ببندید:

// Disallow file edit
define( 'DISALLOW_FILE_EDIT', true );

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

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

امن سازی شاخه های سیستمی و جلوگیری از اجرای اسکریپت داخل آنها

شما می توانید به سادگی و با استفاده از فایل htaccess. جلوی اجرای اسکریپت در شاخه های سیستمی، شاخه های مربوط به cache یا شاخه هایی که کاربران می توانند در آنها فایل آپلود کنند را (به طور مثال شاخه uploads داخل wp-content) بگیرید. این مورد یکی از موارد بسیار مهم است زیرا ممکن است شما به هر دلیل اجازه آپلود فایل به مخاطبین را بدهید (مثل زمانی که در فرم، فایل آپلود می کنند) یا حتی به واسطه وجود باگ در پلاگین های نصب شده، به کاربر اجازه آپلود فایل در این شاخه ها داده شود. آپلود فایل و در کنار آن اجرای آن، می تواند ضعف امنیتی بسیار بزرگی برای سایت شما به حساب بیاید.

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

<Files *.php>
deny from all
</Files>

نکته مهم: قبل از ویرایش فایل های سیستمی، مطمئن شوید که از سایت بکآپ دارید و دسترسی FTP به سایت دارید که در صورت بروز مشکل، بتوانید مشکل را برطرف کنید.

استفاده از نسخه های به روز PHP و عدم استفاده از نسخه هایی که دیگر به روز نمی شوند

نسخه های قدیمی PHP که دیگر به روز نمی شوند، بسیار خطرناک هستند. در حال حاضر و در زمان نگارش این مقاله، صرفا نسخه های ۷٫۲٫x، ۷٫۳٫x و ۷٫۴٫x به روز می شوند و سایر نسخه ها همگی از رده خارج شده اند. نسخه ۷٫۲ نیز، صرفا به روز رسانی های امنیتی آن انجام می شود و تا چند ماه آینده، به عنوان نسخه از رده خارج، دیگر به روز نمی شود. می توانید در سایت خود PHP، همواره نسخه های فعال PHP را مرور کنید و در صورتی که سایت شما از نسخه قدیمی تری استفاده می کند، از هاستینگ (و طراح سایت) خود بخواهید که سایت شما را ارتقاء دهند.

استفاده از SSL و پروتکل HTTPS

استفاده از SSL فواید زیادی دارد. مهم ترین آن، Encrypt شدن ارتباط ویزیتور وب سایت با سرور است. در واقع با استفاده از SSL، عملا جلوی حملات Man in the middle را می توانید بگیرید. این نوع حملات، زمانی رخ می دهد که تبادل اطلاعات شما و سرور، به صورت Plain Text انجام می شود و در واقع از پروتکل HTTP استفاده می شود. در این شرایط، اگر یک هکر، هرجا بین مرورگر بازدیدکننده سایت، تا سرور میزبان بتواند یک Packet Sniffer بگذارد، می تواند اطلاعات مهمی را به سرقت ببرد. از جمله یوزر و پسورد و …

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

تغییر یوزر پیش فرض admin

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

شناسه کاربری، در واقع نیمی از پروسه Authentication یا بررسی صحت اکانت کاربری است. با تغییر یوزر ادمین از کاربری قابل حدس مثل admin به اکانتی غیر قابل حدس زدن مانند admin_djf7، شما می توانید کار را برای هکر هایی که از روش bruteforce برای هک سایت استفاده می کنند، دو برابر سخت کنید.

در ضمن، مطمئن شوید که اجازه پیدا کردن کاربر ادمین را از هکر ها بگیرید. یک هکر، می توانید به سادگی و با وارد کردن کوئری /?author=1 در انتهای آدرس وب سایت شما، شناسه ادمین را پیدا کند. اگر سایت شما یک وبلاگ گروهی نیست، می توانید از این روش استفاده کنید و جلوی نمایش شناسه کاربری از طریق کوئری author را بگیرید. کافی است کد زیر را در فایل functions.php تم خود، اضافه کنید:

function redirect_to_home_if_author_parameter() {

	$is_author_set = get_query_var( 'author', '' );
	if ( $is_author_set != '' &amp;&amp; !is_admin()) {
		wp_redirect( home_url(), 301 );
		exit;
	}
}
add_action( 'template_redirect', 'redirect_to_home_if_author_parameter' );

این کد، باعث می شود که در صورت استفاده از کوئری author، کاربر به صفحه اصلی سایت هدایت شود و شناسه کاربری ادمین نمایش داده نشود.

در کنار این روش، هکر می تواند با استفاده از JSON و سیستم REST API موجود در وردپرس، شناسه ادمین را پیدا کنید. بنابراین اگر از REST API استفاده نمی کنید، آن را در وردپرس غیر فعال کنید.

تغییر prefix نام جداول در دیتابیس

وردپرس، به صورت پیش فرض، prefix نام جداول در دیتابیس را wp_ انتخاب می کند. این کار می تواند باعث شود که هکرهایی که می خواهند با استفاده از SQL Injection سایت را هک کنند، راحت تر شود. با تغییر prefix جداول در دیتابیس وردپرس، شما می توانید کار را برای هکرهایی که از سیستم های اتوماتیک و روبات ها برای بررسی ضعف های SQL Injection استفاده می کنند، سخت تر کنید.

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

اسکن دائمی وب سایت برای اطمینان از عدم وجود malware در سایت

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

راه اندازی سیستم بکآپ منظم

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

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

مطمئن شوید که بکآپ را پس از دانلود، هرگز در شاخه های عمومی وب سایت مثل httpdocs یا public_html یا wwwroot (بنا به هاست خود)، نگه ندارید. داخل بکآپ شما اطلاعات بسیار حساسی مثل یوزر و پسورد ها و … وجود دارد و فایل ZIP بکآپ، قابل دانلود است. در صورتی که هکر به هر شکل نام فایل را حدس بزند و آن را دانلود کند، می تواند کنترل کل وب سایت و اطلاعات شما را به دست آورد.

توجه به نقشی که میزبان وب شما در امنیت سایت دارد

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

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

  • استفاده از نرم افزارهای به روز برای ارائه خدمات میزبانی وب
  • مانیتورینگ دائم شبکه و لاگ ها برای اتفاقات غیر عادی، بررسی دلیل آن ها و رفع ایرادات و حفره های احتمالی
  • استفاده از سیستم های امنیتی به روز مانند WAF، IDS و IPS
  • تهیه بکآپ منظم برای زمانی که به هر دلیل، حادثه ای رخ می دهد که قابل پیش بینی نبوده است
  • مدیریت صحیح دسترسی ها و جلوگیری از سوء استفاده از منابع سرور توسط برنامه های آلوده یا مشکل ساز
  • ایجاد ساختار امنیتی مناسب مانند استفاده از CloudLinux برای محدود کردن هر سایت به فضای اختصاصی خودش، جلوگیری از اجرای دستورات خطرناک و پر ریسک PHP و …

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

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

 

Share this

نظر شما چیست؟