با تمام محبوبیتی که سیستم مدیریت محتوای وردپرس دارد، اما از امنیت خوبی برخوردار نیست و میبایست حتماً پس از نصب ابتدا اقدامات امنیتی را بر روی آن پیاده سازی کرد. حتی اگر یک شب از نصب وردپرس گذشته باشد و شما به موقع تدابیر امنیتی را بکار نگیرید، شاهد صدها کاربر و کامنت اسپم خواهید بود که به زبانهای هندی، روسی و دیگر زبانها بیدلیل کامنتهای نامرتبط پست کردهاند. این کاربران رباتهای تبلیغاتی اسپم هستند که دائماً وبسایتهای ناامن را مورد حمله قرار میدهند تا متنهای تبلیغاتی خود را منتشر کنند؛ بدون اینکه به ماهیت وبسایت توجه داشته باشند. در این مقاله در مورد امنیت وردپرس بیشتر مطالعه خواهیم کرد و حفرههای امنیتی وردپرس را بررسی خواهیم کرد تا با اقدام مناسب جلوی حملات هکرها و ثبت نام کاربران و پست کردن کامنتهای اسپم گرفته شود.
وردپرس چیست؟ [سیستم مدیریت محتوا وردپرس]
روش های افزایش امنیت وردپرس(معرفی افزونههای ضروری امنیتی برای وردپرس)
برای امنیت وردپرس WordPress security افزونههای زیادی منتشر شده است که نمیتوان همه آنها را معرفی کرد. متأسفانه بیشتر افزونههای امنیتی بازدهی خوبی ندارند و حتی به ساختار کدنویسی افزونههای دیگر آسیب میزنند. اما در ادامه بهترین گزینهها که بیشتر از همه کارایی دارند را معرفی خواهیم کرد. با توجه به اینکه بیشتر چک لیست امنیتی وردپرس در دل افزونههای امنیتی قرار گرفته است، ابتدا به معرفی این افزونهها میپردازیم و سپس چک لیست امنیتی را در تنظیمات همین افزونهها بررسی میکنیم تا بطور همزمان تنظیمات افزونهها نیز آموزش داده شوند.
افزونه All in One Security
افزونه All In One Security (به اختصار AIOS) یک افزونه امنیتی قدرتمند و محبوب برای وردپرس است که به شما کمک میکند تا وبسایتتان را به طور کامل در برابر تهدیدات و حملات هکرها و رباتها محافظت کنید. این افزونه با ارائه مجموعه کاملی از ویژگیها، راهحلی جامع برای ارتقاء امنیت وردپرس WordPress security شما ارائه میدهد. اگرچه به دلیل همزمانی کدهای AIOS بعضی از گزینههای آن را نباید فعال کرد و بهتر است از افزونههای جایگزین استفاده کرد که در ادامه معرفی خواهیم کرد. به این نکته نیز توجه داشته باشید که پس از نصب افزونه AIOS منوی آن در وردپرس با عنوان "امنیت کامل وردپرس" در پنل مدیریت وردپرس اضافه میشود.
ویژگیهای کلیدی AIOS
-
فایروال وبسایت : AIOS با یک فایروال داخلی قدرتمند همراه است که میتواند حملات مخرب را مسدود کند و از وبسایت شما در برابر نفوذ هکرها محافظت کند.
-
محافظت در برابر ورود و ثبت نام : این افزونه به شما امکان میدهد تا نامهای کاربری و گذرواژههای قوی را برای کاربران خود تنظیم کنید، ورود دو مرحلهای را فعال کنید و اقدامات امنیتی دیگری را برای ایمنتر کردن فرآیند ورود به سیستم انجام دهید.
-
اسکن بدافزار : AIOS میتواند وبسایت شما را به طور منظم برای بدافزار، malware و سایر تهدیدات اسکن کند و آنها را حذف کند.
-
محدودیتهای کاربری : با استفاده از AIOS میتوانید دسترسی کاربران و گروههای مختلف را به داشبورد وردپرس، فایلها و سایر بخشهای حساس وبسایت خود کنترل کنید.
-
لیست سیاه و سفید IP : این افزونه به شما امکان میدهد تا آدرسهای IP خاصی را مسدود یا مجاز کنید تا از دسترسی غیرمجاز به وبسایت خود جلوگیری کنید.
-
امنیت پایگاه داده : AIOS میتواند پایگاه داده وردپرس شما را پشتیبانگیری و بازیابی کند و همچنین از آن در برابر حملات SQL Injection محافظت کند.
-
تنظیمات امنیتی پیشرفته : AIOS مجموعهای از تنظیمات امنیتی پیشرفته را ارائه میدهد که میتوانید آنها را برای سفارشی کردن امنیت وبسایت خود مطابق با نیازهایتان تنظیم کنید.
ورود دو عاملی Google Authenticator با افزونه Two Factor
این افزونه میتواند امکان استفاده از سرویس Google Authenticator و ارسال ایمیل را برای ورود دو عاملی فراهم کند. به کمک سرویس Google Authenticator میتوان مطمئن بود که بجز شما هیچ کس نمیتواند بدون اجازه وارد حساب کاربری شما شود. پس از نصب این افزونه، فرم Google Authenticator به صفحه پروفایل کاربر اضافه میشود با تنظیم کردن کد اختصاصی بر روی اپلیکیشن، این ویژگی فعال میشود. برای فعالسازی ورود دو عاملی، ابتدا افزونه Two Factor را از مخزن وردپرس نصب و فعال کنید.
سپس از منوی "کاربران" گزینه "شناسه" را انتخاب کنید تا وارد بخش ویرایش پروفایل خود شوید. تنظیمات افزونه Two Factor در کادر "گزینههای دو عاملی" قرار دارد که دارای 4 دیوار امنیتی در فرم ورود است :
روش اول ایمیل
با فعالسازی این گزینه، کدهای احراز هویت به ایمیل شناسه شما ارسال خواهد شد.
روش دوم "Authenticator app"
که فرم ورود را با اپلیکیشن Google Authenticator هماهنگ میکند. برای فعالسازی این اپلیکشن، ابتدا آن را از یک اپاستور معتبر مانند گوگل پلی، بازار و یا مایکت دانلود و نصب کنید. سپس وارد برنامه شوید و بر روی دکمه بعلاوه + تاچ کنید تا منوی افزودن احراز هویت باز شود. در این منو دو گزینه برای وارد کرن کد سبنک وجود دارد.
-
گزینه اول "Scam a QR code" : با تاچ کردن این گزینه دوربین گوشی باز میشود و میتوانید کد QR code در کادر "گزینههای دو عاملی" برای "Authenticator app" را اسکن کنید تا افزونه Two Factor با اپلیکیشن Google Authenticator سینک شود.
-
گزینه دوم "Enter a setup key" : با تاچ کردن این گزینه، فرم افزودن کلید احراز هویت دو عاملی نمایش داده میشود. در این فرم در فیلد "Account name" میتوانید نام وبسایت خود را به دلخواه وارد کنید و در فیلد "Your key" ، کد کلید امنیتی که در کادر "گزینههای دو عاملی" برای "Authenticator app" و زیر تصویر کد QR code قرار دارد را وارد کنید و منوی "Type of key" را بر روی گزینه "Time based" قرار دهید و در آخر بر روی دکمه "Add" تاچ کنید تا کد اهراز هویت دو عاملی به اپلیکیشن Google Authenticator اضافه شود.
در آخر باید کد موقتی که در برنامه Google Authenticator نمایش داده میشود را در فیلد "کد احراز هویت" وارد کنید و بر روی دکمه "ثبت" کلیک کنید تا سینک این برنامه با افزونه تأیید شود.
روش سوم کلیدهای امنیتی FIDO
در این روش میتوانید از کلیدهای امنیتی که در کادر "کلیدهای امنیتی" قرار دارند استفاده کنید. کافی است بر روی دکمه "ثبت کلید جدید" کلیک کنید تا کلید امنیتی برای شما ایجاد شود. توجه داشته باشید که در این حالت وبسایت شما حتماً باید از پروتکل HTTPS استفاده کند.
روش چهارم استفاده از Recovery Codes : در صورتی که از روش Authenticator app استفاده کرده باشید و کلید امنیتی اپلیکیشن Google Authenticator را نداشته باشید و اپلیکیشن شما به هر دلیلی ریست و از حالت سینک خارج شده باشد، دیگر قادر به ورود به پنل مدیریت وردپرس نخواهید بود. در این حالت اگر گزینه Recovery Codes را فعال کرده باشید، میتوانید در صورت نیاز از کدهای آماده ریکاوری استفاده کنید تا بتوانید وارد پنل مدیریت شوید. برای استفاده از این روش، ابتدا گزینه Recovery Codes را فعال کنید و سپس بر روی دکمه "دریافت کدها" کلیک کنید تا 10 کد ریکاوری برای شما ایجاد شود. سپس این کدها را در یک فایل متنی و در یک مکان امن نگهداری کنید تا در صورت نیاز از آنها استفاده کنید.
در آخر در انتهای صفحه شناسه بر روی دکمه "بروزرسانی شناسه" کلیک کنید تا تنظیمات Two Factor ذخیره شود. از این پس هرگاه وارد فروم ورود شوید، یک فیلد برای وارد کردن کد احراز هویت در اپلیکیشن Google Authenticator وجود دارد که تنها با وارد کردن آن میتوانید وارد پنل مدیریت وردپرس شوید. همچنین اگر احراز هویت به شیوه ایمیل را نیز فعال کرده باشید، یک فیلد هم برای ارسال کد احراز هویت به ایمیل نمایش داده میشود.
نکته : گزینه Google Authenticator در افزونه All In One Security وجود دارد، اما به دلیل عملکرد ضعیف آن، بهتر است این گزینه را در افزونه AIOS فعال نکنید و به جای آن افزونه Two Factor را نصب کنید تا AIOS دچار اختلال نشود.
افزونه Salt Shaker
Salt Shaker یک افزونه امنیتی محبوب برای وردپرس است که به طور خودکار ویژگی Salt را در وبسایت شما اضافه و بروز میکند. Salt یک رشته تصادفی و منحصر به فرد است که به کوکیها و نشستهای کاربری اضافه میشود تا از آنها در برابر شنود هکرها محافظت کند.
ویژگیهای کلیدی Salt Shaker
-
افزودن خودکار Salt : این افزونه به طور خودکار Salt را به فایل wp-config.php شما اضافه میکند.
-
به روز رسانی خودکار Salt : میتوانید Salt را به صورت خودکار هر چند روز یکبار، هفتگی یا ماهانه به روز کنید.
-
پشتیبان گیری Salt : افزونه Salt Shaker قبل از به روز رسانی Salt، از Salt فعلی شما پشتیبان گیری میکند.
-
نمایش اطلاعات Salt : میتوانید Salt فعلی و تاریخ آخرین به روز رسانی را مشاهده کنید.
-
تنظیمات آسان : Salt Shaker با رابط کاربری ساده و آسانی که دارد، تنظیمات آن بسیار ساده میباشد.
نحوه استفاده از Salt Shaker
-
افزونه Salt Shaker را از مخزن وردپرس نصب و فعال کنید.
-
از منوی ابزارها وارد تنظیمات Salt Shaker شوید.
-
گزینه "Change WordPress salt keys Daily" را فعال کنید و از منوی آبشاری کنار آن، بازه زمانی مورد نظر خود را برای بروز رسانی Salt از بین گزینههای "Daily - Weekly - Monthly - Quarterly - Biannually" انتخاب کنید. البته برای امنیت بیشتر بهتر از این گزینه بر روی Daily تنظیم باشد.
-
در صورت تمایل، میتوانید از گزینه پشتیبان گیری Salt نیز استفاده کنید. البته این امکان در نسخه Pro وجود دارد و زیاد هم ضروری بنظر نمیرسد.
-
در آخر بر روی دکمه "Save Settings" کلیک کنید.
-
در کادر "Immediate Change" میتوانید با کلیک بر روی دکمه "Change Now" در همین صفحه رمزنگاری Hash Salt را تغییر دهید. البته توجه داشته باشید که با اینکار، تمامی کاربران از حساب کاربری خود بصورت خودکار خارج "Log Out" میشود.
نکته : توجه داشته باشید که قبل از استفاده از این افزونه حتماً کدهای Hash Salt را از سرویس سازنده کلید Salt در وبسایت رسمی وردپرس دریافت کنید و آن را به فایل wp-config.php اضافه کنید؛ زیرا افزونه Salt Shaker بر روی همین کدها فعالیت میکند و این کدها پیشنیاز Salt Shaker هستند. در ادامه مقاله در این مورد Hash Salt بیشتر توضیح خواهیم داد.
افزونه Invisible reCaptcha
Invisible reCaptcha یک کپچای غیردیداری است که به کمک هوش مصنوعی کار میکند و توسط شرکت گوگل توسعه یافته است. Invisible reCaptcha قادر است تا حرکات مشکوک کاربران در فرمها را شناسایی کند و جلوی ارسال شدن فرمهای نامعتبر را بگیرد. این افزونه ویژگی کپچای غیردیداری را به فرمهای وردپرس اضافه میکند. استفاده از این افزونه سه مرحله دارد.
-
ابتدا افزونه Invisible reCaptcha را از مخزن وردپرس نصب و فعال کنید.
-
در مرحله دوم باید وارد تنظیمات Invisible reCaptcha در منوی تنظیمات اصلی وردپرس شوید و Site Key و Secret Key که از پنل توسعه دهنده reCaptcha V3 دریافت کردهاید را وارد کنید و با کلیک بر روی کمه Save Changes تنظیمات را ذخیره کنید.
-
در مرحله آخر مشخص کنید که کپچای غیردیداری در کدام فرمها استفاده شوند. بهتر است همه فرمها را فعال کنید کپچای غیردیداری در همه فرمها کار کند.
نکته : کپچای غیردیداری در افزونه AIOS نیز وجود دارد، اما برای استفاده همزمان از کپچای ریاضی و کپچای غیردیداری در فرم ورود، بهتر است کپچای غیردیداری را در افزونه AIOS فعال نکنید و افزونه Invisible reCaptcha را برای این منظور نصب کنید.
چک لیست امنیتی وردپرس
افزودن Hash Salt برای ایجاد به هم ریختگی در اطلاعات نشستهای Session و کوکیها
ویژگی Salt در وردپرس، کوکیها و نشستهای کاربر را رمزنگاری میکند تا هکرها نتوانند به اطلاعات اصلی آن دسترسی داشته باشند. برای افزودن کدهای به همریختگی Hash Salt Key میتوانید مجموعهای از این کدها را از سرویس سازنده کلید Salt در وبسایت رسمی وردپرس دریافت کنید و آن را به فایل wp-config.php اضافه کنید تا امکان Salt به وبسایت شما اضافه شود. اما بهتر است به جای استفاده از کدهای آماده، از افزونه Salt Shaker استفاده کنید. این افزونه علاوه بر اینکه بدون نیاز به دستکاری فایل wp-config.php کلید Salt را به وردپرس اضافه میکند، میتواند بصورت دورهای و با توجه به تنظیمات شما، کلیدهای Salt جدید را جایگزین کلیدهای قدیمی کند.
این ویژگی کمک میکند تا هکر ها با نشستهای قدیمی قادر به هک کردن حساب کاربران نباشند و با هر تغییر Salt Key در وبسایت، ساختار کل نسشتها نیز تغییر کند و نشستهای قبلی نیز غیرفعال شوند. توجه داشته باشید که با هر بار تغییر Salt Key کاربران باید دوباره برای ورود به حساب کاربری خود، نام کاربری و کلمه عبور را دوباره وارد کنند تا نشست جدید برای آنها ایجاد شود. بنابراین باید بر اساس نوع کاربرد وبسایت و نیاز به امنیت بیشتر، مشخص کنید که پس از چه مدتی کلیدهای Salt بازنویسی و جدید شوند.
کار با افزونه All in One Security
برای کار با افزونه AIOS ابتدا باید آن را از مخزن وردپرس نصب و فعال کنید. در ادامه همزمان که چک لیست امنیتی را بررسی میکنیم، به بررسی افزونه AIOS نیز خواهیم پرداخت. برای دسترسی به داشبورد افزونه AIOS میتوانید از منوی "امنیت کامل وردپرس" گزینه "داشبورد" را انتخاب کنید.
در این صفحه گزارش امنیت در افزونه AIOS را خواهید دید. توجه داشته باشید که در کادر "Security Strength Meter" با توجه به اینکه برای برخی از گزینههای امنیتی از افزونههای دیگری استفاده میکنیم، امتیاز 390 از 525 ، امتیاز بسیار خوبی است.
تنظیمات پایهای افزونه All In One Security
این بخش مربوط به تنظیمات اولیه فعال سازی بخشهای کلی افزونه است و شامل تنظیمات اساسی نمیشود.
تنظیمات عمومی AIOS در سربرگ General Settings
غیرفعال کردن ویژگیهای امنیتی
در صورتی که هر یک از تغییرات در تنظیمات امنیتی افزونه AIOS باعث اختلال در عملکرد افزونههای دیگر شده باشد و منشع آن مشخص نیست، میتوانید در کادر "Disable Security Feature" با کلیک بر روی دکمه "Disable All Security Feature" همه ویژگیهای امنیتی AIOS را غیرفعال کنید و سپس با تست گزینههای بخشهای امنیتی افزونه، اختلال را پیدا کنید.
غیرفعال کردن دیوار آتشین فایروال
تنظیمات دیوار آتشین، در انتهای فایل .htaccess ذخیره میشوند. اگر دستورات دیوار آتشین در فایل .htaccess وبسایت شما را دچار مشکلاتی کرده باشد، میتوانید با کلیک بر روی دکمه "Disable All Firewall Rules" در همین کادر تمامی این دستورات فایروال را از این فایل حذف و غیرفعال کنید.
بازنشانی تنظیمات
همانطور که در پاراگرافهای بالا نیز اشاره شد، گاهی بعضی از افزونهها مانند 2Factor و یا Cookie Based Brute Force Prevention در AIOS عملکرد خوبی ندارند و ممکن است در صفحه ورود نیز اختلال ایجاد کنند. در این حالت ممکن است برخی امکانات وردپرس نیز قفل شوند و امکان تنظیم مجدد AIOS نیز بصورت عادی وجود نداشته باشد. از این رو میتوانید با کلیک بر روی "بازنشانی تنظیمات" در همین کادر، تمامی تنظیمات AIOS را بصورت بکجا به حالت اول و غیرفعال درآورید.
فعال کردن حالت اشکال زدایی
زمانی که شما درحال توسعه و یا عیبیابی وردپرس هستید، ممکن است به گزارش عملکرد AIOS نیاز داشته باشید و یا برخی امکانات را در این افزونه به حالت تعلیق درآورید. برای این منظور کافی است در کادر "Debug Settings" گزینه "Enable Debug" را فعال کنید و بر روی دکمه "Save Debug Settings" کلیک کنید تا حالت Debug فعال شود. توجه داشته باشید، پس از اینکه کار توسعه و یا اشکال زدایی وردپرس به پایان رسید، این گزینه را دوباره غیرفعال کنید تا در عملکرد امنیتی افزونه مشکلی رخ ندهد.
پشتیبان گیری از فایل .htaccess
فایل .htaccess یکی از مهمترین فایلهای وردپرس است. این فایل نه تنها تنظیمات حیاتی وردپرس را در خود جای داده، بلکه تنظیمات امنیتی دیوار آتشین فایروال و تنظیمات سرور را نیز در این فایل قرار دارند. بنابراین مهم است که از این فایل نیز مراقبت و پشتیبان گیری شود. سربرگ "فایل .htaccess" برای تهیه نسخه پشتیبان از این فایل و یا بازگردانی نسخه پشتیبان در سرور کاربرد دارد. برای تهیه نسخه پشتبان از فایل .htaccess در کادر "ذخیره فایل .htaccess کنونی" بر روی دکمه "Backup .htaccess File" کلیک کنید تا این فایل بر روی سیستم شما دانلود شود. همچنین برای بازگردانی فایل پشتیبان نیز میتوانید در همین کادر با کلیک بر روی دکمه "Select Your htaccess File" فایل پشتیبان را از سیستم خود انتخاب کنید و بر روی دکمه "Restore .htaccess File" کلیک کنید تا این فایل جایگزین فایل کنونی شود.
پشتیبان گیری از فایل wp-config.php
فایل wp-config.php تنظیمات و پیکربندی پایهای وردپرس را در خود ذخیره میکند. این تنظیمات، اطلاعات اتصال به پایگاه داده و برخی از پیکربندیهای امنیتی را شامل میشود. این فایل نیز یکی از فایلهای کلیدی است که باید از آن به خوبی محافظت شود. از این فایل نیز میتوان نسخه پشتیبان تهیه کرد تا در مواقع ضروری از آن برای بازگردانی پیکربندی وردپرس استفاده کرد. برای تهیه نسخه پشتیبان از فایل wp-config.php میتوانید در کادر "ذخیره فایل wp-config.php کنونی" بر روی دکمه "Backup wp-config.php File" کلیک کنید تا یک یک نسخه از این فایل بر روی کامپیوتر شما دانلود شود. برای بازگردانی مجدد این فایل میتوانید از کادر "بازگردانی از یک فایل پشتیبان wp-config.php" با کلیک بر روی دکمه "Select Your hwp-config.php File" این فایل را از سیستم خود انتخاب کنید و بر روی دکمه "Restore wp-config.php File" کلیک کنید تا این فایل جایگزین فایل کنونی شود.
نکته : بهتر است پشتیبان گیری از فایلهای مهم مانند .htaccess و wp-config.php را به بعد از پیکربندی کامل امنیتی وردپرس انجام دهید تا ابتدا تنظیمات امنیتی در این دو فایل ذخیره شوند.
تنظیمات احراز هویت دو عاملی
اگر بخواهید از احراز هویت دو عاملی در افزونه AIOS استفاده کنید، میتوانید تنظیمات آن را در این سربرگ انجام دهید. این تنظیمات زمانی کاربرد دارند که شما از بخش احراز هویت دو عاملی نرمافزار Google Authenticator را فعال کرده باشید. همچنان توصیه میشود از احراز هویت دو عاملی پیشفرض در AIOS استفاده نکنید و به جای آن افزونه Two Factor نصب. در این سربرگ در بخش "احراز هویت دو عاملی - تنظیمات مدیریت" میتوانید نقش افرادی که از این ویژگی استفاده میکنند را مشخص کنید. در بخش "درخواست های XMLRPC" میتوانید احراز هویت دو عاملی را برای ویژگی "XMLRPC" فراهم کنید که البته بهتر است "XMLRPC" بطور کلی مسدود شود تا راه نفوذ هکرها بسته باشد. در بخش "الگوریتم پیشفرض" میتوانید مشخص کنید که احراز هویت احراز هویت بر چه اساسی فعال باشد. در آخر بر روی دکمه "ذخیره تنظیمات" کلیک کنید تا تغییرات شما اعمال شوند.
استفاده از نام کاربر امن برای حساب کاربری مدیریت (عدم استفاده از نام کاربری admin)
کشف نام کاربری پنل مدیریت، به معنای این است که 50 درصد راه برای هک کردن پنل مدیریت باز است و هکر زحمت پیدا کردن نام کاربری مدیریت را به خود نمیدهد. در واقع هکرها ابتدا عبارات ناامن را برای ورود غیرمجاز آزمایش میکنند. استفاده از نام کاربری مشخص، باعث میشود تا هکرها زمان کافی برای پیدا کردن کلمه عبور و یا دور زدن فرم ورود را نیز داشته باشند. بنابراین هوشمندانه این است که از نامها کاربری ناامن مانند admin ، administrator ، modir و یا موارد مشابه برای مدیریت اصلی استفاده نکنید.
برای بررسی نام کاربری از نظر امنیت، میتوانید از از منوی "امنیت کامل وردپرس" گزینه "User Accounts" را کلیک کنید و در صفحه بعد در سربرگ "WP Username" وضعیت بهینه سازی نام کاربری مدیران وبسایت خود را مشاهده کنید. در صورتی که از نام کاربری ناامن استفاده کرده باشید، میبایست آن را تغییر دهید. از طرفی هکرها به امید یکی بودن نام نمایشی با نام کاربری آن را در فیلد نام کاربری تست میکنند. از این رو نام کاربری و نام نمایشی شما نباید یکسان و یا مشابه هم باشند؛ چرا که نام نمایشی دائماً در بخشهای مختلف مانند نام نویسنده مقاله و یا نویسنده دیدگاه، در وبسایت به کاربران نمایش داده میشود.
استفاده از کلمه عبور قدرتمند
یکی از روشهای قدیمی کشف کلمه عبور، آزمایش عبارات ساده و دم دستی است که کاربران در گذشته استفاده زیاد استفاده میکردند. برای مثال کلمه عبور "123456789" یا "11122233" یا "987654321" و موارد مشابه، مانند این است که کلید خانه را زیر پادری پنهان کرده باشید. طبیعی است که یک دزد ابتدا اطراف در ورود، مثل داخل گلدان، جاکفشی و زیر پادری را جستجو میکند. امروزه به لطف ابزارهایی مثل Password Generator و گزینه Strong Password در مرورگرها، میتوان تنها با یک کلید ساده، از پسوردهای قدرتمند استفاده کرد. حتی با ذخیره این پسوردها در حساب کاربری گوگل و یا فایرفاکس دیگر نیازی به یادآوری آنها هم نیست؛ مخصوصاً اگر از کلمه عبور درهم ریخته استفاده کرده باشید. در انتخاب کلمه عبور، قائده کلی این است که کلمه عبور باید ترکیبی از حروف و اعداد بزرگ و کوچک و همینطور کاراکترهای ویژه مانند @ $ & % * ^ ! ~ باشد و تعداد آنها نباید کمتر از 12 کاراکتر باشد.
برای بررسی امنیت کلمه عبور میتوانید از ابزار تست کلمه عبور در افزونه AIOS استفاده کنید. برای این منظور از منوی "امنیت کامل وردپرس" گزینه "User Accounts" را کلیک کنید و در صفحه بعد وارد سربرگ "کلمه عبور" شوید. در این صفحه کلمه عبور مورد نظر خود را وارد کنید تا این ابزار به شما بگوید که امنیت آن در چه حدی است. اگر فقط از حروف یا فقط از اعداد استفاده کنید، این کلمه عبور میتواند در کمتر از یک ساعت حدس زده شود. اما اگر از حروف، اعداد و کاراکترهای ویژه بطور همزمان استفاده کرده باشید، سالها طول میکشد تا کلمه عبور حدس زده شود و در واقع عملاً امکان تست میلیاردها کلمه عبور برای بدست آوردن کلمه عبور شما نیست و درجه قدرت گذرواژه بر روی آخرین حد سبز رنگ قرار میگیرد.
پیشگیری از حملات بوت فورث
رباتهایی که با هدف هک کردن فرم ورود وبسایت شما را کاوش و تست میکنند، باید برای تست عبارات خود فیلدهای فرم ورود مانند نام کاربری و کلمه عبور را شناسایی کنند. حالا اگر یک فیلد مخفی دیگر هم وجود داشته باشد که لازمه استفاده از فرم ورود شود، رباتها دیگر قادر به وارد کردن اطلاعات این فیلد نیستند و نمیتوانند وارد پنل مدیریت شوند. این فیلد مخفی با هر بار لود شدن صفحه ورود، اطلاعات به همریخته جدیدی در خود دارد و مانند یک کلید Hash Salt برای فرم عمل میکند. به این فیلد مخفی ظرف عسل نیز گفته میشود. برای حملات بوت فورث در افزونه AIOS ابزارهایی در نظر گرفته شده است که در ادامه به بررسی آنها خواهیم پرداخت.
تنظیمات بورت فورث در AIOS
از منوی "امنیت کامل وردپرس" وارد صفحه "تنظیمات بورت فورث" شوید. در این صفحه 5 سربرگ وجود دارد که شامل موارد زیر میشوند :
تغییر مسیر آدرس پنل مدیریت در سربرگ Rename Login Page
صفحه ورود مدیریت، جایی نیست که کاربران عادی اجازه ورود به آن را داشته باشند و عملاً لزومی هم ندارد. برای ورود کاربران عادی، میتوان از افزونههای پنل کاربری مانند User Pro استفاده کرد. بعلاوه اگر از افزونه Woocommerce استفاده میکنید، این افزونه در خود یک صفحه ثبت نام و ورود را تعبیه کرده است. در وردپرس بطور معمول صفحه فرم ورود ادمین با وارد کردن عبارت wp-admin در نوار آدرس مرورگر، نمایش داده میشود. همچنین از آنجا همه میدانند صفحه ورود مدیریت از آدرس wp-admin در دسترس است، این صفحه میتواند براحتی در دسترس هکرها قرار بگیرد. بنابراین بهتر است این مسیر به یک مسیر غیر مشخص و امنتر تغییر کند تا هکرها نتوانند پنل مدیریت را براحتی کشف کنند. این خود میتواند مانع بزرگی برای شروع عملیات آزمون و خطای هکرها باشد.
برای این منظور میتوانید در سربرگ Rename Login Page اقدام به تغییر آدرس صفحه ورود مدیریت کنید. کافی است گزینه "Enable Rename Login Page Feature" را فعال کنید و در فیلد "Login Page URL" یک آدرس جدید برای صفحه ورود مدیریت انتخاب کنید. در آخر بر روی دکمه "ذخیره تنظیمات" کلیک کنید تا آدرس جدید ذخیره شود. البته آدرس پنل وردپرس همچنان wp-admin خواهد بود، اما تا قبل از ورود به آدرس جدید شما، آدرس wp-admin در دسترس نیست. برای مثال اگر عبارت "next-dash" را وارد کنید، از این پس آدرس صفحه ورود به پنل مدیریت از این پس "https://example.com/next-dash" خواهد بود. حتی برای امنیت بیشتر میتوانید از حروف و اعداد بهمریخته مانند "https://example.com/7e52sdcr8786" استفاده کنید تا آدرس پنل مدیریت خود مانند یک کلمه عبور مجزا عمل کند.
استفاده از کوکی امنیتی در سربرگ Cookie Based Brute Force Prevention
این ویژگی در افزونه AIOS امکانان ردیابی پنل مدیریت را به صفر میرساند. با فعال کردن گزینه "Enable brute force attack prevention" یک کوکی به وردپرس افزوده میشود که برای شناسایی کاربر مدیر کاربرد دارد. در واقع اگر کاربر مدیر بخواهد وار صفحه پنل مدیریت شود، ابتدا باید توسط یک آدرس، کوکی امنیتی را ایجاد کند تا AIOS از ورود کاربر مدیر مطمئن شود و سپس اجازه نمایش صفحه ورود به پنل مدیریت را نمایش دهد. بدین ترتیب در صورتی که کاربر مستقیم وارد صفحه ورود به پنل مدیریت شود، بصورت خودکار به صفحه دیگری منتقل میشود که میتوانید در تنظیمات این سربرگ مشخص کنید. در فیلد "Secret Word" عبارت امنیتی را وارد کنید که با آن کوکی امنیتی ساخته میشود. این عبارت به آدرس اصلی سایت میپسبد و با وارد کردن این آدرس در مرورگر، کوکی امنیتی را ایجاد میکند. برای مثال اگر عبارت امنیتی را "xyzrtxsot" انتخاب کنید، آدرس امنیتی برای ایجاد کوکی امنیتی مانند عبارت زیر خواهد بود :
example.com/?xyzrtxsot=1
همانطور که در این مثال میبینید، پس از آدرس اصلی یک علامت اسلش / و پس از آن علامت سوال ؟ قرار میگیرید و سپس عبارت امنیتی مورد نظر شما به همراه علامت مساوی = که در جلوی آن عدد 1 قرار دارد. با این آدرس امینتی به صفحه فرم ورود به پنل مدیریت هدایت خواهید شد. در فیلد "آدرس تغییر مسیر (Re-direct URL)" میتوانید یک آدرس به صفحه دیگر را مشخص کنید تا اگر کاربران غیر از مدیران اصلی، وارد آن شوند. این صحه را میتوانید در برگهها بسازید و مثلاً در آن بنویسید که "ورود شما به این بخش ممنوع میباشد" و یا در یک عمل خلاقانهتر میتوانید آدرس سایت پلیس فتا را وارد کنید تا اگر کاربران غیرمجاز قصد ورود به صفحه پنل مدیریت را داشتند، به وبسایت پلیس فتا منتقل شوند.
در صورتی که برای صفحات و پستهای خود از کلمه عبور استفاده میکنید، بهتر است گزینه "My site has posts or pages which are password protected" را فعال کنید. همچنین اگر قالب وبسایت شما از تکنیک AJAX در صفحات استفاده میکند گزینه "My site has a theme or plugins which use AJAX" نیز فعال کنید. فعال کردن این دو گزینه باعث میشود تا جلوی اختلال در افزونهها برای کوکی امنیتی گرفته شود. در آخر به این نکته نیز توجه کنید که اگر از گزینه "Rename Login Page" استفاده میکنید، از این سربرگ استفاده نکنید و گزینه "Enable brute force attack prevention" را فعال نکنید؛ زیرا باعث اختلال در کار افزونه خواهد شد و ورود به صفحه مدیریت بطور کلی دچار مشکل میشود.
استفاده از کپچا برای جلوگیری از نفوذ رباتها در سربرگ Login Captcha
کپچا در واقع یک فرم است که فقط انسانها قادر به درک آن هستند و رباتهایی که با عبارات از قبل آماده شده و تکراری فرم ورود را آزمایش میکنند، قادر به حل مسئله کپچا نیستند. بنابراین فرم کپچا برای تمامی فرمهای ورود ضروری است. در افزونه AIOS دو حالت کپچای ریاضی و کپچای گوگل تعبیه شده است؛ اما نمیتوان از هر دوی آنها بصورت همزمان استفاده کرد. از طرفی کپچای گوگل در افزونه AIOS تنها در فرم ورود و ثبت نام قرار دارد و نمیتوان در فرمهای دیگر از آن استفاده کرد. بنابراین توصیه میشود برای استفاده از هر دو کپچا، کپچای ریاضی را در افزونه AIOS فعال کنید و برای استفاده از کپچای غیردیداری گوگل از افزونه Invisible reCaptcha استفاده کنید.
برای فعالسازی کپچای ریاضی در AIOS ابتدا وارد سربرگ "Login Captcha" شوید و سپس مراحل زیر را دنبال کنید:
کادر "Google reCAPTCHA Settings" : این کادر مربوط به کپچای گوگل میشود. در صورتی که گزینه "Use Google reCAPTCHA as default" را فعال کنید، کپچای گوگل برای فرمهای وردپرس مانند فرم ورود و ثبت نام و... فعال میشود. اما توجه داشته باشید که برای فعالیت کپچای گوگل، نیاز است تا کلید "Site Key" و کلید امنیتی "Secret Key" را از پنل توسعه دهنده "reCAPTCHA" دریافت کنید و در این فیلدها وارد کنید. درغیر این صورت کپچای گوگل کار نخواهد کرد. در صورتی که گزینه "Use Google reCAPTCHA as default" را فعال نکنید، افزونه AIOS بصورت پیشفرض از کپچای زیاضی داخلی خود استفاده میکند و یک فیلد برای حل کردن جمع و تفریق، ضرب و تقسیم به فرمهای ورود و ثبت نام به عنوان کپچا اضافه میکند.
نکته : پیشنهاد میشود به جای فعال کردن "Google reCAPTCHA" از افزونه "Invisible reCaptcha" استفاده کنید تا بصورت همزمان از کپچای ریاضی و کپچای گوگل در همه فرمهای وردپرس استفاده شود. علاوه بر اینکه افزونه "Invisible reCaptcha" میتواند کپچای غیردیداری را در فرمهای Gravity Forms و فرم دیدگاهها اضافه کند. با اینحال تصمیم با شماست.
کادر "Login Form Captcha Settings" : با فعال کردن گزینه "Enable Captcha On Login Page"، فیلد کپچا در فرم "ورود" اضافه میشود.
کادر "Lost Password Form Captcha Settings" : با فعال کردن گزینه "Enable Captcha On Lost Password Page"، فیلد کپچا در فرم "بازیابی کلمه عبور" اضافه میشود.
کادر "Custom Login Form Captcha Settings" : با فعال کردن گزینه "Enable Captcha On Custom Login Form"، فیلد کپچا در تمامی فرمهای "ورود" اضافه میشود.
- کادر "Woocommerce Forms Captcha Settings" : این گزینه برای تنظیمات کپچا در فرمهای ووکامرس کاربرد دارد.
- با فعال کردن گزینه "Enable Captcha On Woocommerce Login Form"، فیلد کپچا در فرم "ورود" ووکامرس اضافه میشود.
- با فعال کردن گزینه "Enable Captcha On Woocommerce Lost Password Form"، فیلد کپچا در فرم "بازیابی کلمه عبور" ووکامرس اضافه میشود.
- با فعال کردن گزینه "Enable Captcha On Woocommerce Lost Password Form"، فیلد کپچا در فرم "بازیابی کلمه عبور" ووکامرس اضافه میشود.
- با فعال کردن گزینه "Enable Captcha On Woocommerce Registration Form"، فیلد کپچا در فرم "ثبت نام" ووکامرس اضافه میشود.
استفاده از لیست سفید در سربرگ Login Whitelist
به کمک لیست سفید میتوانید مشخص کنید که به کدام یک از آدرس IP ها صفحه فرم ورود به پنل مدیریت وردپرس نمایش داده شود. بدین صورت، حتی اگر کاربران غیرمجاز از تمامی سدها گذر کنند، اگر آدرس IP آنها در لیست سفید نباشد، نمیتوانند صفحه فرم ورود به پنل مدیریت وردپرس را مشاهده کنند. برای فعال کردن این ویژگی ابتدا گزینه "Enable IP Whitelisting" را فعال کنید و سپس در کادر متنی "Enter Whitelisted IP Addresses" لیست آدرس IP های مجاز را خط به خط وارد کنید. در آخر بر روی دکمه "ذخیره تنظیمات" کلیک کنید تا تغییرات اعمال شوند.
افزودن فیلد گمراه کننده در فرم ورود، در سربرگ ظرف عسل (Honeypot)
در این سربرگ با فعال کردن گزینه "Enable Honeypot On Login Page"، به فرم ورود یک فیلد مخفی اضافه میشود که رباتهای اسپم انتظار آن را ندارند و نمیتوانند آن را پر کنند. همچنین اطلاعات این فیلد مانند یک کپچای مخفی، دائماً بصورت تصادفی و رندم تغییر میکند. از این رو عملاً پر کردن آن غیر ممکن است. مگر اینکه کاربر واقعی فرم ورود اصلی را پر کند.
تغییر پیشوند جدولهای پایگاه داده
یکی از راههای نفوذ به CMS ، تزریق کدهای SQL است. اما این در صورتی امکانپذیر است که هکر بداند نام اصلی جدولها چیست. بطور معمول جداول وردپرس با پیشوند _wp شروع میشود و این نام گذاری ادامه آن هم که مشخص است. بنابراین هکرها تنها با استفاده از این پیشوند میتوانند به جداول وردپرس دسترسی داشته باشند. بنابراین هرگز نباید پیشوند نام جداول وردپرس را بر روی _wp تنظیم کنید. اگر حین نصب وردپرس این پیشوند را برای جداول دیتابیس انتخاب کردهاید، بهتر است آن با به یک عبارت به هم ریخته جایگزین کنید.
برای تغییر پیشوند جدولها در دیتابیس، از منوی "امنیت کامل وردپرس" گزینه "امنیت پایگاه داده" را انتخاب کنید. در این صفحه و در سربرگ "پیشوند پایگاه داده"، در کادر "گزینههای پیشوند پایگاه داده" پیشوند فعلی نمایش داده میشود که معمولاً "_wp" است. مگر اینکه در حین نصب وردپرس آن را تغییر داده باشید. برای تغییر پیشوند دیتابیس دو راهکار وجود دارد. راهکار اول این است که گزینه "پیشوند تصادفی 6 کاراکتری" را فعال کنید و راهکار دوم این است که در فیلد ورودی یک پیشوند به انتخاب خودتان وارد کنید. در آخر نیز بر روی دکمه "تغییر پیشوند پایگاه داده" کلیک کنید تا تغییرات اعمال شوند.
جلوگیری از دسترسی به ویرایشگر کدهای قالب و افزونه
فرض کنید که در وبسایت شما چندین نویسنده دارید که به پنل مدیریت دسترسی دارند. این افراد غیر حرفهای هستند و هیچ درکی از مسائل فنی وبسایتها ندارند. بنابراین آنها نباید به بخشهای حساس وردپرس مانند ویرایشگر کدهای قالب و افزونهها دسترسی داشته باشند؛ چرا که امکان دارد با تغییر سهوی بخشی از کدها، باعث آسیبهای شدید به وبسایت شوند. برای جلوگیری از دسترسی کاربران غیرحرفهای و نویسندهها به ویرایشگر کدها، میتوانید دستور زیر را به فایل wp-config.php اضافه کنید :
define( 'DISALLOW_FILE_EDIT', true );
define( 'DISALLOW_FILE_MODS', true );
جلوگیری از ایجاد کاربر اسپم
متأسفانه در فضای اینترنت رباتهایی وجود دارند که با اهداف مخرب، اقدام به ایجاد کاربران غیرواقعی در وبسایتهای وردپرسی میکنند. برای جلوگیری از ثبت این کاربران غیرواقعی، دو راهکار وجود دارد. برای جلوگیری از این مشکل دو راه حل وجود دارد. راه حل اول این است که اگر وبسایت شما نیاز به ثبت نام کاربران ندارد، بطور کلی امکان ثبت نام کاربران را از تنظیمات وردپرس غیرفعال کنید. برای این منظور از منوی تنظیمات، گزینه عمومی را انتخاب کنید. سپس در این صفحه گزینه "عضویت - هر کسی میتواند نامنویسی کند" را غیرفعال کنید.
راهکار دوم استفاده از نرمافزار امنیتی AIOS است. برای این منظور از منوی "امنیت کامل وردپرس - AIOS" وارد صفحه "User Registeration" شوید. در این صفحه در سربرگ "Manual Approval" میتوانید گزینه "فعالسازی تأیید دستی برای نامنویسیهای تازه" را فعال کنید.
گزینه "Registration Captcha" باعث میشود فیلد کپچای ریاضی AIOS به فرم ثبت نام اضافه شود تا رباتها قادر به پر کردن همه فرم نباشند. کپچای گوگل نیز با افزونه "Invisible reCaptcha for WordPress" اضافه میشود.
در سربرگ "Registeration Honeypot" با فعال کردن گزینه "Enable Honeypot On Registration Page" فیلد مخفی در فرم ایجاد میشود تا فرم وردپرس برای رباتهای جاسوس، نامفهوم باشد.
جلوگیری از ارسال دیدگاه اسپم
ایجاد نظرات اسپم و تبلیغاتی، یکی دیگر از قداماتی از که رباتهای تبلیغاتی برای انتقال کاربران به صفحه تبلیغات انجام میدهند. برای جلوگیری از ارسال نظرات تبلیغاتی و فیک به کمک افزونه AIOS، ابتدا از منوی "امنیت کامل وردپرس" گزینه "Spam Prevention" را انتخاب کنید. در صفحهای که وارد میشوید، 4 سربرگ وجود دارد. در سربرگ "Comment SPAM" گزینههای "Enable Captcha On Comment Forms" و "Block Spambots From Posting Comments" و "Trash spam comments" را فعال کنید. و بر روی دکمه "ذخیره تنظیمات" کلیک کنید.
گزینه "Enable Captcha On Comment Forms" یک کپچا به فرم ارسال نظر اضافه میکند تا رباتها قادر به حل کردن آن نباشند. گزینه "Block Spambots From Posting Comments" میتواند کامنتهای اسپم را تشخیص دهد و از انتشار آنها جلوگیری کند؛ حتی اگر این کامنتها از سوی کاربران واقعی ارسال شده باشند. گزینه "Trash spam comments" کامنتهای اسپم را پس از مدت زمان تعیین شده، به بخش کامنتهای حذف شده منتقل میکند.
وارد سربرگ "Comment Spam IP Monitoring" شوید. در این بخش گزینه "Enable Auto Block of SPAM Comment IPs" را فعال کنید و فیلد "Minimum number of SPAM comments" را بر روی 3 تنظیم کنید و بر روی دکمه "ذخیره تنظیمات" کلیک کنید. با فعال کردن این دو گزینه، در صورتی که از یک آدرس IP 3 بار کامنت اسپم ارسال شود، آن آدرس IP مسدود میشود و دیگر قادر به ارسال نظر نخواهد بود. دو سربرگ دیگر "BodyPress" و "BBPress" مربوط به افزونههای شبکه اجتماعی با همین نام هستند و در صورتی که این افزونهها در وبسایت شما استفاده شده باشد، میتوانید با فعال کردن گزینه "Comment Spam IP Monitoring" در این سربرگها نیز از ارسال نظرات اسپم جلوگیری کنید.
مسدود کردن آدرس IP های مشکوک
اگر شما لیستی از آدرس IP ها را داشته باشید که مشکوک به حمله DDos باشند و یا از مخرب بودن آنها مطمئن باشید، منطقی است که بخواهید آنها را مسدود کنید. برای این منظور نیز در افزونه AIOS ابزار مناسب درنظر گرفته شده است. کافی است از منوی "امنیت کامل وردپرس" گزینه "مدیریت لیست سیاه" را انتخاب کنید. در این صفحه برای فعالسازی لیست سیاه، ابتدا گزینه "Enable IP or User Agent Blacklisting" را فعال کنید و سپس در کادر "Enter IP Addresses" لیست آدرس IP های مشکوک را خط به خط وارد کنید. همچنین در کادر "Enter User Agents" میتوانید مشخص کنید دستگاههایی که از User Agents خاصی استفاده میکنند، اجازه بازدید از وبسایت شما را نداشته باشند. کدهای User Agents مورد نظر خود را خط به خط در این کادر وارد کنید.
تنظیمات دیوار آتشین فایروال (Firewall) در افزونه AIOS
دیوار آتشین در AIOS مجموعهای از دستورالعملها و امکانات برای جلوگیری از اقدامات خرابکارانه هکرها است. برای دسترسی به ابزارهای فایروال میتوانید از منوی "امنیت کامل وردپرس" گزینه "فایروال" را انتخاب کنید تا وارد صفحه تنظیمات آن شوید.
تنظیمات پایه دیوار آتشین در سربرگ Basic Firewall Rules
فعالسازی دیوار آتشین
با فعال کردن گزینه "Enable Basic Firewall Protection" در کادر "Basic Firewall Settings"، تنظیمات امنیتی فایروال که در همه سربرگهای این بخش وجود دارند، فعال میشوند. همچنین میتوانید محدوده جحم فایلهایی که توسط کاربران آپلود میشود را در فیلد "Max File Upload Size (MB)" مشخص کنید. معمولاً بهتر است این اندازه بر روی 10 مگابایت تنظیم باشد.
غیرفعال کردن دسترسی به XMLRPC و Pingback
ویژگی XML Remote Procedure Call به اختصار XMLRPC یک پروتکل مبتنی بر XML بود که در گذشته برای انتشار محتوا در وردپرس از راه دور استفاده میشد. این امکان برای ارسال محتوا در شرایطی که سرعت اینترنت بسیار پایین بود کاربرد داشت. اما کاربرد آن بسیار پایین بود و تبدیل شد به یک حفره امنیتی که هکرها میتوانستند از آن جهت تزریق اسکریپت و SQL استفاده کنند. شما میتوانید در کادر "WordPress XMLRPC & Pingback Vulnerability Protection" با فعال کردن گزینه "Completely Block Access To XMLRPC" پروتکل XMLRPC را غیرفعال کنید.
Pingback نیز در وردپرس سیستمی برای اعلام خودکار به سایر وبلاگها است برای زمانی که شما به یکی از پستهای آنها در وبلاگ خود لینک میدهید. این به طور مشابه با ارسال دیدگاه عمل میکند، اما به جای اینکه در وبسایت شما ظاهر شود، در وبسایت یا وبلاگی که به آن لینک دادهاید نمایش داده میشود. ارسال Pingback توسط XMLRPC نیز امکانپذیر است. از این رو با فعال کردن گزینه "Disable Pingback Functionality From XMLRPC" میتوانید جلوی ارسال Pingback های جعلی را نیز بگیرید.
جلوگیری از دسترسی به فایل debug.log
فایل debug.log در سرور اطلاعات خطاهای وردپرس و کدنویسیهای PHP را در خود ذخیره میکند. این فایل به توسعه دهندگان و وبمسترها کمک میکند تا خطاهای احتمالی را کشف و حفرههای امنیتی را مسدود کنند. اما اگر این فایل در دسترس هکرها باشد، آنها میتوانند نقاط ضعف وبسایت شما را شناسایی و از همان بخش به وبسایت شما حمله کنند. از این رو بسیار مهم است که فایل debug.log در دسترس عموم قرار نگیرد. برای مسدود کردن فایل debug.log در کادر"Block Access to Debug Log File" گزینه "Block Access to debug.log File" را فعال کنید.
تنظیمات پیشرفته فایروال در سربرگ Additional Firewall Rules
مسدود کردن نمایش لیست مسیر فایلها و دایرکتوریها
بصورت پیشفرض اگر کاربری وارد یک مسیر دایرکتوری در هاست شود، لیست فایلها و دایرکتوریهای آن نمایش داده میشوند. در گذشته که وبسایتها استاتیک بودند، نمایش مسیر فایلها و دایرکتوریها حتی یک ویژگی بحساب میآمد که از برنامه نویسیهای سنگین در زمان خود جلوگیری میکرد. اما از زمانی که وبسایتها پویا شدند و قابلیت برنامه نویسی پیدا کردند، نمایش لیست مسیر فایلها و دایرکتوریها در زیرشاخهها میتواند به هکرها کمک کند تا ساختار کدنویسی وبسایت را کشف کنند و حتی به فایلهای حیاتی نیز دسترسی داشته باشند.
بنابراین نمایش لیست مسیر فایلها و دایرکتوریها باید غیرفعال و دسترسی افراد غیرمجاز مسدود شود. در وردپرس بصورت پیشفرض نمایش این مسیرها مسدود است، اما اگر کاربر وارد دایرکتوری شود که وردپرس پیشبینی نکرده باشد، احتمال دارد همچنان لیست مسیر فایلها و دایرکتوریها نمایش داده شود. برای مسدود کردن نمایش مسیرها، 3 راهکار وجود دارد که در ادامه به بررسی همه آنها خواهیم پرداخت :
1. در روش اول کافی است تا در کادر "Listing if Directory Contents" گزینه "Disable Index Views" را فعال کنید. این سادهترین روشی است که میتوانید از آن استفاده کنید.
2. در روش دوم فایل .htaccess را ویرایش کنید و دستور زیر را به آن اضافه کنید :
Options -Indexes
Header always set Content-Disposition "attachment;"
3. در روش سوم میتوانید درون تمامی دایرکتوریها یک فایل متنی خالی با نام index.php اضافه کنید تا با وارد شدن کاربران به مسیرها، صفحه سفید نمایش داده شود.
مسدود کردن ردیابی توسط رباتها و وبسایتهای غیرمجاز
ردیابی و دنبال کردن (Trace and Track) در وب به فرایند جمع آوری اطلاعات مربوط به فعالیت های آنلاین کاربران اشاره دارد. این اطلاعات می تواند شامل ( صفحات وب بازدید شده، جستجوهای انجام شده، لینکها و دکمههایی که کاربر روی آنها کلیک میکند، فعالیت در شبکههای اجتماعی مانند لایک و به اشتراک گذاری مطالب و موقعیت مکانی کاربران ) باشد. این اطلاعات با هدف تبلیغات، نظارت شهروندان، تجزیه و تحلیل وب، توسط دولتها، شبکههای تبلیغاتی و ارائه دهندگان خدمات اینترنت ISP جمعآوری میشوند.
اما این فعالیت میتواند حریم خصوصی کاربران و بویژه وبسایت را نقض کند. اگرچه در ظاهر این اطلاعات خام ممکن است مهم به نظر نرسند، اما با علم داده کاوی میتوان اطلاعات ارزشمندی را بدست آورد که نحوه رفتار کاربران را شناسایی کند. از این رو بهتر است جلوی جمعآوری این اطلاعات گرفته شود. برای این منظور در کادر Trace and Track با فعال کردن گزینه "Disable Trace and Track" میتوان تا حد زیادی جلوی ردیابی اطلاعات را گرفت.
ممنوع کردن ارسال دیدگاه از طریق Proxy
بیشتر رباتهایی که کار ارسال دیدگاه اسپم را انجام میدهند، برای اینکه ردیابی نشود، از تونلهای Proxy برای ارسال دیدگاه استفاده میکنند. بنابراین یکی از راههای جلوگیری ارسال دیدگاه اسپم، میتواند جلوگیری از پروکسیها در ارسال دیدگاه باشد. برای این منظور در کادر "Proxy Comment Posting" گزینه "Forbid Proxy Comment Posting" را فعال کنید.
پیشگیری از حملات XSS
حملات Cross-site Scripting به اختصار XSS به حملاتی گفته میشود که هکر در آن سعی میکند با ارسال درخواستهای Query خرابکارانه مانند کدهای مخرب و یا تزریق SQL ، اقدام به هک کردن و یا آسیب زدن به وبسایت کند. برای جلوگیری از چنین اقداماتی، میتوانید در کادر "Bad Query String" گزینه "Deny Bad Query Strings" را فعال کنید.
جلوگیری از ارسال کاراکترهای خاص
در حملات XSS برای ارسال کدهای اسکریپت مخرب، از کاراکترهای ویژه مثل @ ! % & }{ استفاده میشود. یکی از دیوارهای امنیتی حتی قبل از شناسایی "Bad Query String" این است که جلوی ارسال کاراکترهای ویژه گرفته شود. برای این منظور از کادر "Advanced Character String Filter" گزینه "Enable Advanced Character String Filter" را فعال کنید.
غیرفعال کردن متودهای ارسال داده غیرضروری از سربرگ 6G Blacklist Firewall Rules
وبسایت perishablepress.com بطور خاص در زمینه توسعه ابزارهای امنیتی وردپرس فعالیت میکند. این وبسایت یک لیست سیاه حملات احتمالی هکرها را در اختیار دارد که با عنوان دیوار آتشین 6G Blacklist شناخته میشود. برای این منظور چندین گزینه در سربرگ "6G Blacklist Firewall Rules" وجود دارد که در ادامه آنها را بررسی خواهیم کرد.
فعال کردن دیوار آتشین 6G Blacklist
با فعال کردن گزینه "Enable 6G Firewall Protection" میتوانید این دیوار آتشین را فعال کنید و از لیست سیاه آن در وبسایت خود استفاده کنید. همچنین برای فعال کردن نسخه قبلی آن بهتر است گزینه "Enable legacy 5G Firewall Protection" را نیز فعال کنید و در آخر بر روی دکمه "" کلیک کنید تا فایروالهای "6G Firewall" و "5G Firewall" فعال شوند.
بلاک کردن متودهای غیرضروری ارسال داده
همانطور که میدانید، چندین متود برای ارسال داده در فرم وجود دارد که معروفترین آنها متود Post و Get هستند. وردپرس نیز تنها از همین متودها برای ارسال فرمها استفاده میکند. از این رو لزومی ندارد که متودهای دیگر مانند Put ، Move ، Debug و Track فعال باشند. این متودها میتوانند مانند یک تونل مخفی عمل کنند که هکرها اسکریپتهای مخرب خود را از طریق آنها ارسال کند. بنابراین بهتر است این متودها غیرفعال و بلاک شوند تا ارسال اطلاعات از طریق آنها مسدود شود. برای مسدود کردن این متودهای غیرضروری، در کادر "6G block request methods" گزینههای "Block DEBUG method" ، "Block MOVE method" ، "Block PUT method" و "Block TRACK method" را فعال کنید و بر روی دکمه "Save request methods settings" کلیک کنید تا تنظیمات آن ذخیره شوند.
تنظیمات بیشتر 6G Blacklist
در این کادر تنظیمات بیشتری برای فایروال "6G Blacklist" وجود دارد. گزینه "Block query strings" برای بلاک کردن پرسش و پاسخهای متنی کاربرد دارد که توسط آن کدهای SQL تزریق میشوند. گزینه "Block request strings" برای بلاک کردن درخواستهای متنی کاربرد دارد که توسط آن کدهای اسکریپتی تزریق میشوند. گزینه "Block referrers" برای بلاک کردن ارجاع دهندگان غیرمجاز کاربرد دارد و گزینه "Block user-agents" برای بلاک کردن دستگاههای غیرمجاز با کد "user-agents" ممنوع، کاربرد دارد. بهتر است همه این گزینهها را فعال کرده و سپس بر روی دکمه "Save other settings" کلیک کنید تا تنظیمات این کادر ذخیره شود.
جلوگیری از خزیدن رباتهای خزنده تقلبی از سربرگ Internet Bots
بجز رباتهای خزنده گوگل، رباتهای دیگری نیز درحال خزیدن در وبسایتها و استخراج دادههای مهم هستند. این رباتهای خزنده تقلبی علاوه بر سرقت اطلاعات، میتوانند پهنای باند وبسایت را نیز مصرف کنند. بنابراین بهتر است جلوی این رباتهای خزنده گرفته شود. برای این منظور از سربرگ Internet Bots گزینه "Block Fake Googlebots" را فعال کنید تا جلوی رباتهای تقلبی گرفته شود و تنها رباتهای موتورهای جستجوگر رسمی بتوانند در میان وبسایت شما خزش کنند.
جلوگیری از بارگذاری بدون اجازه محتوای سایت شما، از سربرگ Prevent Hotlinks
پیوند داغ یا Hotlink ها در واقع آدرس محتوای وبسایت شما است. این محتوا میتواند شامل تصاویر، ویدیوها و مواردی از این دست باشند. حال اگر وبسایتهای دیگر بدون اجازه شما محتوای وبسایت شما را در وبسایت خودشان قرار دهند، با هر بار بارگذاری وبسایت آنها، محتوای وبسایت شما نیز بارگیری میشود و عملاً پهنای باند سرور شما را نیز درگیر میکند. برای جلوگیری از بارگذاری بدون اجازه محتوای وبسایت شما در وبسایتهای دیگر، کافی است از سربرگ Prevent Hotlinks گزینه "Prevent Image Hotlinking" را فعال کنید تا از منابع سرور و محتوای وبسایت شما محافظت شود.
تشخیص رهگیری صفحات 404 از سربرگ Detection 404
زمانی که کاربر سعی کند که صفحات مختلف را بدون هدف مرور کند و دائماً به صفحه 404 برسد، احتمالاً یک هکر درحال حمله DDos باشد. اگرچه در مورد همه کاربران چنین نیست اما مرور بی دلیل صفحه 404 نشانه خوبی نیست. خبر خوب این است که میتوان آدرس IP هایی که دائماً وارد صفحه 404 میشوند را شناسایی کرد و در صورت مشکوک بودن این آدرس IP ها، آنها را بلاک کرد و در لیست سیاه قرار داد. برای این منظور از سربرگ Detection 404 گزینه "Enable 404 IP Detection and Lockout" را فعال کنید تا در صورت شنایی آدرس IP مشکوک در صفحه 404 ، این آدرس به مدت زمانی که در فیلد "Time Length of 404 Lockout (min)" مشخص میکنید، قفل شود و کاربر مشکوک در این مدت به آدرس دیگری منتقل شود که میتوانید از فیلد "404 Lockout Redirect URL" آن مشخص کنید.
برای مثال اگر فیلد "Time Length of 404 Lockout (min)" بر روی 60 تنظیم باشد و فیلد "404 Lockout Redirect URL" بر روی آدرس google.com تنظیم شده باشد، کاربر مشکوک به مدت 60 دقیقه نمیتواند از وبسایت شما بازدید کند و بصورت خودکار به آدرس google.com منتقل میشود. همچنین در کادر "Event Logs 404" میتوانید لیست آدرس IP هایی را که بطور مکرر از صفحه 404 بازدید کردهاند را ببینید و در صورتی که به هر کدام از آنها مشکوک هستید، آنها را انتخاب کرده و از منوی آبشازی "Bulk Action" آنها را وارد لیست سیاه کنید تا برای همیشه نتوانند به وبسایت شما دسترسی داشته باشند. همچنین در انتهای همین سربرگ و در کادر "خروجی به CSV" میتوانید لیست آدرس IP های مشکوک را بصورت یک فایل اکسل دانلود کنید و یا در صورتی که نیازی به لیست گزارشات ندارید، با کلیک بر روی دکمه "Delete All 404 Event Logs" میتوانید لیست آدرس IP های گزارش شده را بصورت یکجا حذف کنید و آن را نادیده بگیرید.
ایجاد قوانین سفارشی در htaccess جهت امنیت بیشتر در سربرگ Custom Rules
در صورتی که با زبان وبسرور آشنایی داشته باشید، میتوانید در سربرگ "Custom Rules" تنظیمات بیشتری به فایل htaccess اضافه کنید. برای این منظور از کادر "Custom .htaccess Rules" گزینه "Enable Custom .htaccess Rules" را فعال کنید و کدهای مورد نظر خود را در کادر "Enter Custom .htaccess Rules" اضافه کنید. در صورتی که میخواهید این کدها زودتر از تنظیمات اصلی در فایل .htaccess اجرا شوند، میتوانید گزینه "قوانین سفارشی شده را در بالا قرار بده" را نیز فعال کنید.
تنظیمات امنیتی بیشتر در افزونه AIOS
حفاظت در مقابل کپی مطالب در سربرگ Copy Protection
اگر یک وبسایت علمی داشته باشید و دوست ندارید دیگران مقالات علمی شما را کپی کنند، میتوانید در سربرگ "Copy Protection" با فعال کردن گزینه "Enable Copy Protection" گزینههای راست کلیک، انتخاب متن و گزینه کپی را غیر فعال کنید تا از محتوای وبسایت شما محافظت شود. در انتها برای ذخیره تنظیمات بر روی دکمه "Save Copy Protection Settings" کلیک کنید.
جلوگیری از بارگذاری محتوای سایت از طریق iframe در سربرگ فریم ها
یکی دیگر از مواردی که میتواند منابع وبسایت شما را درگیر کند، استفاده بدون اجازه از وبسایت شما در قالب تگ iframe است. وبسایتهای دیگر به کمک تگ iframe میتوانند بخشی از مطالب شما را در وبسایت خودشان بارگذاری کنند. این کار علاوه بر اینکه محتوای اختصاصی شما را کپی میکند، منابع و پهنای باند سرور شما را نیز درگیر کرده و از سرعت بارگذاری وبسایت شما میکاهد. برای غیرفعال کردن iframe های غیرمجاز، در سربرگ "فریم ها" گزینه "Enable iFrame Protection" را فعال کنید و بر روی دکمه "ذخیره تنظیمات" کلیک کنید تا از وبسایت شما در برابر تگ iframe محافظت شود.
جلوگیری از نمایش ID کاربران در سربرگ Users Enumeration
شماره ID کاربران از آن دست اطلاعاتی است که میتواند به هکرها در استخراج اطلاعات از جدولهای پایگاه داده، کمک کند. وردپرس بطور پیشفرص در صفحات پروفایل کاربران، این شماره ID را نمایش میدهد. امروزه نمایش ID کاربران مرسوم نیست و کاربران با نام کاربری شناخته میشوند و این روش میتواند به امنیت اطلاعات کاربران کمک بزرگی کند. برای متوقف کردن نمایش شماره ID کاربران، از سربرگ Users Enumeration گزینه "Disable Users Enumeration" را فعال کنید و بر روی دکمه "ذخیره تنظیمات" کلیک کنید.
مسدود کردن WP Rest API
ویژگی WP Rest API این امکان را میدهد تا بین وردپرس و اپلیکیشنهای آن تبادل اطلاعات صورت گیرد. برای مثال یک اپلیکیشن فروشگاهی در وردپرس از توابیع WP Rest API برای نمایش اطلاعات و تصاویر در اپلیکیشن استفاده میکند. حال اگر وبسایت شما اپلیکیشن نداشته باشد، بهتر است WP Rest API غیرفعال شود تا از استفاده آن توسط اپلیکیشنهای غیرمجاز، جلوگیری شود. برای این منظور در سربرگ WP Rest API گزینه "Disallow Unauthorized REST Requests" را فعال کنید. توجه داشته باشید اگر وبسایت شما دارای اپلیکیشن مجزا است، این گزینه را فعال نکنید، زیرا ارتباط اپلیکیشن با وردپرس قطع میشود.
جلوگیری از حمله Click Jacking
حمله Click jacking (همچنین با نام حمله UI Redressing شناخته میشود) یک تکنیک فریبکارانه است که در آن مهاجم کاربر را برای کلیک بر روی یک عنصر (Element) نامرئی یا پنهان در یک صفحه وب فریب میدهد. قربانی فکر میکند روی یک دکمه یا لینک قابل مشاهده کلیک میکند، در حالی که در واقع روی یک عنصر مخفی که یک عمل مخرب را انجام میدهد، کلیک کرده است. این نوع از حمله میتواند با هدف سرقت اطلاعات، دانلود بدافزار بر روی کامپیوتر قربانی و یا اقدامات خرابکارانه دیگر صورت میگیرد؛ حتی میتواند کاربر را به یک درگاه پرداخت تقلبی جهت سرقت اطلاعات و حمله فیشینگ هدایت کند.
این حمله به این شکل است که هکر با ایجاد یک لایه شفاف بر روی لایه اصلی صفحه وب ایجاد میکند و در حالی که کاربر قصد کلیک بر روی یک لینک واقعی را دارد، اما در اصل بر روی لایه کلیک میکند که به یک بدافزار لینک شده است. هکرها میتوانند این حمله را به شکلهای دیگر در وبسایت ما نیز اعمال کنند. برای مثال یک دیدگاه با یک لینک مخرب ارسال کنند و یا درون دیدگاه کدهای مخرب برای ایجاد لایه Click jacking ارسال کنند. ما به عنوان وبمستر وبسایت، باید این حمله را شنایایی کنیم و جلوی تغییرات کدنویسی در صفحات وب را بگیریم. برای این منظور فایل .htaccess را ویرایش کنید و دستور زیر را به آن اضافه کنید :
فعالسازی در Nginx
add_header X-Frame-Options "sameorigin" always;
فعالسازی در Apache
header always set X-Frame-Options "sameorigin"
IIS در فایل Web.config
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="sameorigin" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
پیشگیری از حملات Man In The Middle Attack (حمله مرد میانی) - MITMA و پیکربندی گواهینامه SSL
در این نوع از حمله، هکر سعی میکند تا راهی برای شنود اطلاعات پیدا کند و دادههای مهم را بین شبکه و در میان راه استخراج کند. حمله مرد میانی زمانی کاربرد دارد که هکر نمیتواند بطور مستقیم به اطلاعات مهم وبسایت و دیتابیس دسترسی داشته باشد. البته این حمله تنها تا سالهای 2016 کاربرد داشت که هنوز پروتکل امنیتی https برای وبسایتها اجباری نشده بود و خیلی از وبسایتها همچنان از پروتکل ناامن http استفاده میکردند.
پروتکل https از یک رمزنگاری بر اساس گواهینامه SSL ، دادهها را رمزنگاری میکند و در صورتی که هکرها بتوانند از پروتکلهای امنیتی بگذرند و اطلاعات را شنود کنند، نمیتوانند رمزنگاری اطلاعات را بشکنند و به محتوای آن دسترسی داشته باشد. درحالی که پروتکل http از تونل TLS استفاده میکرد که اطلاعات را بدون رمزنگاری و کاملاً واضح از شبکه عبور میداد و در صورتی که هکرها به کانال TLS دست پیدا میکردند، به راحتی میتوانستند یک کپی از تمامی اطلاعاتی که بین سروس و کامپیوتر کاربر منتقل میشود، دسترسی داشته باشند. لازم به گفتن نیست که اطلاعات شخصی کاربران بسیار مهم است.
امروزه تمامی هاستینگها به همراه هاست و دامنه، یک گواهینامه امنیتی سه ماهه SSL هم به مشتریان خود ارائه میکنند. همچنین به کمک سرویسهای رایگان Let's Encrypt میتوان گواهینامه SSL رایگان سه ماهه دریافت کرد. اما این گواهینامه رایگان، از کلیدهای عمومی برای رمزنگاری استفاده میکند و از این جهت ممکن است امنیت پایینتری نسبت به گواهینامههای Premium داشته باشد. بنابراین بهتر است از گواهینامه اختصاصی و بلندمدت برای امنیت بیشتر و اعتبار وبسایت خود استفاده کنید. علاوه براینکه موتورهای جستجو مانند گوگل نیز اعتبار بیشتری برای گواهینامههای بلند مدت Premium قائل هستند. بنابراین میتوان گفت که گواهینامه SSL بلند مدت Premium بر افزایش رتبه SEO نیز تأثیر مثت میگذارد. در مورد گواهینامه SSL و نحوه نصب و راهاندازی آن بطور کامل در مقاله "SSL چیست" توضیح داده شده است.
بررسی امنیت پروتکل https با افزونه Really Simple SSL
همانطور که در پاراگراف بالا نیز گفته شد، افزونه Really Simple SSL کمک میکند تا امنیت لینکهای درون وبسایت بررسی شوند تا از وجود گواهینامه SSL و استفاده از پروتکل https در آنها اطمینان حاصل شود. استفاده از این افزونه بسیار ساده است. افزونه را از مخزن وردپرس نصب کنید و سپس برای پیکربندی آن کافی است در پنل مدیریت، از منوی "تنظیمات" وارد صفحه "SSL و امنیت" شوید و سپس مراحل زیر را دنبال کنید :
ابتدا بر روی دکمه "SSL را فعال کنید" کلیک کنید تا فرایند بررسی و اسکن SSL فعال شود. در کادری که باز میشود، بر روی دکمه "SSL را فعال کنید" کلیک کنید.
در کادر بعدی گزینههای امنیتی نمایش داده میشوند که همه باید فعال باشند. سپس بر روی دکمه "فعال کردن" کلیک کنید.
در کادر بعد تنظیم اعلانات بروزرسانی افزونه و فیلد ورودی ایمیل برای دریافت اخبار افزونه قرار دارد. در صورت تمایل، ایمیل خود را وارد کنید و بر روی دکمه "ذخیره و ادامه" کلیک کنید و در صورتی که این اعلانات را در ایمیل خود نمیخواهید، بر روی دکمه "رد کردن" کلیک کنید تا وارد مرحله بعد شوید.
در مرحله "Free Plugins" لیست افزونههای پیشنهادی است که میتواند برای امنیت مناسب باشد. از آنجا که ما ترکیبی از بهترین افزونهها را قبلاً نصب کردهایم، نیازی به نصب آنها نیست و بهتر است بر روی دکمه "رد کردن" کلیک کنید.
در مرحله آخر نسخه حرفهای افزونه Really Simple SSL پیشنهاد میشود که البته نیازی به آن نخواهید داست. بر روی دکمه "Finish" کلیک کنید تا روند پیکربندی افزونه کامل شود.
سپس از منوی "تنظیمات" و گزینه "SSL و امنیت" به صفحه افزونه بازگردید. در کادر "پیشرفت شما" میزان امنیت SSL را میبینیدو در صورتی که در این لیست با آیتم "هشدار" مواجه شدید، میتوانید با کلیک بر روی دکمه "مشاهده" آن مورد را بررسی کنید. همچنین در پایین همین کادر میتوانید فعال بودن گزینههای امنیت SSL را با تیک سبز رنگ مشاهده کنید.
جلوگیری از حمله بدافزارها
وبسایتهای زیادی وجود دارند که افزونهها و قالبهای Premium را بصورت رایگان و نال شده و در واقع غیرقانونی در اختیار کاربران قرار میدهند. اما از آنجا که پنیر رایگان تنها در تله موش پیدا میشود، این افزونهها و قالبهای نال شده، دارای بدافزارهای خطرناکی هستند که وبسایت را به مرور دچار مشکلات زیادی میکنند. از جمله این مشکلات میتوان به ریدایرکت شدن خودکار صفحات وبسایت به صفحات تبلیغاتی و سرقت اطلاعات کاربران اشاره کرد. در واقع با نصب این افزونههای نال شده که از وبسایتهای نامعتبر دانلود میکنیم، عملاً با دستان خودمان به بدافزارها اجازه فعالیت در وبسایتمان را دادهایم.
راه حل این است که قالبها و افزونههای خود را از منابع معتبر مانند themeforest و envato برای نسخه اصلی و خارجی و ژاکت و راستچین برای نسخه فارسی شده، تهیه کنیم. اگرچه نسخههای فارسی شده نیز یک کپی از نسخه خارجی هستند، اما به دلیل اعتبار ژاکت و راستچین این وبسایتها و وجود نماد اعتماد در آنها، میتوان از پشتیبانی و کیفیت محصولات آنها مطمئن بود. همچنین خود وردپرس و افزونهها و قالبهای رایگان را نیز باید از وبسایت رسمی آن به آدرس wordpress.org دانلود کنید تا از سلامت آنها مطمئن شوید.
بررسیهای نهایی امنیت وبسایت
بررسی مجدد چک لیست امنیت وردپرس
پس از اینکه افزونههای امنیتی و فایل .htaccess را نصب و پیکربندی کردید، در آخر بهتر است یک بار دیگر تمامی اقدامات امنیتی خود را بررسی کنید تا از تنظیمات امنیتی خود مطمئن شوید.
اسکن کردن فایلها توسط فایروال
در کادر "File Change Detection Settings" با فعال کردن گزینه "Enable Automated File Change Detection Scan" میتوانید اسکن خودکار فایلها را فعال کنید. در بخش "Scan Time Interval" میتوانید مشخص کنید که این اسکن چند روز یکبار انجام شود. در کادر "File Types To Ignore" میتوانید مشخص کنید که کدام تایپ از فایلها اسکن نشوند. برای مثال میتوانید فرمتهای تصویری که از آنها مطمئن هستید را خط به خط در این کادر اضافه کنید. در کادر "Files/Directories To Ignore" میتوانید مسیر فایلها و دایرکتوریهای امن را وارد کنید تا از اسکن آنها اجتناب شود. این کار باعث بهینه سازی پهنای باند پردازنده در اسکن فایلها میشود. در صورتی که گزینه "Send Email When Change Detected" را فعال کنید، در صورت مشاهده تغییرات مشکوک در فایلها، به ایمیلهای مورد نظر شما که در کادر وارد کردهاید، پیام هشدار ارسال میشود. در آخر بر روی دکمه "ذخیره تنظیمات" کلیک کنید تا پیکربندی اسکنر ذخیره شود.
افزونه AIOS میتواند بطور خودکار و روزانه اطلاعات وبسایت را اسک کند. با اینحال در منوی "امنیت کامل وردپرس" و در بخش "اسکنر"، در سربرگ "File Change Detection" و در کادر "Manual File Change Detection Scan" میتوانید با کلیک بر روی گزینه "Perform Scan Now" میتوانید تغییرات فایلها را بررسی کنید و در صورتی که فایل خاصی بدون اطلاع شما دچار تغییر شده باشد، میتوانید آن شناسایی و از نظر امنیت بررسی کنید. همچنین در کادر "View Last Saved File Change Results" میتوانید آخرین تغییرات فایلها و فایلهای اضافه شده را مشاهده کنید. در نسخههای قبلی افزونه AIOS میبایست بصورت دستی اسکن را انجام میدادیم؛ اما در نسخه جدید اسکن بطور روزانه و خودکار انجام میشود. در سربرگ "Malware Scan" توضیحات بیشتری در مورد اسکن خودکار داده شده است.
بررسی و اسکن امنیت وبسایت با ابزارهای آنلاین
پس از اینکه چک لیست امنیت وردپرس را بررسی کردید و اقدامات امنیتی را انجام دادید، وقت آن است که در مرحله آخر، وبسایت خود را با ابزارهای امنیتی آنلاین بررسی کنید. این ابزارها لایهها امنیتی وبسایت شما را بررسی میکنند و در صورتی که مشکلی وجود داشته باشد، آن را به شما گزارش میدهند. کار با این ابزارها آسان است و کافی است آدرس وبسایت خود را در آنها وارد کنید و بر روی دکمه "Scan" کلیک کنید تا اسکن امنیتی وبسایت شما آغاز شود. در ادامه لیستی از سرویسهای رایگان اسکنرهای امنیتی را معرفی خواهیم کرد. بیشتر آنها از سکنرهای قدرتمندی هستند و میتوانید با هرکدام از آنها که راحت بودید، اسکن وبسایت خود را انجام دهید.
-
SUCURI : یکی از محبوبترین نرمافزارهای اسکنر امنیتی است که بصورت رایگان وبسایت شما را از نظر وجود بدافزار، وضعیت لیست سیاه، هرزنامههای تزریقشده و موارد بیشتر، مورد بررسی قرار میدهد.
-
Intruder : این اسکنر زیرساختهای امینتی وبسایت را بررسی میکند و گزینه مناسبی برای اسکن وبسایتهای دولتی و سازمانی است.
-
HostedScan Security : این سرویس مجموعه جامعی از آسیب پذیریهای امنیتی را بررسی میکند که از سمت سرور و شبکه احتمال میرود.
-
Attaxion : این اسکنر بیشتر بر روی امنیت آدرس IP و گواهینامه SSL تمرکز دارد و پیکربندیهای دارای مشکل را شناسایی میکند.
-
Criminal IP : این اسکنر با استخراج دادههای مختلف مانند گزارش شبکه، فناوریهای استفاده شده و اسکن زیردامنهها و گواهینامهها، گزارش کاملی از وضعیت آسیب پذیری و تهدیدات امنیتی ارائه میدهد.
-
Qualys : یکی دیگر از اسکنرهای SSL است که پیکربندی SSL و TLS را بررسی میکند. این اسکنر با بررسی زمان انقضاء و امنیت گواهینامه را بررسی و رتبهبندی میکند.
-
Quttera : این اسکنر فایلهای وبسایت را بررسی میکند و فایلهای مشکوک را به کمک لیست دامنههای بدافزار گوگل و یاندکس شناسایی میکند.
-
UpGuard : یک ابزار ارزیابی ریسکهای خارجی است که اطلاعاتی که در دسترس عموم است را از نظر امنیت و محرمانه بودن رتبهبندی میکند.
-
SiteGuarding : این ابزار به شما کمک میکند تا حفرههای امنیتی که از طریق آنها احتمال حمله XSS وجود دارد، شناسایی کنید.
-
Observatory : یک ابزار کاربردی از سوی بنیاد موزیلا است که عناصر امنیتی مختلف را در برابر تهدیدات امنیتی OWASP بررسی میکند.
-
Web Cookies Scanner : یک ابزار امنیتی رایگان است که برای اسکن آسیب پذیری مربوط به حریم خصوصی در مورد کوکیهای HTTP برنامههای فلش، ذخیره محلی و ذخیره سشنها و آسیب پذیریهای HTML و SSL مناسب است.
-
Detectify : این سرویس توسط هکرهای کلاه سفید پشتیبانی میشود و میتواند بیش از 1500 آسیب پذیری را شناسایی کند.
-
Probely : این اسکنر مانند یک پزشک برای وبسایت شما عمل میکند و میتواند بصورت دورهای راهکارهای امنیتی مناسب را ارائه دهد.
-
Pentest-Tools : این ابزار پکیج کاملی از اسکنرهای امنیتی به شمار میآید و وبسایت شما را چه از نظر سرور و چه از نظر آسیب پذیریهای CMS مورد بررسی قرار میدهد.
-
ImmuniWeb : این اسکنر مناسب اسکن کتابخانههای Front-end و سیستمهای مدیریت محتوای وردپرس و درپال است. میتواند PCI DSS و GDPR را اسکن کند و هیدرهای HTTP را مورد بررسی قرار دهید.
نکات امنیتی که باید رعایت کنید
-
از رمزهای عبور قوی و منحصر به فرد استفاده کنید : رمز عبور شما باید حداقل 12 کاراکتر طول داشته باشد و شامل حروف کوچک، حروف بزرگ، اعداد و علائم باشد. از استفاده از رمزهای عبور مشابه برای حسابهای مختلف خودداری کنید.
-
از احراز هویت دو مرحلهای (2FA) استفاده کنید : 2FA یک لایه امنیتی اضافی به حسابهای شما اضافه میکند. با 2FA، علاوه بر رمز عبور، باید یک کد تأییدیه را نیز که از طریق پیامک یا برنامه احراز هویت ارسال میشود، وارد کنید.
-
نرمافزار خود را بروز نگه دارید : اطمینان حاصل کنید که وردپرس، افزونهها و قالبها بروز هستند. بهروزرسانیها اغلب شامل وصلههایی برای رفع حفرههای امنیتی هستند که میتوانند توسط هکرها برای انجام حملات بروت فورس مورد سوء استفاده قرار گیرند.
-
از افزونهها و قالبهای اصلی استفاده کنید : افزونهها و قالبهای اوریجینال از امنیت بیشتری برخوردار هستند. بعلاوه با تهیه نسخه اصلی از تولید کننده هم حمایت میکنیم و از پشتیبانی آن نیز برخوردار خواهیم شد.
-
از فایروال و آنتی ویروس استفاده کنید : فایروال و آنتی ویروس میتوانند به شما در محافظت از سیستم خود در برابر حملات بروت فورس کمک کنند.
-
محدودیتهای ورود به سیستم را تنظیم کنید : میتوانید تعداد تلاشهای ناموفق برای ورود به سیستم را قبل از قفل شدن حساب کاربری محدود کنید.
-
بصورت هفتگی، وبسایت خود را اسکن کنید : ممکن از طی هفته تغییراتی در وبسایت رخ دهد که از دید شما پنهان بماند و یا از قلم افتاده باشد. این تغییرات ممکن است امنیت وبسایت شما را گاهاً کاهش دهد. بنابراین یکی از اقدامات مؤثر در افزایش امنیت وردپرس، اسکن هفتگی و مستمر وبسایت توسط ابزارهای آنلاین اسکنر است.
-
تهیه نسخه پشتیبان از وبسایت : این مورد میتواند خیال شما را در مورد نگهداری اطلاعات وبسایت راحت کند و در صورت بروز هرگونه مشکلی، میتوانید نسخه پشتیبان را برگردانید و مشکلات امنیتی را بررسی کنید.
سخن پایانی
با تمام تدابیری که ما برای امنیت وبسایت خود درنظر میگیریم، باز هم احتمال دارد که هکرها راه جدیدی را برای نفوذ به وردپرس و اعمال خرابکارانه خود پیدا کنند و بلاخره وبسایت ما با مشکلات جدی مواجه شود. یکی از بهترین راهکارها برای جلوگیری از دان شدن وبسایت قبل از خرابکاری هکرها، این است که بطور هفتگی دائماً از اطلاعات وبسایت خود نسخه پشتیبان تهیه کنیم. بنابراین اگر زمانی وبسایت ما دچار مشکلات امنیتی شد، براحتی میتوانیم نسخه پشتیبان را بازگردانیم و وبسایت را از وضعیت دان نجات دهیم. از طرفی بهتر است نسخه هک شده را نیز دانلود کنیم و در آن دنبال حفرههای امنیتی بگردیم تا در نسخه پشتیبان این حفره امنیتی را مسدود کنیم تا جلوی حمله مجدد هکرها از این حفره امنیتی را بگیریم.
در این مقاله سعی شد تا تمامی اقدامات امنیتی، حتی موارد و نکات خیلی جزئی نیز عنوان شوند. ترکیب افزونههایی که در این مقاله معرفی شدند و استفاده از آنها به همان ترتیبی که گفته شد، میتواند امنیت وبسایت وردپرس شما را تضمین کند. این افزونهها به هیچ عنوان سرعت وردپرس را کاهش نمیدهند و با افزونههای دیگر تداخل ندارند. با این حال بهتر است در مورد امنیت و نگهداری از وردپرس، مقالات بیشتر و جدیدتر را نیز مطالعه کنید و همچنین وبسایت خود را همیشه بروزرسانی کنید تا در صورت کشف حفرههای امنیتی جدید، بسرعت جلوی آن را بگیرید.