22 روش برای محافظت از وب سایت شما و امنیت وردپرس را بیشتر یاد بگیرید. وردپرس محبوب ترین سیستم مدیریت محتوا (CMS) است که 43.2 درصد از کل وب سایت ها بر روی نرم افزار آن اجرا می شوند.
متأسفانه به دلیل محبوبیت وردپرس مجرمان سایبری زیای از آسیبپذیریهای امنیتی این پلتفرم سوء استفاده میکنند. البته به این معنی نیست که وردپرس دارای یک سیستم امنیتی بد است.
نقض امنیتی نیز ممکن است به دلیل عدم آگاهی کاربران از امنیت رخ دهد. بنابراین بهتر است قبل از اینکه وب سایت شما به یک هدف هکر تبدیل شود، اقدامات امنیتی پیشگیرانه را اعمال کنید.
ما در این مقاله مورد 22 روش برای بهبود امنیت وردپرس و محافظت از سایت شما در برابر حملات سایبری مختلف صحبت خواهیم کرد. این مقاله شامل بهترین شیوه ها و نکات امنیتی خواهد بود. برخی از روش ها برای پلتفرم های دیگر غیر از وردپرس نیز قابل اجرا هستند.
چرا باید یک وب سایت وردپرسی را ایمن کنید؟
اگر وب سایت وردپرس شما هک شود، خطر از دست دادن داده ها، دارایی ها و اعتبار وجود دارد. علاوه بر این این مسائل امنیتی می تواند داده های شخصی و اطلاعات صورتحساب مشتریان شما را به خطر بیندازد. هزینه خسارات جرایم سایبری می تواند تا سال 2025 به 10.5 تریلیون دلار در سال برسد. مطمئناً شما نمی خواهید به هدف هکرها تبدیل شوید و به آن کمک کنید.
بر اساس پایگاه داده آسیبپذیری WPScan موارد زیر برخی از رایجترین انواع آسیبپذیریهای امنیتی وردپرس هستند:
جعل درخواست میان وبی یا CSRF : کاربر را مجبور می کند تا اقدامات ناخواسته را در یک برنامه وب قابل اعتماد انجام دهد.
حمله به سرور یا DDoS : خدمات آنلاین را با پر کردن اتصالات ناخواسته از کار میاندازد و در نتیجه یک سایت را غیرقابل دسترس میکند.
دور زدن احراز هویت : به هکرها امکان دسترسی به منابع وب سایت شما را بدون تأیید اعتبار آنها می دهد.
تزریق SQL : سیستم را مجبور می کند تا کوئری های SQL مخرب را اجرا کند و داده ها را در پایگاه داده دستکاری کند.
تزریق کدهای مخرب جاوا اسکریپت XSS: به حملاتی گفته می شود که در آن اسکریپت های مخرب، به وب سایت های بزرگ و معتبر تزریق می شوند
گنجاندن فایل لوکال LFI : سایت را مجبور به پردازش فایل های مخرب قرار داده شده در وب سرور می کند.
بهترین روش های عمومی برای بهبود امنیت وب سایت
در این بخش به شش نکته کلی امنیتی وردپرس می پردازیم که به دانش فنی پیشرفته و سرمایه گذاری های پرخطر نیاز ندارند. حتی یک مبتدی نیز میتواند این کارهای ساده مانند بهروزرسانی نرمافزار وردپرس و حذف تمهای بلااستفاده را انجام دهد.
1. نسخه وردپرس را به طور منظم به روز کنید
وردپرس بهروزرسانیهای منظم نرمافزاری را برای بهبود عملکرد و امنیت منتشر میکند. این به روز رسانی ها همچنین از سایت شما در برابر تهدیدات سایبری محافظت می کنند.
به روز رسانی نسخه وردپرس یکی از ساده ترین راه ها برای بهبود امنیت وردپرس است. با این حال نزدیک به 50٪ از سایت های وردپرس بر روی نسخه قدیمی وردپرس اجرا می شوند، که آنها را آسیب پذیرتر می کند.
برای بررسی اینکه آیا آخرین نسخه وردپرس را دارید، قسمت مدیریت وردپرس خود را باز کنید و به Dashboard -> Updates در پانل منوی سمت چپ بروید. اگر نشان می دهد که نسخه شما به روز نیست، توصیه می کنیم در اسرع وقت آن را به روز کنید.
به تاریخ های انتشار به روز رسانی آینده توجه داشته باشید تا مطمئن شوید که سایت شما نسخه قدیمی وردپرس را اجرا نمی کند.
همچنین توصیه می کنیم تم ها و افزونه های نصب شده در سایت وردپرس خود را به روز کنید. تم ها و افزونه های قدیمی ممکن است با نرم افزار اصلی وردپرس به روز شده تضاد داشته باشند و باعث ایجاد خطا و مستعد تهدیدات امنیتی شوند.
برای حذف تم ها و افزونه های قدیمی این مراحل را دنبال کنید:
- به پنل مدیریت وردپرس خود بروید و به Dashboard -> Updates بروید.
- به قسمت Plugins and Themes بروید و لیست تم ها و افزونه های آماده برای به روز رسانی را بررسی کنید. توجه داشته باشید که می توان آنها را به یکباره یا جداگانه به روز کرد.
- روی Update Plugins کلیک کنید.
2. از ورود امن WP-Admin استفاده کنید
یکی از رایجترین اشتباهاتی که کاربران مرتکب میشوند استفاده از نامهای کاربری ساده و قابل حدس زدن است، مانند admin،administrator یا test این سایت شما را در معرض خطر حملات brute force قرار می دهد. علاوه بر این مهاجمان نیز از این نوع حمله برای هدف قرار دادن سایتهای وردپرسی که پسورد قوی ندارند، استفاده میکنند.
بنابراین توصیه می کنیم نام کاربری و رمز عبور خود را منحصر به فرد و پیچیده تر کنید. این مراحل را برای ایجاد یک حساب کاربری جدید وردپرس با نام کاربری جدید دنبال کنید:
- از داشبورد وردپرس خود به مسیر Users -> Add New بروید.
- یک یوزر جدید ایجاد کنید و Administrator را به آن اختصاص دهید. یک رمز عبور اضافه کنید و پس از اتمام کار، دکمه Add New User را فشار دهید.
از اعداد، نمادها و حروف بزرگ و کوچک در رمز عبور خود استفاده کنید. همچنین توصیه می کنیم از بیش از 12 کاراکتر استفاده کنید زیرا شکستن رمزهای عبور طولانی تر بسیار سخت تر است. اگر برای ایجاد رمز عبور قوی به کمک نیاز دارید، از ابزارهای آنلاین مانند LastPass و 1Password استفاده کنید. همچنین می توانید از خدمات مدیریت رمز عبور آنها برای ذخیره ایمن رمزهای عبور قوی استفاده کنید. به این ترتیب شما مجبور نیستید آنها را حفظ کنید.
پس از ایجاد نام کاربری مدیریت وردپرس جدید، باید نام کاربری مدیریت قدیمی خود را حذف کنید. برای اینکا مراحل زیر را انجام دهید:
- با اطلاعات کاربری جدید وردپرس خود وارد شوید.
- به Users -> All Users بروید.
- اکانت مدیریت قدیمی را که می خواهید حذف کنید انتخاب کنید. منوی کشویی Bulk Actions را به Delete تغییر دهید و روی Apply کلیک کنید.
برای ایمن نگه داشتن سایت خود همچنین مهم است که قبل از ورود به سیستم شبکه را بررسی کنید. اگر ناآگاهانه به Hotspot Honeypot متصل هستید، شبکه ای که توسط هکرها اداره می شود، در معرض خطر لو رفتن اعتبار ورود به اپراتورها هستید.
حتی شبکههای عمومی مانند وایفای کتابخانه مدرسه ممکن است آنقدر که به نظر میرسد امن نباشند. هکرها می توانند اتصال شما را رهگیری کرده و داده های رمزگذاری نشده، از جمله اعتبار ورود به سیستم را به سرقت ببرند.
به همین دلیل توصیه می کنیم هنگام اتصال به یک شبکه عمومی از VPN استفاده کنید. این یک لایه رمزگذاری برای اتصال فراهم می کند و رهگیری داده ها را سخت تر می کند و از فعالیت های آنلاین شما محافظت می کند.
3. Safelist و Blocklist را برای صفحه مدیریت تنظیم کنید
فعال کردن قفل URL از صفحه ورود شما در برابر آدرس های IP غیرمجاز و حملات brute force محافظت می کند. برای انجام این کار به یک سرویس فایروال برنامه وب (WAF) مانند Cloudflare یا Sucuri نیاز دارید.
با استفاده از Cloudflare می توان یک قفل را پیکربندی کرد. URL هایی را که می خواهید قفل کنید و محدوده IP مجاز برای دسترسی به این URL ها را مشخص می کند . هر کسی خارج از محدوده IP مشخص شده نمی تواند به آنها دسترسی داشته باشد.
Sucuri دارای ویژگی مشابهی به نام لیست سیاه مسیر URL است. ابتدا آدرس صفحه ورود به سیستم را به لیست بلاک اضافه کنید تا کسی نتواند به آن دسترسی داشته باشد. سپس آدرس های IP مجاز را برای دسترسی به صفحه ورود به سیستم امن فهرست کنید. از طرف دیگر با پیکربندی فایل htaccess سایت خود، دسترسی به صفحه ورود خود را محدود کنید.
افزودن این نقش به .htaccess دسترسی به wp-login.php را تنها به یک IP محدود می کند. بنابراین مهاجمان نمی توانند از مکان های دیگر وارد صفحه ورود به سیستم شما شوند.
این قانون باید بعد از دستورات BEGIN WordPress# و END WordPress # قرار گیرد، همانطور که در زیر نشان داده شده است.
این نقش حتی اگر IP ثابت نداشته باشید اعمال می شود، زیرا می توانید ورود به سیستم را به محدوده مشترک ISP خود محدود کنید. همچنین می توانید از این قانون برای محدود کردن سایر URL های احراز هویت شده مانند wp-admin/ استفاده کنید.
4. از قالب و تم های مورد اعتماد وردپرس استفاده کنید
تم های نال شده یا Nulled وردپرس نسخه های غیرمجاز تم های اصلی هستند. در بیشتر موارد این تم ها برای جذب کاربران با قیمت کمتری فروخته می شوند. با این حال معمولا مشکلات امنیتی زیادی دارند.
اغلب ارائه دهندگان تم Nulled هکرهایی هستند که تم اصلی را هک کرده و کدهای مخرب، از جمله بدافزار و لینک ها هرزنامه را در آن درج کرده اند. علاوه بر این این تم ها می توانند سایت وردپرس شما را به خطر بیندازند.
از آنجایی که تم های Nulled به صورت غیرقانونی توزیع می شوند، کاربران هیچ گونه حمایتی از سوی توسعه دهندگان دریافت نمی کنند. در نتیجه اگر سایت شما هر گونه مشکلی دارد، باید نحوه رفع آنها را بیابید و خودتان سایت وردپرس خود را ایمن کنید.
برای جلوگیری از تبدیل شدن به یک هدف هکر توصیه می کنیم یک تم وردپرس را از منبع رسمی یا توسعه دهندگان مورد اعتماد آن انتخاب کنید. از طرف دیگرتم های شخص ثالث را در بازارهای تم رسمی مانند ThemeForest بررسی کنید.
5. گواهینامه SSL را نصب کنید
SSL certificate گواهینامهای است که به کاربران اطمینان میدهد که تمامی انتقال اطلاعات به سایت شما به صورت امن و رمزنگاری شده انجام میشود و آنها میتوانند با خیال راحت اطلاعات حساب کاربری و دیگر اطلاعات خود را وارد کنند. علاوه بر این گواهینامه های SSL همچنین بهینهسازی سایت وردپرس را برای موتورهای جستجو (SEO)تقویت میکند و به آن کمک میکند بازدیدکنندگان بیشتری جذب کند.
وبسایتهایی با گواهی SSL نصب شده از HTTPS به جای HTTP استفاده میکنند، بنابراین شناسایی آنها آسان است. اکثر شرکت های هاستینگ شامل SSL هستند. به عنوان مثال Hostinger یک گواهینامه رایگان Let’s Encrypt SSL را در تمام برنامه های میزبانی خود ارائه می دهد. پس از نصب گواهی SSL در حساب هاستینگ خود آن را در وب سایت وردپرس خود فعال کنید.
افزونه هایی مانند Really Simple SSL یا SSL Insecure Content Fixer می توانند جنبه های فنی و فعال سازی SSL را با چند کلیک کنترل کنند. نسخه پریمیوم Really Simple SSL میتواند هدرهای HTTP Strict Transport Security را فعال کند که استفاده از HTTPS را هنگام دسترسی به سایت اعمال میکند.
پس از اتمام URL سایت خود را از HTTP به HTTPS تغییر دهید. برای انجام این کار به Settings -> General بروید و قسمت آدرس سایت (URL) را پیدا کنید و آن را تغییر دهید.
6. پلاگین ها و تم های استفاده نشده وردپرس را حذف کنید
نگه داشتن پلاگین ها و تم های استفاده نشده در سایت می تواند مضر باشد، به خصوص اگر افزونه ها و تم ها به روز نشده باشند. افزونه ها و تم های قدیمی خطر حملات سایبری را افزایش می دهند زیرا هکرها می توانند از آنها برای دسترسی به سایت شما استفاده کنند. برای حذف یک افزونه وردپرس استفاده نشده مراحل زیر را دنبال کنید:
- به Plugins -> Installed Plugins بروید.
- لیست تمام افزونه های نصب شده را مشاهده خواهید کرد. روی Delete زیر نام افزونه کلیک کنید.
توجه داشته باشید که دکمه حذف تنها پس از غیرفعال کردن افزونه در دسترس خواهد بود. مراحل حذف یک تم استفاده نشده به صورت زیر است:
- از داشبورد مدیریت وردپرس خود به Appearance -> Themes بروید.
- روی تمی که می خواهید حذف کنید کلیک کنید.
- یک پنجره پاپ آپ ظاهر می شود که جزئیات تم را نشان می دهد. روی دکمه Delete در گوشه سمت راست پایین کلیک کنید.
نحوه استفاده از افزونه های امنیتی وردپرس
روش بعدی برای بهبود امنیت وردپرس استفاده از افزونه های وردپرس است. این یک راه راحت برای محافظت از وب سایت شما است، اما به یاد داشته باشید که همه این افزونه ها را یکجا و بدون بررسی نصب نکنید زیرا تعداد زیاد افزونه ها می توانند سرعت سایت شما را کاهش دهند. ابتدا نیازهای خود را برای انتخاب ضروری ترین افزونه ها برای وب سایت خود شناسایی کنید.
1. احراز هویت دو مرحله ای را برای WP-Admin فعال کنید
احراز هویت دو مرحله ای2FA را فعال کنید تا روند حفاظتی ورود به سایت وردپرس خود را تقویت کنید. این روش احراز هویت یک لایه دوم از امنیت وردپرس را به صفحه ورود اضافه می کند، زیرا برای تکمیل فرآیند ورود باید یک کد خاص وارد کنید. کد فقط از طریق یک پیام متنی یا یک برنامه احراز هویت شخص ثالث در دسترس شما است.
برای اعمال 2FA در سایت وردپرس خود یک افزونه امنیتی ورود مانند Wordfence Login Security را نصب کنید. علاوه بر این باید یک برنامه احراز هویت شخص ثالث مانند Google Authenticator را روی تلفن همراه خود نصب کنید.
پس از نصب افزونه و برنامه احراز هویت مراحل زیر را برای فعال کردن احراز هویت دو مرحله ای دنبال کنید:
- به صفحه افزونه در ادمین وردپرس خود بروید. اگر از Wordfence Login Security استفاده میکنید، به منوی Login Security در پانل منوی سمت چپ بروید.
- تب Two-Factor Authentication را باز کنید.
- از برنامه تلفن همراه خود برای اسکن کد QR یا وارد کردن کلید فعال سازی استفاده کنید.
- کد ایجاد شده در برنامه تلفن همراه خود را در قسمت کدهای بازیابی وارد کنید.
- برای تکمیل تنظیمات روی دکمه ACTIVE کلیک کنید.
همچنین در صورت از دست دادن دسترسی به دستگاه شامل برنامه احراز هویت کدهای بازیابی ارائه شده را دانلود کنید.
2. به طور منظم از وردپرس نسخه پشتیبان تهیه کنید
گرفتن نسخه پشتیبان از سایت وردپرس یک کار خیلی مهم است زیرا به شما کمک می کند تا سایت خود را پس از حوادثی مانند حملات سایبری یا آسیب فیزیکی به مرکز داده بازیابی کنید. فایل پشتیبان باید شامل کل فایل های نصب وردپرس پایگاه داده شما و فایل های اصلی وردپرس شما باشد. پشتیبان گیری از یک سایت را می توان با استفاده از افزونه ای مانند All-in-One WP Migration انجام داد. برای ایجاد یک فایل پشتیبان با این افزونه مراحل زیر را دنبال کنید:
1.افزونه را نصب و فعال کنید.
2. به منوی All-in-One WP Migration در پانل منوی سمت چپ بروید.
3. Backups را انتخاب کنید.
4. روی Create Backup کلیک کنید.
5. پس از ایجاد نسخه پشتیبان، در لیستی در صفحه پشتیبان گیری ظاهر می شود.
6. نسخه پشتیبان را دانلود و در حافظه ذخیره کنید. برای انجام این کار به All-in-One WP Migration -> Export بروید.
7. روی منوی کشویی EXPORT TO کلیک کنید، File را انتخاب کنید. این یک نسخه پشتیبان برای سایت شما ایجاد می کند.
8. پس از تکمیل فرآیند روی لینک دانلود کلیک کنید و نسخه پشتیبان از سایت خود را در فضای ذخیره سازی امن ذخیره کنید، ترجیحاً مکانی که در سرور وب سایت شما نباشد. زیرا نسخه های پشتیبان ذخیره شده در وب سرور شما در دسترس عموم هستند و آن را در برابر حملات سایبری آسیب پذیر می کند.
در صورت بروز حادثه می توانید سایت وردپرس خود را با استفاده از ابزار All-in-One WP Migration بازیابی کنید. کاربران هاستینگر همچنین می توانند با استفاده از قابلیت پشتیبان گیری hPanel بدون افزونه وردپرس از سایت خود پشتیبان گیری کنند.
3. محدود کردن تلاش برای ورود
وردپرس به کاربران خود امکان می دهد تا تعداد نامحدودی تلاش برای ورود به سایت انجام دهند. متأسفانه هکرها می توانند با استفاده از ترکیب های مختلف رمز عبور تا زمانی که رمز عبور مناسب را بیابند، به زور به بحش مدیریت وردپرس شما راه پیدا کنند.
بنابراین شما باید تلاش برای ورود به سیستم را برای جلوگیری از چنین حملاتی در وب سایت محدود کنید. محدود کردن تلاش های ناموفق همچنین به نظارت بر فعالیت های مشکوک در سایت شما کمک می کند.
اکثر کاربران فقط به یک بار امتحان یا چند تلاش ناموفق نیاز دارند، بنابراین باید به آدرسهای IP مشکوک دقت کنید.
یکی از راه های محدود کردن تلاش برای ورود به سیستم به منظور افزایش امنیت وردپرس استفاده از یک افزونه است. گزینه های بسیار خوبی مانند موارد زیر وجود دارد:
Limit Login Attempts Reloaded : تعداد تلاشهای ناموفق را برای آدرسهای IP خاص پیکربندی میکند، کاربران را به لیست امن اضافه میکند یا آنها را به طور کامل مسدود میکند،.
Loginizer : ویژگی های امنیتی ورود مانند 2FA، reCAPTCHA و سوالات ورود را ارائه می دهد.
: Limit Attempts by BestWebSoft به طور خودکار آدرس های IP را که به حداکثر تلاش برای ورود می رسند مسدود می کند و آنها را به لیست رد اضافه می کند.
یکی از خطرات اجرای این اقدام امنیتی وردپرس، قفل شدن یک کاربر قانونی از مدیریت وردپرس است. با این حال نباید نگران این باشید، زیرا راه های زیادی برای بازیابی حساب های قفل شده وردپرس وجود دارد.
4. URL صفحه ورود به وردپرس را تغییر دهید
برای محافظت بیشتر از وب سایت خود در برابر حملات brute force، URL صفحه ورود را تغییر دهید. همه وبسایتهای وردپرس دارای یک URL برای ورود به سیستم پیشفرض هستند یعنی yourdomain.com/wp-admin. . استفاده از URL پیش فرض ورود به سیستم، هدف قرار دادن صفحه ورود شما را برای هکرها آسان می کند.
افزونه هایی مانند WPS Hide Login و Change wp-admin Login تنظیمات URL سفارشی ورود به سیستم را فعال می کنند. اگر از افزونه WPS Hide Login استفاده میکنید، در اینجا مراحل تغییر URL صفحه ورود به وردپرس آورده شده است:
1.در داشبورد خود Settings -> WPS Hide Login بروید.
2. فیلد Login URL را با URL ورود سفارشی خود پر کنید.
3. روی دکمه Save Changes کلیک کنید تا فرآیند به پایان برسد.
5. خروج خودکار کاربران
بسیاری از کاربران فراموش می کنند که از وب سایت خارج شوند. از این رو به شخص دیگری که از همان دستگاه استفاده می کند میتواند به حساب های کاربری شما دسترسی داشته باشد و از داده های محرمانه سوء استفاده کند. این مورد به ویژه برای کاربرانی که از رایانه های عمومی در کافی نت ها یا کتابخانه های عمومی استفاده می کنند صدق می کند.
بنابراین بسیار مهم است که وب سایت وردپرس خود را طوری تنظیم کنید که کاربران غیرفعال را به طور خودکار از سیستم خارج کنید. اکثر سایتهای بانکی از این تکنیک برای جلوگیری از دسترسی بازدیدکنندگان غیرمجاز به سایتهایشان استفاده میکنند و اطمینان حاصل میکنند که دادههای مشتریانشان امن است.
استفاده از افزونه امنیتی وردپرس مانند Inactive Logout یکی از سادهترین راهها برای خروج خودکار از حسابهای کاربری غیرفعال است. این افزونه همچنین می تواند یک پیام سفارشی ارسال کند تا به کاربران هشدار دهد که نشست/دوره (Sessions) وب سایت آنها به زودی به پایان می رسد.
6. نظارت بر فعالیت کاربر
با ردیابی فعالیتها در بخش مدیریت هرگونه اقدام ناخواسته یا مخربی را که وب سایت شما را در معرض خطر قرار میدهد، شناسایی کنید. ما این روش را برای کسانی توصیه می کنیم که چندین کاربر یا نویسنده دارند که به وب سایت وردپرس خود دسترسی دارند. این کار به این دلیل است که کاربران ممکن است تنظیماتی را که نباید تغییر دهند، مانند تغییر تم ها یا پیکربندی افزونه ها را تغییر دهند.
با نظارت بر فعالیت های متوجه خواهید شد که چه کسی مسئول آن تغییرات ناخواسته است و اگر شخص غیرمجاز به وب سایت وردپرس شما نفوذ کرده باشد او را شناسایی کنید. ساده ترین راه برای پیگیری فعالیت کاربر استفاده از افزونه وردپرس است، مانند:
WP Activity Log : تغییرات را در بخش های مختلف وب سایت از جمله پست ها، صفحات، تم ها و افزونه ها نظارت می کند. همچنین فایلهای تازه اضافه شده، فایلهای حذف شده و تغییرات را در هر فایلی ثبت میکند.
Activity Log : فعالیت های مختلف را در پنل مدیریت وردپرس نظارت می کند و به شما امکان می دهد قوانینی را برای اعلان های ایمیل تنظیم کنید.
Simple History : علاوه بر ثبت گزارش فعالیت در مدیریت وردپرس، از چندین افزونه شخص ثالث مانند Jetpack، WP Crontrol و Beaver Builder پشتیبانی میکند و تمام فعالیتهای مربوط به آنها را ثبت میکند.
7. بدافزار را بررسی کنید
AV-TEST هر روز بیش از 450000 بدافزار جدید و برنامه های ناخواسته (PUA) را ثبت می کند. برخی از بدافزارها حتی ماهیت چند شکلی دارند، یعنی میتوانند خود را تغییر دهند تا از شناسایی نشوند. بنابراین اسکن منظم سایت وردپرس برای بدافزار بسیار مهم است زیرا مهاجمان همیشه انواع جدیدی از تهدیدات را ایجاد می کنند.
خوشبختانه بسیاری از افزونه های اسکنر هک وردپرس عالی می توانند بدافزارها را اسکن کرده و امنیت وردپرس را بهبود بخشند. کارشناسان این افزونه های امنیتی را برای نصب در سایت توصیه می کنند:
Wordfence : یک افزونه امنیتی محبوب وردپرس با بهروزرسانیهای بدافزار و اعلانهای هشدار است که به شما اطلاع میدهد که آیا سایت دیگری سایت شما را برای فعالیت مشکوک در لیست مسدود کرده است.
BulletProof Security : با ویژگی خروج خودکار نشست/دوره (Sessions)غیرفعال پوشههای پلاگین پنهان که در بخش افزونههای وردپرس قابل مشاهده نیستند و ابزارهای پشتیبانگیری و بازیابی پایگاه داده، به ایمن کردن وبسایت وردپرس شما کمک میکند.
Sucuri Security : یکی از بهترین افزونه های امنیتی در بازار است که گواهینامه های مختلف SSL، اسکن بدافزار از راه دور و ویژگی های اقدام امنیتی پس از هک را ارائه می دهد.
چگونه وردپرس را بدون استفاده از پلاگین ایمن کنیم؟
افزایش امنیت وب سایت بدون استفاده از افزونه امکان پذیر است. بیشتر این کارها شامل بهینه سازی کد سایت شما است. در ادامه توضیح میدهیم چگونه اینکار را انجام دهید.
1. PHP Error Reporting را غیرفعال کنید
گزارش خطای PHP اطلاعات کاملی را در مورد مسیرها و ساختار فایل وب سایت شما نمایش می دهد و آن را به یک ویژگی عالی برای نظارت بر اسکریپت های PHP سایت تبدیل می کند.
با این حال نشان دادن آسیب پذیری های وب سایت شما در اصل یک نقص امنیتی جدی وردپرس است. به عنوان مثال اگر افزونه خاصی را نمایش دهد که پیام خطا در آن ظاهر شده است، مجرمان سایبری می توانند از آسیب پذیری های آن افزونه استفاده کنند.
دو راه برای غیرفعال کردن گزارش خطای PHP وجود دارد که یکی از طریق فایل PHP است و دیگری کنترل پنل حساب هاستینگ شما.
اصلاح فایل PHP
برای تغییر فایل PHP مراحل زیر را دنبال کنید:
1.فایل wp-config.php سایت خود را با استفاده از یک سرویس گیرنده FTP مانند FileZilla یا مدیر فایل ارائه دهنده هاست خود باز کنید.
2. کد زیر را به فایل اضافه کنید. مطمئن شوید که آن را قبل از هر دستور PHP دیگری اضافه کنید.
error_reporting(0);
@ini_set(‘display_errors’, 0);
3. برای اعمال تغییر روی Save کلیک کنید.
تغییر تنظیمات PHP با استفاده از کنترل پنل
اگر نمی خواهید کدنویسی کنید، گزارش خطای PHP را از طریق کنترل پنل ارائه دهنده هاست خود غیرفعال کنید. در اینجا نحوه انجام این کار از طریق hPanel آمده است:
1.از داشبورد hPanel خود به بخش Advanced بروید. سپس روی PHP Configuration کلیک کنید.
2. به تب PHP Options رفته و تیک گزینه displayErrors را بردارید.
3. روی Save کلیک کنید.
2. از یک میزبان وب امن استفاده کنید
اگر محیط میزبانی و هاستینگ مستعد حملات سایبری باشد، اقدامات امنیتی چندگانه وردپرس اهمیت چندانی نخواهد داشت. ارائه دهنده هاست شما باید فضای امنی را برای تمام داده ها و فایل های وب سایت شما بر روی سرور خود تضمین کند، بنابراین بسیار مهم است که فضایی را انتخاب کنید که دارای سطح امنیتی عالی باشد.
اگر فکر می کنید شرکت میزبانی فعلی شما به اندازه کافی امن نیست، وقت آن رسیده که وب سایت وردپرس خود را به یک پلتفرم میزبانی جدید منتقل کنید. موارد زیر را هنگام جستجوی یک میزبان وب ایمن در نظر بگیرید:
نوع میزبانی وب : به دلیل اشتراک منابع، میزبانی مشترک وردپرس نسبت به سایر انواع میزبانی در برابر حملات سایبری آسیب پذیرتر هستند. میزبانی وب را انتخاب کنید که VPS یا هاست اختصاصی را نیز برای جداسازی منابع شما ارائه می دهد.
امنیت : یک ارائه دهنده هاست خوب شبکه خود را برای فعالیت مشکوک نظارت می کند و به طور دوره ای نرم افزار و سخت افزار سرور خود را به روز می کند. آنها همچنین باید از امنیت سرور و محافظت در برابر انواع حملات سایبری برخوردار باشند.
ویژگی ها : صرف نظر از نوع میزبانی، داشتن پشتیبان گیری خودکار و ابزارهای امنیتی برای جلوگیری از بدافزارها یک ویژگی ضروری برای محافظت از سایت وردپرس شما است. در بدترین حالت میتوانید از آن برای بازیابی یک وبسایت در معرض خطر استفاده کنید.
پشتیبانی : انتخاب یک شرکت میزبانی با تیم پشتیبانی 24 ساعته با دانش فنی عالی ضروری است. آنها به شما کمک می کنند از داده های خود محافظت کنید و با مشکلات فنی و ایمنی که ممکن است رخ دهد مقابله کنید.
3. ویرایش فایل را خاموش کنید
وردپرس دارای یک ویرایشگر فایل داخلی است که ویرایش فایل های PHP وردپرس را آسان می کند. با این حال اگر هکرها کنترل آن را به دست آورند، این ویژگی می تواند مشکل ساز شود. به همین دلیل برخی از کاربران وردپرس ترجیح می دهند این قابلیت را غیرفعال کنند. برای غیرفعال کردن ویرایش فایل خط کد زیر را به فایل wp-config.php اضافه کنید:
define(‘DISALLOW_FILE_EDIT’, true );
اگر می خواهید دوباره این ویژگی را در سایت وردپرس خود فعال کنید، به سادگی کد قبلی را از wp-config.php با استفاده از یک سرویس گیرنده FTP یا مدیر فایل ارائه دهنده هاست خود حذف کنید.
4. محدود کردن دسترسی با استفاده از فایل htaccess
فایل htaccess تضمین می کند که پیوندهای وردپرس به درستی کار می کنند. بدون اینکه این فایل قوانین صحیح را اعلام کند، خطاهای 404 Not Found زیادی را در سایت خود دریافت خواهید کرد.
علاوه بر این htaccess می تواند دسترسی از IP های خاص را مسدود کند، دسترسی را به تنها یک IP محدود کند، و اجرای PHP را در پوشه های خاص غیرفعال کند. در زیر به شما نشان خواهیم داد که چگونه از .htaccess برای تقویت امنیت وردپرس خود استفاده کنید.
غیرفعال کردن اجرای PHP در پوشه های خاص
هکرها اغلب اسکریپت های بک دور را در پوشه Uploads آپلود می کنند. به طور پیش فرض این پوشه فقط فایل های آپلود شده را میزبانی می کند، بنابراین نباید حاوی هیچ فایل PHP باشد. برای ایمن سازی سایت وردپرس خود، اجرای PHP را در پوشه با ایجاد یک فایل htaccess جدید در wp-content/uploads/ با این کد غیرفعال کنید:
deny from all
محافظت از فایل wp-config.php
فایل wp-config.php شامل تنظیمات هسته وردپرس و جزئیات پایگاه داده MySQL است. بنابراین این فایل معمولاً هدف اصلی یک هکر است. با اجرای این قوانین htaccess از این فایل محافظت کنید و وردپرس را ایمن نگه دارید:
order allow,deny
deny from all
5. پیشوند پیش فرض پایگاه داده وردپرس را تغییر دهید
پایگاه داده وردپرس تمام اطلاعات حیاتی مورد نیاز برای عملکرد سایت شما را نگهداری و ذخیره می کند. بنابراین هکرها اغلب پایگاه داده را با حملات تزریق SQL هدف قرار می دهند. این تکنیک کدهای مضر را به پایگاه داده تزریق می کند و می تواند اقدامات امنیتی وردپرس را دور بزند و محتوای پایگاه داده را بازیابی کند.
بیش از 50 درصد حملات سایبری شامل تزریق SQL است که آن را به یکی از بزرگترین تهدیدها تبدیل می کند. هکرها این حمله را اجرا می کنند زیرا بسیاری از کاربران فراموش می کنند پیشوند پایگاه داده پیش فرض wp_ را تغییر دهند.
بیایید نگاهی به دو روشی بیندازیم که می توانید برای محافظت از پایگاه داده وردپرس خود در برابر حملات تزریق SQL پیاده سازی کنید.
تغییر پیشوند جدول
1. از داشبورد hPanel خود به File Manager بروید و فایل wp-config.php را باز کنید. یا از یک کلاینت FTP برای دسترسی به فایل استفاده کنید.
2.به دنبال مقدار table_prefix$ در کد بگردید.
3. پیشوند دیتابیس پیش فرض وردپرس wp_ را با یک پیشوند جدید جایگزین کنید. از ترکیب حروف و اعداد برای ایجاد یک پیشوند منحصر به فرد برای وب سایت استفاده کنید.
4. روی Save & Close کلیک کنید.
5. با بازگشت به داشبورد hPanel، به بخش Databases بروید و روی phpMyAdmin کلیک کنید. سپس با کلیک روی Enter phpMyAdmin پایگاه داده سایت را باز کنید.
6. اگر چندین پایگاه داده دارید، نام پایگاه داده را در فایل wp-config.php پیدا کنید. به دنبال بلوک کد زیر باشید:
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘MySQL Database’ );
7. از داشبورد phpMyAdmin به تب SQL در نوار منوی بالا بروید.
8. برای تغییر پیشوند پایگاه داده وردپرس عبارت زیر را در ویرایشگر کوئری SQL وارد کنید.
RENAME table `wp_tablename` TO `wp_1secure1_tablename`;
9. به یاد داشته باشید که wp_tablename را با نام جدول فعلی خود و wp_1secure1_tablename را با پیشوند و نام جدول جدید تغییر دهید. این خط کد را بر اساس تعداد جدول هایی که می خواهید تغییر نام دهید تکرار کنید و Go را انتخاب کنید.
به روز رسانی مقادیر پیشوند در جداول
بسته به تعداد افزونه های وردپرس نصب شده در سایت شما ممکن است لازم باشد برخی از مقادیر را در پایگاه داده به صورت دستی به روز کنید. این کار را با اجرای کوئری SQL جداگانه روی جداولی انجام دهید که احتمالاً مقادیری با پیشوند wp_ دارند. این موارد شامل گزینهها و جداول usermeta میشود.
از کد زیر برای فیلتر کردن تمام مقادیری که دارای پیشوند زیر هستند استفاده کنید:
SELECT * FROM `wp_1secure1_tablename` WHERE `field_name` LIKE ‘%wp_%’
wp_1secure1_tablename حاوی نام جدولی است که می خواهیدquery را در آن انجام دهید. در همین حال field_name نام فیلد/ستون را نشان میدهد که به احتمال زیاد مقادیر با پیشوند wp_ در آن ظاهر میشوند.
در اینجا نحوه تغییر دستی مقدار پیشوند آورده شده است:
1. از داشبورد phpMyAdmin به جدولی با مقدار پیشوندی که میخواهید بهروزرسانی کنید، بروید. به عنوان مثال، wp_1secure1_usermeta را باز کنید.
2. به تب SQL در نوار منوی بالا بروید.
3. کد بالا را در ویرایشگر SQL وارد کنید تا مقادیر حاوی wp_ فیلتر شوند و روی Go کلیک کنید. مطمئن شوید که اطلاعات را مطابق با جدول واقعی و نام فیلدهای خود تغییر دهید.
4. نتایج فیلتر ظاهر می شود. روی دکمه Edit در کنار فیلد مورد نظر کلیک کنید.
5. مقدار پیشوند را تغییر دهید و روی Go کلیک کنید. مراحل 4 و 5 را برای تمام مقادیر فیلتر شده انجام دهید.
6. از مرحله 1 دوباره برای بقیه جداول داخل پایگاه داده تکرار کنید تا همه مقادیر با پیشوند wp_ به روز شوند.
6. XML-RPC را غیرفعال کنید
XML-RPC یک ویژگی وردپرس برای دسترسی و انتشار محتوا از طریق دستگاه های تلفن همراه، فعال کردن ترک بک و پینگ بک و استفاده از افزونه Jetpack در وب سایت وردپرس شما است.
با این حال XML-RPC دارای نقاط ضعفی است که هکرها می توانند از آنها سوء استفاده کنند. این ویژگی به آنها اجازه میدهد بدون شناسایی توسط نرمافزار امنیتی چندین بار برای ورود به سیستم تلاش کنند و سایت شما را مستعد حملات brute force میکند.
هکرها همچنین می توانند از عملکرد پینگ بک XML-RPC برای انجام حملات DDoS استفاده کنند. این به مهاجمان امکان میدهد تا پینگبکهایی را به هزاران وبسایت در یک زمان ارسال کنند که میتواند سایتهای هدف را خراب کند.
برای تعیین اینکه آیا XML-RPC فعال است یا خیر، سایت خود را از طریق یک سرویس اعتبارسنجی XML-RPC اجرا کنید و ببینید آیا پیام موفقیت آمیز دریافت می کنید یا خیر. این بدان معنی است که تابع XML-RPC در حال اجرا است.
می توانید عملکرد XML-RPC را با استفاده از یک افزونه یا به صورت دستی غیرفعال کنید.
غیرفعال کردن XML-RPC با استفاده از یک پلاگین
استفاده از یک پلاگین راه سریعتر و ساده تر برای مسدود کردن ویژگی XML-RPC در وب سایت شما است. توصیه می کنیم از افزونه Disable XML-RPC Pingback استفاده کنید. به طور خودکار برخی از عملکردهای XML-RPC را خاموش می کند و از انجام حملات هکرها با استفاده از این نقص امنیتی وردپرس جلوگیری می کند.
غیرفعال کردن دستی XML-RPC
راه دیگر برای متوقف کردن تمام درخواست های XML-RPC دریافتی، انجام دستی آن است. فایل htaccess. را در root directory خود پیدا کنید و قطعه کد زیر را قرار دهید:
# Block WordPress xmlrpc.php requests
order deny,allow
deny from all
allow from 000.00.000.000
برای اینکه XML-RPC به یک IP خاص دسترسی داشته باشد، آدرس IP را جایگزین 000.00.000.000 کنید یا خط کد را به طور کلی حذف کنید.
7. نسخه وردپرس را مخفی کنید
اگر هکرها بدانند که از کدام نسخه وردپرس استفاده می کنید، می توانند راحت تر وارد سایت شما شوند. آنها می توانند از آسیب پذیری های آن نسخه برای حمله به سایت شما استفاده کنند، به خصوص اگر نسخه قدیمی وردپرس باشد.
خوشبختانه این امکان وجود دارد که اطلاعات را از سایت خود با استفاده از ویرایشگر قالب وردپرس پنهان کنید. برای این کار مراحل زیر را دنبال کنید:
1.از داشبورد وردپرس خود به Appearance -> Theme Editor بروید.
2. تم فعلی خود را انتخاب کنید و فایل functions.php را انتخاب کنید.
3. برای حذف شماره نسخه از هدر و فیدهای RSS کد زیر را در فایل functions.php قرار دهید:
function dartcreations_remove_version() {
return ”;
}
add_filter(‘the_generator’, ‘dartcreations_remove_version’);
4. متا تگ مولد وردپرس نیز شماره نسخه وردپرس را نمایش می دهد. این خط را اضافه کنید تا آن را حذف کنید:
remove_action(‘wp_head’, ‘wp_generator’);
5. برای ذخیره تغییرات روی Update File کلیک کنید.
8. Hotlinking را مسدود کنید
Hotlinking اصطلاحی است که وقتی شخصی محتوای وب سایت شما، معمولاً یک تصویر، را در وب سایت خود نمایش می دهد، استفاده می شود. هر بار که مردم از وب سایتی بازدید می کنند که دارای هات لینک به محتوای شما است، از منابع وب سرور شما استفاده می کند و سرعت سایت شما را کاهش می دهد.
برای اینکه ببینید آیا محتوای شما هات لینک شده است یا خیر، عبارت زیر را در Google Images تایپ کنید و نام دامنه خود را جایگزین yourwebsite.com کنید:
inurl:yourwebsite.com -site:yourwebsite.com
برای جلوگیری از هات لینک، از یک سرویس گیرنده FTP، یک افزونه امنیتی وردپرس، یک CDN استفاده کنید یا تنظیمات کنترل پنل را ویرایش کنید.
9. مجوزهای فایل را مدیریت کنید
با تعیین اینکه کدام کاربران می توانند فایل ها یا پوشه های وردپرس شما را بخوانند، بنویسند یا اجرا کنند، از دسترسی هکرها به حساب مدیریت خود جلوگیری کنید. می توانید از File Manager، سرویس گیرنده FTP یا از طریق خط فرمان میزبان وب خود برای مدیریت مجوزهای فایل و پوشه استفاده کنید.
به طور کلی مجوزها به طور پیش فرض تنظیم می شوند که ممکن است بسته به فایل ها یا پوشه های مختلف متفاوت باشد. مخصوصاً برای پوشه wp-admin و فایل wp-config، مطمئن شوید که فقط به Owner اجازه نوشتن را می دهید.
نتیجه
حملات سایبری ممکن است به اشکال مختلف از تزریق بدافزار گرفته تا حملات DDoS انجام شوند. وب سایت های وردپرسی به دلیل محبوبیت CMS هدف رایجی برای هکرها هستند. بنابراین صاحبان وب سایت های وردپرسی باید بدانند که چگونه سایت های خود را ایمن کنند.
با این حال ایمن سازی سایت وردپرس یک کار یکباره نیست. شما باید به طور مداوم آن را ارزیابی کنید زیرا حملات سایبری همیشه در حال توسعه هستند. خطر همیشه وجود خواهد داشت، اما شما می توانید اقدامات امنیتی وردپرس را برای کاهش این خطرات اعمال کنید.
امیدواریم این مقاله به شما در درک اهمیت اقدامات امنیتی وردپرس و نحوه اجرای آنها کمک کرده باشد. اگر سوالی دارید یا نکات امنیتی بیشتری در وردپرس دارید می توانید نظر خود را بنویسید.
نظرات کاربران