چگونه وردپرس را در مقابل حملات XML-RPC محافظت کنیم
از حملات شایع در وردپرس، حملات XML-RPC هستند. xmlrpc.php فایلی هست که در پوشه اصلی سایتهای وردپرسی قرار دارد و میتوانیم با جلوگیری از دسترسی به XML-RPC سایت خود را تا حد زیادی امنتر کنیم.
وردپرس بهترین سیستم مدیریت محتوای دنیاست. در این قضیه شکی نیست. اما وقتی صحبت از امنیت میشود بسیاری از دوستان ظاهراً متخصص، قصد دارند برای فروش سیستمهای مدیریت محتوای اختصاصی خودشان وردپرس را غیر امن توصیف کنند. اما همانطور که در دوره آموزش امنیت وردپرس توضیح دادم، امنیت امری نسبی هست و کاملاً بستگی به شرایط و تنظیماتهاست و سرور شما دارد.
مثلاً اگر روزی یک نفری وارد دیتاسنتر شد و هارد سرور شمارا دزدید این قضیه دیگر مربوط به امنیت وردپرس نیست! بلکه امنیت دیتاسنتر شما هست که باید بازبینی شود.
XML-RPC چیست
از همه اینها که بگذریم. وردپرس یک پروتکل دسترسی به نام xml-rpc دارد که معمولا برای دسترسی به توابع سایت شما استفاده میشود. یعنی سایتهای دیگر میتوانند با این سرویس، شروع به اجرای توابع قالبها و افزونههای سایت شما شوند.
بسیاری از ما از این پروتکل استفاده نمیکنیم. پس برای جلوگیری از حملات احتمالی بهتر است این بخش را مسدود کنیم. در کل زمانی که یک هکر قصد هک کردن سایت شما با استفاده از XML-RPC را دارد، از دو روش عمل میکند:
خواندن اطلاعات دقیق خطا زمانی که سایت شما خطای دیتابیس دارد.
خواندن اطلاعات زیادی از جمله POST /xmlrpc.php HTTP/1.0 در لاگ وب سرور شما
جلوگیری از دسترسی به XML-RPC
قبلا غیرفعال کردن xml-rpc با افزونه را توضیح دادهایم. اما میخواهیم افزونههای زیادی روی سایتمان نصب نکنیم. پس به سراغ فایل htaccess میرویم. برای غیر فعال کردن XML RPC در وردپرس کافیست وارد فایل منیجر هاست خود شوید. سپس فایل .htaccess را ویرایش کنید. این فایل در مسیر اصلی public_html سایت شما قرار دارد.
بعد از باز کردن این فایل. در خط اول این کد را قرار دهید:
<files xmlrpc.php>
order allow,deny
deny from all
</files>
به همین راحتی! دسترسی به فایل xmlrpc.php مسدود شد و حالا هکر گرامی دسترسی به این فایل نخواهد داشت.
اگر از NGINX استفاده میکنید
بسیاری از شما از وب سرور NGINX استفاده میکنید. اگر اینطور هست به شما تبریک میگوییم چون حتما یک سرور اختصاصی یا نیمه اختصاصی برای سایت خود دارید. اگر از NGINX استفاده میکنید، باید در فایل /etc/nginx/nginx.conf این کدها را در بخش server{} قرار دهید.
به همین راحتی! دسترسی به فایل xmlrpc.php روی سرور انجین ایکس شما مسدود شد.
چگونه مطمئن شویم xmlrpc.php مسدود هست
خیلی راحت! کافیست آدرس ۲۰script.ir/xmlrpc.php را در مرورگر خود باز کنید. اگر خطای ۴۰۳ یا ۴۰۴ دریافت کردید یعنی xmlrpc.php روی سایت ما مسدود هست. حالا همین کار را با وارد کردن دامنه خود به جای ۲۰script.ir تست کنید. اگر روی سایت شما هم مسدود بود پس کار درست را انجام دادهاید. 🙂
افزونه WP Cerber Security PRO – افزونه امنیتی برای وردپرس
WP Cerber Security PRO نام یک افزونه امنیتی با امکاناتی گسترده و جالب توجه برای وردپرس است. این افزونه می تواند وبسایت شما را در برابر حملات هکر ها، انواع اسپم، تروجان و بد افزار ها حفاظت کرده و خیال شما را از بسیاری از زوایای امنیتی سایتتان آسوده کند. افزونه سربر سکوریتی دارای یک سیستم پیشرفته مانیتورینگ می باشد که به صورت ۲۴ ساعاته تمامی فایل های درون هاست و رفتار های کاربران را تحت بررسی قرار می دهد تا این اطمینان را به شما بدهد که امنیت وب سایت وردپرسی شما در بالاترین سطح خود قرار دارد همچنین این افزونه یک سری دستورالعمل هایی برای افزایش امنیت در اختیار شما قرار می دهد که با پیروی از آنها سایت شما از تمامی حملات احتمالی مصون می ماند. در ادامه به برخی دیگر از امکانات این افزونه به صورت کلی نیز اشاره می کنیم
برخی از امکانات افزونه امنیتی WP Cerber Security PRO :
Blackhole Pro نام یک افزونه امنیتی برای وردپرس است که به صورت خودکار ربات های بد را در سایت شما تشخیص داده و به دام می اندازد. ربات های بد جزو خطرناک ترین موارد امنیتی در وبسایت شما هستند، این ربات ها می توانند کارهای مختلفی علیه امنیت وبسایت شما انجام داده و منابع سرور شما را هدر دهند. افزونه وردپرس Blackhole Pro به شما کمک می کند تا این ربات های بد را متوقف کنید و منابع سرور را برای بازدید کنندگان واقعی نگهداری کنید.
طرز کار این ربات به این صورت است که یک لینک پنهان به صفحات شما اضافه می کند. شما یک قانون به robots.txt اضافه می کنید که ربات ها را از دنبال کردن لینک منع می کند. ربات های خوب از این قانون پیروی می کنند، اما ربات های بد لینک را دنبال کرده و در تله ای که توسط افزونه ایجاد می شود به دام می افتند و مسدود می شوند. با این کار دیگر ربات های بد نمی تواند دسترسی بیشتری به کل وبسایت شما داشته باشند.
از قابلیت های اصلی افزونه Blackhole Pro می توان به متوقف کردن اسکنرها، اسپم ها و leech، بهبود کیفیت ترافیک و امنیت کلی سایت، ذخیره سازی منابع سرور برای ربات های خوب، قابلیت سفارشی سازی آسان، پشتیبانی از ایمیل اطلاع رسانی، پشتیبانی از پیام هشدار، ارسال پیام مسدود سازی، قابلیت تغییر مسیر، قابلیت سفارشی سازی کدهای وضعیت HTTP، رابط کاربری عالی برای مدیریت رباتهای مسدود شده، قابلیت فیلتر ربات ها در نتایج جستجو، امکان مرتب سازی ربات های مسدود شده، جستجوی خودکار موقعیت مکانی Geo / IP برای هر ربات، قابلیت انتخاب همزمان چندین ربات و حذف دسته جمعی آنها و بسیاری قابلیت های دیگر اشاره کرد.
امکانات افزونه امنیتی وردپرس BLACKHOLE PRO:
امکان افزودن دستی ربات ها با استفاده از آدرس IP به صورت دستی
قابلیت انتخاب هشدار ایمیل از بین چندین نوع هشدار
قابلیت سفارشی سازی قالب ایمیل اطلاع رسانی با کد کوتاه
ارسال ایمیل اطلاع رسانی جداگانه برای هر ربات مسدود شده
امکان تغییر مسیر ربات های مسدود شده با URL اختصاصی
قابلیت ایجاد trigger link استثنا در هر پست یا صفحه
قابلیت افزودن ربات ها به لیست سفید
امکان ایجاد دسترسی همیشگی برای موتورهای جستجوی محبوب
امروز در این مقاله میخواهیم برای شما عزیزان یکی از تکنولوژیها و سرویسهای DNS را معرفی کنیم و به شما آموزش دهیم که چطور باید از آن استفاده کنید. DNSSEC برای بالا بردن امنیت بسیار مفید است. اما ابتدا باید ببینیم DNSSEC چیست و چرا استفاده میشود؟
Domain Name System Security Extensions یا DNSSEC مجموعهای از ویژگیهای IETF هست که در واقع یک اکستنشن یا افزودنی برای سرویس دی ان اس محسوب میشود.
اگر بخواهیم به زبان ساده به این موضوع بپردازیم باید گفت که تمامی سرورها یک IP آدرس مختص به خودشان را دارند که کاربر برای وارد شدن به سایت باید این آدرس اینترنتی را به یاد داشته باشد و از آنجایی که این IP ها به صورت عددی هستند و حفظ کردن این اعداد برای هر سایت مسلما از عهده کاربر بر نمی آید، از DNS برای تبدیل این آدرس های عددی به اسم استفاده میشود. البته ما قبلا در بیست اسکریپت یک مقاله کامل در خصوص DNS قرار داده ایم که به شما پیشنهاد میکنیم آن را مطالعه کنید. DNS چیست و چگونه کار میکند؟
DNSSEC چیست
در بالا برای شما DNS را تا حدودی توضیح دادیم، حالا بریم سراغ یکی از مهم ترین سرویس های آن یعنی Domain Name System Security Extensions که به اختصار به آن dnssec نیز گفته می شود.
dnssec درواقع اسم دامنه ها را از حملات DNS spoofing محفوظ نگاه می دارند و با تشخیص سرورهای فیک DNS، امنیت سایت شما را تا حد زیادی بالا میبرد. بصورت پیشفرض سرویس دی ان اس از نکات امنیتی چندانی برخوردار نیست. شما کافیست DNS های یک دامنه را بصورت دستی روی سیستم خودتان تنظیم کنید تا این دامنه با سرور مورد نظر شما لود شود. به همین راحتی! با استفاده از این افزودنی امنیتی میتوانیم امنیت DNS وبسایت خود را تا حد زیادی افزایش دهیم.
همانطور که با SSL مطمئن میشویم که اطلاعات دقیقا از سرور مبدا دریافت شده و تنها سرور مبدا میتواند اطلاعات را بازگشایی کند، با استفاده از DNSSEC هم میتوان حملات man in the middle attack را از بین برد. یعنی رکوردهای دی ان اس توسط سرور امضای دیجیتال خواهند شد و تنها سرور اصلی میتواند این رکوردها را دستکاری کند.
فعالسازی DNSSEC روی دامنه شما
برای فعالسازی DNSSEC ابتدا باید مطمئن شوید که سیستم مدیریت هاستینگ شما و پنل مدیریت دامنه هر دو از DNSSEC استفاده میکنند. (طبیعتا این اطلاعات را باید از هاستینگ و ثبتکننده دامنه خودتان دریافت کنید.) سپس وارد پنل هاست خود شوید و بخش DNSSEC را پیدا کنید.
حالا روی Enable DNSSEC کلیک کنید. اطلاعاتی شبیه به اطلاعات زیر به شما نمایش داده میشود:
کدی به این شکل به شما نمایش داده میشود:
۲۰script.ir. IN DS 42586 5 2 5E6979DA9B796B24417DB16552E196BA620DA1E4DB48B476A850CEFFD41F3678
در عبارت بالا بعد از DS به ترتیب ۴ بخش قرار داده شده. مورد اول یعنی Key tag برابر با ۴۲۵۸۶ هست.
Algorithm برابر با عدد ۵ هست.
مقدار ۲ برابر با Digest Type هست و مقدار ۵E6979DA9B796B24417DB16552E196BA620DA1E4DB48B476A850CEFFD41F3678 برابر با Digest هست.
حالا کافیست وارد پنل مدیریت دامنه خودتان شده و این مقادیر را به ترتیب در بخش DNSSEC دامنه وارد کنید تا دامنه شما با DNSSEC هاست تنظیم شود.
ساخت یک وبسایت با سیستم مدیریت محتوای وردپرس جدای از تمام مزیتهایی که دارد، خطرات خاص خود را نیز داراست . وبسایتهای ساخته شده با وردپرس نیز میتوانند در مقابل حملات آنلاین و رخنهها قابل نفوذ و آسیب پذیر باشند. اما این مسئله نباید باعث شود ما وردپرس را یک سیستم ضعیف و به درد نخور ببینیم؛ زیرا هر سیستم دیگری هم که باشد باید در مقابل خطرات و حملات آن را تجهیز کرد. پس مسئله اینجاست که چطور برای بالا بردن امنیت وردپرس برنامه ریزی کنیم؟ چطور از این حملات جلوگیری کرده و احتمال رخ دادن حملات را به صفر برسانیم؟ برای پاسخ به این سوالات در ادامه برخی از استراتژیهایی که برای حفظ امنیت وردپرس کارآمد هستند را بررسی کردیم که از شما نیز میخواهیم آنها را با دقت مطالعه کنید.
بالا بردن امنیت وردپرس
وردپرس یکی از محبوبترین سیستمهای مدیریت محتوای موجود است که بیش از نیمی از وبسایتهای فعال در فضای اینترنت و خیلی از وبسایتهای معروف با این CMS ساخته شدهاند. اما با اینکه این سیستم در بروز رسانیهای متعدد خود بسیاری از مشکلات امنیتی را رفع میکند با این حال هنوز هم امنیت این وبسایتها در خطر است. خوشبختانه برای به حداقل رساندن این رخنهها راهکارهایی وجود دارد که میزان نگرانی ما را به حداقل میرساند. در ادامه به آنها اشاره میکنیم.
۱- ورود دو مرحلهای
ورود دو مرحلهای به این معناست که کاربر حتی بعد از وارد کردن پسورد در فیلد مورد نظر برای ورود باید یک مرحله دیگر هم طی کند و فقط دانستن پسورد کافی نیست. زمانی که این قابلیت را برای ورود به پنل وردپرس انتخاب میکنید یک کد از طریق ایمیل یا SMS برای کاربر ارسال خواهد شد که با وارد کردن و تایید آن میتواند به داشبورد وبسایت دسترسی داشته باشد. این راهکار شاید ساده به نظر برسد اما تاثیر بسزایی در بالا بردن امنیت وردپرس دارد.
۲- گواهینامه SSL
گواهینامه SSL که در واقع مخفف عبارت Secure Socket Layer است یک پروتکل امنیتی است. با استفاده از این پروتکل میتوانید در حین انتقال داده بین وبسایت خود و کاربران، ارتباطی ایمن برقرار کنید. این پروتکل قادر است تمامی اطلاعات در حال جابجایی را رمزگذاری کند که این امر احتمال فاش شدن اطلاعات را به صفر میرساند. برای مثال اگر وبسایت شما یک درگاه پرداخت آنلاین داشته باشد، وجود این پروتکل باعث میشود تا اطلاعات کارتهای کاربران و رمزهای آنها در امان بمانند. برای استفاده از این گواهینامه باید آن را از سرویس دهندههای معتبر تهیه کرده و بر روی وبسایت خود نصب کنید تا در حفظ امنیت وردپرس به شما کمک کند.
پیشنهاد وبژه
برای اینکه بتوانید گواهینامه SSL خود را راحتتر در وبسایت وردپرسی تایید کنید و ثبت نمایید میتوانید از افزونه Really Simple SSL کمک بگیرید.
۳- لینک ورودی را تغییر دهید
یکی از نقاط ضعف وردپرس که امنیت آن را در معرض خطر قرار میدهد، صفحه لاگین یا ورود آن است. بعد از ساخت وبسایت خود توسط این CMS یک صفحه ورود در اختیار شما قرار میگیرد که میتوانید به داشبورد خود دسترسی داشته باشید. متاسفانه لینک این صفحه برای تمامی وبسایتها یکی است با این تفاوت که دامین وبسایت مورد نظر متفاوت است و در انتها یک wp-admin اضافه شده و با آن به پیشخوان وردپرس منتقل میشویم. این امر باعث میشود که صفحه ورود شما قابل حدس و نفوذ باشد و افراد سودجو بتوانند به راحتی به آن دسترسی داشته باشند. به همین خاطر توصیه میکنیم لینک صفحه لاگین را برای بالا بردن امنیت وردپرس تغییر دهید.
پیشنهاد ویژه
برای حفظ امنیت در ورود به سایت حتما باید آدرس ورود به پیشخوان را تغییر دهید. برای این منظور بهتر است از افزونهای مانند Rename wp-login.php استفاده کنید.
۴- تهیه بکآپ بصورت مستمر
بک آپ گرفتن از اطلاعات یک راه ایمن برای حفط اطلاعات است که ما همیشه و تقریبا در اکثر مطالب به شما پیشنهاد میکنیم. چه یک وبسایت وردپرسی داشته باشید یا حتی اطلاعات موجود بر روی سیستم شخصی خود، بک آپ گرفتن منظم از اطلاعات باعث میشود احتمال از دست رفتن اطلاعات کاهش پیدا کند. فراموش نکنید که شما نمیتوانید زمان دقیق یک حمله به وبسایت خود را حدس بزنید یا برای آن برنامه ریزی کنید. همین موضوع یک دلیل محکم برای این است که از اطلاعات موجود در دیتابیس خود، تنظیمات، محتوا، قالبها و پلاگینها در بازهی زمانی مشخص بک آپ بگیرید. برای ذخیره این اطلاعات میتوانید به سراغ فضاهای ابری مثل GoogleDrive و DropBox بروید. (زیرا سیستم شخصی شما هم ممکن است مورد حمله قرار بگیرد.)
پیشنهاد ویژه
برای اینکه به یکباره غافلگیر نشوید حتما از یک افزونه بکآپ و بازگردانی استفاده نمایید. پیشنهاد ما به شما افزونه UpdraftPlus است.
۵- تعداد لاگینها را محدود کنید
یکی دیگر از استراتژیها برای حفظ امنیت وردپرس این است که تعداد لاگینهای غیرمجاز توسط یک کاربر را محدود کنید. به این معنی که یک کاربر بیش از چندبار اشتباه وارد کردن اطلاعات برای ورود، بلاک میشود. برای این کار پلاگینهای بسیاری برای وردپرس طراحی و ساخته شدهاند. این امر به حفظ امنیت وردپرس و عدم ورود هکرها به وبسایت شما جلوگیری میکند و راه سادهای برای جلوگیری از رخنه است. در واقع نام این اتفاق حملات Brute force نام دارد که باید اطلاعات خود را در این زمینه تقویت کنید.
پیشنهاد ویژه
جهت جلوگیری از حملات Brute force لازم است مطالب بیشتری را بدانید و عملیاتی را برای بهبود وضعیت آن انجام دهید. پیشنهاد میکنیم حتما مقاله مقابله با حملات brute force را مطالعه کنید.
۶- از پروتکل انتقال ایمن استفاده کنید
اینکه از چه راهی فایلها و اطلاعات را در وبسایت وردپرسی خود آپلود میکنید مسئله مهمی است. همچنین اینکه راه ایمن را انتخاب کنید مسئله مهمتری است. انتقال فایلها عموما با استفاده از پروتکل FTP که مخفف عبارت File Transfer Protocol است، مورد استفاده قرار میگیرد. اما برای اینکه این انتقال داده ایمنتر باشد بهتر است که از پروتکل SFTP استفاده کنید. S موجود در واقع به کلمه SECURE باز میگردد که منظور پروتکل ایمن برای آپلود اطلاعات است. برای استفاده از این پروتکل از سرویس هاستینگ خود درخواست کنید تا این امکان را برای شما فراهم کند.
۷- از پسوردهای ساده استفاده نکنید
معمولیترین اقدامی که برای بالا بردن امنیت وردپرس میتوانید پیش بگیرید این است که پسورد وبسایت خود را ساده انتخاب نکنید. پسورد در واقع مقدماتیترین لایه حفاظتی از تمامی فعالیتهای آنلاین محسوب میشود. البته اینکه بتوانید پسورد مناسبی انتخاب کنید کار آسانی نیست. احتمال اینکه پسوردهایی با ساختار ساده، زودتر فاش شوند بسیار بالاست. انتخاب پسوردهای پیچیده، امکان رمزگشایی آن را توسط هکرها کاهش میدهد.
پیشنهاد ویژه
شاید فکر کنید انتخاب پسورد قوی کار سادهایست اما اینچنین نیست. به همین دلیل پیشنهاد میکنیم اگر میخواهید پسورد قوی و غیرقابل نفوذی را انتخاب کنید، حتما مقاله “انتخاب پسورد ایمن برای وردپرس را چگونه انجام دهیم؟” را بخوانید.
۸- مانیتورینگ
اینکه پسورد قوی انتخاب کنید، از پروتکلهای ایمن استفاده کنید و … این تمام ماجرا نیست. شما باید نظارت کامل و همیشگی بر وبسایت خود داشته باشید. همچنین باید انتقالها و بارگذاریهایی که در وبسایت انجام میشوند را ردیابی کنید. این قضیه کمک میکند تا فعالیتهای مشکوک و دسترسیهای غیر قانونی را تشخیص دهید و برای بلاک کردن آنها اقدام کنید. برای این نظارت و ردیابی خوشبختانه پلاگینهایی موجود است که کار را سادهتر میکند. این افزونهها میتوانند تمامی فعالیتها را به صورت گزارش به شما تحویل دهند و در صورت مشاهده یک فعالیت مشکوک از طریق ایمیل به شما اخطار دهند.
پیشنهاد ویژه
اگر بخواهیم یک افزونه قدرتمند برای محافظت از سایت به شما معرفی کنیم، پیشنهاد ما iTheme Security است. این افزونه قابلیت حفاظت و مانیتورینگ سایت را برعهده میگیرد و به شما در بخشهای مختلف امنیتی کمک میکند.
حفظ امنیت وردپرس
مسئله امنیت را همیشه جدی بگیرید و هرگز از آن غافل نشوید زیرا تمام زحمات شما ممکن است یه شبه به باد رود و این بسیار ناراحت کننده بوده و شما را دچار ضرر و زیان میکند. برای بالا بردن امنیت وردپرس راهکارهای اصولی متعددی وجود دارد که ما در این مقاله ۸ مورد را برایتان مطرح کردیم. در واقع این ۸ مورد جزء موثرترین و مهمترین گزینههاییست که اگر رعایت شوند، با هیچ گونه مشکلی مواجه نخواهید شد.
خب مسلماً همه شما از میزان محبوبیت سیستم مدیریت محتوای وردپرس باخبر هستید و میدانید که افراد زیادی از این سیستم بهعنوان پلتفرم برای راهاندازی سایت خودشان استفاده میکنند. بدون شک یکی از مهمترین دلایل کسانی که از وردپرس استفاده میکنند این است که کدهای وردپرس ایمن میباشد. برای جلوگیری از حملات DDos در وردپرس چه باید کرد؟
اما خب شما باید این نکته را بدانید که این کدهای ایمن از حملات مخرب DDOS جلوگیری نمیکند که این موضوع نیز مختص به وردپرس نیست و تمامی نرمافزارها این مشکل را دارند.
DDoS در وردپرس، تاثیرات بسیار مخربی بر روی سایت شما دارد و عملکرد سایت شما را با مشکل مواجه می کند و باعث کند شدن سایت شما شده و در نهایت نیز سایت شما را از دسترس کاربران خارج می سازد.
بنابراین شما باید از این حملات به سایت خودتان جلوگیری کنید و بتوانید با استفاده از یک راهکار بسیار مؤثر از این حملات برای همیشه از سایت خود محافظت کنید. بنابراین با این مقاله همراه باشید.
حملات DDoS چیست
خب قبل از اینکه بخواهیم با یک مشکل روبهرو شویم باید یک شناخت کامل از آن داشته باشید و شما هم باید برای جلوگیری از این حملات، اطلاعات کامل از آن داشته باشید.
DDoS یک سری از حملات بسیار مخرب سایبری است که هدف اصلی آن کند کردن و درنهایت تخریب کامل سایت شما میباشد. این نوع از حملات درواقع یکی از انواع حملات “DoS” یا همان حمله به سرور میباشد.
روند کار آنها به این صورت است که یک سری ترافیک ورودی با حجم بسیار زیاد که عملاً غیرواقعی هستید را به سمت سایت شما روانه میکنند و تا جایی پیش میرود که سایت شما از کار بیافتد.
این نکته را در نظر بگیرید که هیچ سایتی نمیتواند از محفوظ بودن خود در برابر این حملات مطمئن باشد، فرقی ندارد شما یک سایت بزرگ را مدیریت میکنید یا یک وبسایت مبتدی، بههرحال ممکن است شما هدف این دسته از حملات مخرب قرار بگیرید؛ پس باید از آن جلوگیری کنید.
معمولاً این حملات با انگیزههای مختلفی صورت میگیرد، بهعنوانمثال افرادی که به دنبال این هستند که یک نکته سیاسی ایجاد کنند، افرادی که درصدد باجگیری هستند و یا حتی در برخی مواقع افراد باهوشی دست به این کار میزنند که به دنبال ماجراجویی هستند.
DDoS در وردپرس چه مشکلاتی ایجاد میکند؟
از دسترس خارج شدن سایت شما ممکن است پیامدهای بسیار برای شما و سایتتان داشته باشد، تا جایی که ممکن است آینده شغلی شما به خطر افتد و شما شغل خود را از دست بدهید؛ ازآنجاییکه شما به سایت خود دسترسی نخواهید داشت مسلماً کاربران زیادی را از دست خواهید داد که درنهایت منجر به از دست رفتن کسبوکارتان خواهد شد.
همچنین شما ناچار باید یک هزینهای را برای استخدام یک سری از افراد برای کاهش حملات و جلوگیری از آنها در نظر بگیرید.
این مورد را در نظر داشته باشید که تجربه کاربری بدی که بازدیدکنندگان در طی این جریان تجربه میکند، با هیچ هزینهای قابل جبران نیست و این نفوذ درواقع اسم برند شما را از بین خواهد برد.
آموزش جلوگیری از DDoS در وردپرس
روشهایی که در اینجا برای شما خواهیم گفت، کاربردی هستند و تا حد بسیار زیادی سایت شما را از شر حملات DDoS در وردپرس نجات خواهد داد. پس اگر به دنبال این هستید که از این حملات در سایت وردپرسی خود جلوگیری کنید، تمامی نکاتی که در این بخش آورده شده است را قدمبهقدم رعایت کنید.
XML RPC را در وردپرس غیرفعال کنید
یکی از قابلیتهای وردپرس که ممکن است با آن آشنایی داشته باشید XML RPC میباشد. شما برای اینکه بتوانید وردپرس خودتان را با یک برنامه شخص ثالث متصل کنید، به XML RPC نیاز دارید، ازاینرو غیرفعال کردن این مورد را تنها به افرادی پیشنهاد میکنیم که عملاً این قابلیت برای آنها کارایی زیادی ندارد.
اگر بخواهیم با یک مثال این موضوع را برای شما بگوییم، میتوان به مدیریت کردن وردپرس از طریق تلفنهای هوشمند شما اشاره کرد، اگر شما از این قابلیت وردپرس بر روی تلفن همراه خود استفاده نمیکنید به شما پیشنهاد میکنیم آن را غیرفعال کنید تا بتوانید از حملات DDoS تا حدودی جلوگیری کنید.
برای این کار باید قطعه کد زیر را در فایل.htaccess سایت قرار دهید:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
REST API را غیرفعال کنید
یکی دیگر از روشهایی که میتوانید برای جلوگیری از حملات DDoS در وردپرس به سایت شما مفید باشد، غیرفعال کردن REST API در سایت است. درواقع شما باید تا جایی که میتوانید از هر عاملی که توانایی ایجاد تغییرات در سایت شما دارند را جلوگیری کنید؛ که یکی از مهمترین آنها موردی است که به آن اشاره شد.
درواقع ابزارها و افزونههای شخص ثالث از طریق این قابلیت وردپرس، بهتمامی محتوا و دادههای سایت شما دسترسی خواهند داشت، که این مورد بهتنهایی میتواند عامل حمله به سایت شما را برای افراد فراهم سازد؛ بنابراین شما باید آن را غیرفعال کنید.
غیرفعال کردن REST API از طریق افزونه
شما برای غیرفعال کردن این قابلیت در وردپرس نیاز به افزونه دارید. Disable WP REST API یکی از بهترین افزونههایی است که میتواند در این زمینه به شما کمک کند. کار این افزونه این است که REST API را برای کاربرانی که لاگین نیستند غیرفعال میکند.
این افزونه کاملاً رایگان است و شما میتوانید آن را از طریق مخزن وردپرس خود دانلود و نصب نمایید. برای نصب این افزونه راهنمایی ما برای نصب افزونه در وردپرس را مشاهده نمایید.
فایروال سایت را فعال کنید
اگر سایت شما حملات جدی DDOS را تجربه میکند پس شما نیاز دارید که فایروال سایت خود را فعال نمایید. الگوریتمی که فایروال بر روی سایت شما اجرا میکند بسیار حرفهای است و میتواند بهراحتی تمامی ترافیک ورودی را بررسی کند و ورودیهای مشکوک را تشخیص دهد و آن را مسدود میکند، بهاینترتیب، این ورودیها به سایت شما دسترسی نخواهند داشت و نمیتوانند وارد سایت شوند.
برای این کار میتوانید از کلودفلر استفاده کنید. درواقع شما با استفاده از کلودفلر یک دیوار دفاعی برای سایت خود ایجاد میکنید که هر تلاشی برای ورود به سایت شما اول به سرورهای این برنامه برخورد خواهد کرد و درنهایت سایت شما از حملات DDOS محفوظ خواهد ماند.
برای اینکه بتوانید CloudFlare را بر روی وردپرس خود نصب کنید، مقاله آموزشی نصب Cloudflare روی سایت و انجام تنظیمات آن را مشاهده نمایید. البته دقت داشته باشید که پس از نصب این نرمافزار باید به بخش Firewall بروید و یکی از سطوح امنیتی را که در اختیارتان قرار گرفته است، به نسبت میزان قوی بودن یا نبودن حملات DDOS، انتخاب کنید.
تفاوت حمله Brute Force و DDoS
همانطور که در بالا هم به آن اشاره کردیم، هدف اصلی حملات DDoS صرفاً خراب کردن عملکرد سایت به کمک کند کردن آن میباشد که درنهایت این کار به Down شدن یا غیرقابلدسترس شدن سایت منجر خواهد شد.
این در حالی است که Brute Force، عملکرد کاملاً متفاوتی دارد و قصد دارد با استفاده از یک سری رمز عبورهای تصادفی و ترکیبی به سایت شما نفوذ کند. اگر میخواهید از حملات Brute Force به سایت خود جلوگیری کنید میتوانید یک سری راهکار را در پیش بگیرید. پیشنهاد میکنم مقاله ۸ روش برای جلوگیری از حملات Brute Force در سایت وردپرسی را مطالعه نمایید.
تشخیص نوع نفوذ به سایت
در برخی مواقع ممکن است این دو حمله شما را گمراه کنند و شما متوجه نشوید که کدامیک از این حملات در سایت شما رخ داده است. شما برای اینکه بتوانید با حملات سایت خود مقابله کنید، باید آن را بهدرستی تشخیص دهید.
برای اینکه بتوانید این دو حمله را از یکدیگر تشخیص دهید نیاز به افزونه دارید.
برای این کار میتوانید از دو پلاگین All In One WP Security & Firewall و Sucuri استفاده کنید. این پلاگینهای رایگان بهراحتی به شما نشان خواهد داد که حملات سایت شما از نوع DDOS میباشد یا خیر.
بعدازاینکه افزونه Sucuri را بر روی سایت خود نصب و فعال کردید، یک گزینه به اسم همین افزونه به پیشخوان وردپرس شما اضافه خواهد شد که دارای چند زیرمجموعه است.
مطابق تصویر بالا، Last Logins را انتخاب کنید تا یک صفحه مشابه با تصویر برای شما باز شود.
از میان تبهایی که در بالای صفحه مشاهده میکنید، Failed Logins را انتخاب کنید تا تمامی تلاشهایی که برای ورود به سایت شما شده است را مشاهده نمایید. اگر در این بخش تعداد زیادی تلاش ناموفق را مشاهده کردید به این معنا است که سایت شما مورد حمله DDOS قرار گرفته است.
تنظیمات افزونه All In One WP Security
پس از نصب و فعالسازی افزونه، برای مشاهده تعداد کاربرانی که ورودی ناموفق به سایت شما داشتهاند باید به پیشخوان» امنیت کامل وردپرس» ورود کاربران شوید.
با کلیک کردن بر روی گزینههای گفته شده، یک صفحه مشابه تصویر زیر مشاهده خواهید کرد:
حالا باید به تب “رکود ورودهای ناموفق” وارد شوید تا بتوانید تمامی تلاشهای ناموفقی که به سایت شما وجود داشته است را مشاهده کنید.
وقتی DDOS اتفاق افتاد چیکار کنیم؟
خب شما باید این نکته را در نظر بگیرید که باوجود همه مواردی که به آن اشاره شد، بازهم این امکان وجود دارد که سایت شما مورد این حملات قرار گیرد. البته شما این حملات را با استفاده از کارهایی که در بالا به آن اشاره شد بسیار کاهش خواهید داد، اما بهصورت کلی این مواردی که در اینجا به شما خواهم گفت را باید سریعاً هنگام تشخیص DDOS انجام دهید.
اولین کاری که باید انجام دهید این است که گروه پشتیبانی خود را از این موضوع آگاه کنید، گروه پشتیبانی شما باید اطلاعات کافی از مشکل داشته باشند تا بتوانند پاسخگوی کاربرانی باشند که با شما برای رفع مشکل در تماس خواهند بود. مخصوصاً اگر سایت شما فروشگاهی باشد و کاربران بخواهند یک خرید را ثبت کنند باید بتوانید با آنها همکاری لازم را به عمل بیاورید.
این حمله سایت شما را از دسترس کاربران خارج خواهد کرد، پس به کاربران خود این موضوع را توضیح دهید تا بتوانید از یک تجربه کاربری بد جلوگیری کنید. اگر شما بتوانید در این زمان با کاربر خود در این خصوص صحبت کنید میتواند اعتماد کاربران را جلب کنید و اعتبار برند خود را نیز محفوظ نگه دارید.
هاست شما ممکن است گزینه بعدی برای حمله باشد، پس شما باید سریعاً با پشتیبانی آن ارتباط برقرار کنید و آنها را از این حمله آگاه کنید، تا در صورت امکان پشتیبانی هاست به شما برای رفع این مشکل کمک کند. البته اگر از فایروال Sucuri نیز استفاده میکنید، باید به تنظیمات این افزونه بروید و تنظیمات را در حالت Paranoid قرار دهید.
نتیجه گیری
درست است که وردپرس با کدگذاریهایی ایمنی که دارد میتواند تا حد زیادی خیال شما را راحت کند، اما خب برخی اوقات شما باید با یک سری راهکار سایت خود را ایمن کنید و آن را از هر نوع خطر احتمالی حفظ کنید.
بنابراین اکیداً به شما پیشنهاد میکنیم راهحلهایی که در این مقاله به آن اشاره شد را دستکم نگیرید، چراکه حملات DDOS میتواند برای سایت شما بسیار خطرناک باشد و شما را با یک شکست جبرانناپذیر روبهرو کند.
۵ روش آسان برای جلوگیری از سرقت پهنای باند در وردپرس
هیچ چیز بدتر از این نیست که شخصی تصاویر یا پهنای باند شما را سرقت کند اما متاسفانه این موضوع امری طبیعی و شایع در اینترنت می باشد. این سرقت را به اصطلاح hotlinking می گویند که امروز میخواهیم در مورد راه های جلوگیری از سرقت پهنای باند در وردپرس صحبت کنیم.
جلوگیری از سرقت پهنای باند در وردپرس یا hotlinking
مفهوم hotlinking بسیار ساده است. شما یک تصویر در اینترنت پیدا میکنید و از آدرس آن در وبسایت خود استفاده میکنید. درست است که این تصویر در وبسایت نمایش داده میشود اما در حقیقت از سرویس دیگری استفاده میکند! به این مورد hotlinking میگویند که در واقع سرقت پهنای باند از یک منبع دیگر است. اینکار دقیقا مانند این است که در حین حرکت بنزین ماشین تمام شود و برای تهیه ی بنزین از ماشین پارک شده ای در خیابان بنزین برداریم! با توجه به گفته ها برای جلوگیری از سرقت پهنای باند در وردپرس بهتراست به مواردی توجه کنید:
لینک های سرقتی برای صاحب وبسایت هزینه دارد: شخصی که از تصویر یا لینکی در وبسایت شما استفاده میکند شاید متوجه سرقت بزرگ خود نشده باشد اما هزینه ی سنگینی را بر دوش شما گذاشته است.
استفاده غیرقانونی از hot linking: استفاده از این نوع لینک ها در اغلب موارد غیر قانونی است.
چرا؟ به این علت که بسیاری از تصاویر در وب دیده میشود و دارای لایسنس هستند. تصاویری که دارای عکس لوگوی سازنده یا به عبارتی دارای واترمارک هستند به دو صورت است:
تحت هیچ شرایطی امکان استفاده آن وجود ندارد مگر خریداری شود.
تصاویری که در وبسایت یا بلاگ خود استفاده میکنید.
هر یک از دو مورد بالا را استفاده کنید قوانین را شکسته اید و به لایسنس آن توجه نکرده اید!
تخلیه از منابع سرور
لینک های سرقت شده میتواند منابع زیادی از سرور را تخلیه کنند. تصور کنید از هاست اشتراکی استفاده میکنید و این مورد برای تصاویر شما ایجاد میشود همین امر سبب تخریب شده و بعد از مدتی اکانت هاست شما بسته خواهد شد یا به اصطلاح suspend میشود.
سرقت پهنای باند در وردپرس یک نوع تنبلی است
آیا فکر میکنید افرادی که دست به این کار میزنند از سر تنبلی است؟ در اکثر مواقع افراد آگاهی ندارند که این کار چه مسائلی را به وجود خواهد آورد و مشکل ساز است. آنها مشغول نوشتن مطالب میشوند و سپس تصاویر را از جای دیگری کپی میکنند در صورتی که باید جلوگیری از سرقت پهنای باند در وردپرس را رعایت کنند.
سرقت پهنای باند تاثیری در سئو ندارد
این مسئله آسیبی به سئوی سایت نمی زند اما احتیاج به تنظیم درستی دارد. موتورهای جستجو مانند گوگل، بینگ، یاهو و… احتیاج دسترسی به تصاویر برای ایندکس کردن جهت نمایش دارند. برای مثال زمانیکه شما تصویری را در سرچ گوگل مشاهده میکنید تصویر شاخص از حافظه ی پنهان در گوگل نمایش داده خواهد شد.
چگونه امکان جلوگیری از سرقت پهنای باند در وردپرس را فراهم کنیم؟
راه های مقابله با hotlinking
۱- CDN
با کمک شبکه تحویل محتوا می توانید فرآیند کار خود را سرعت ببخشید و تا حدی از این موضوع نیز جلوگیری کنید.
۲- Apache
۳- NGINX
۴- افزونه های وردپرس
افزونه هایی وجود دارند که به کمک آنها می توان از این موضوع جلوگیری کرد. افزونه All in one security and firewall امکان جلوگیری از سرقت پهنای باند در وردپرس را برای ما فراهم می کند.
۵- فایل های تغییرنام یافته
۶- سی پنل
با کمک موارد گفته شده در بالا می توانید اجازه سرقت رفتن لینک هایتان را به افراد ندهید و امنیت خوبی برای خود ایجاد کنید.
بسیاری از کاربران بر حسب نیازشان تمایل دارند نام نویسنده در پستها را به کاربران سایت خود نمایش ندهند، وردپرس به طور پیش فرض نام نویسنده را همزمان با انتشار پست نمایش میدهد. امروز چگونگی حذف نام نویسنده از پست های وردپرس را توضیح میدهم، به دو روش صورت میگیرد.
روش ۱: حذف نام نویسنده از پست های وردپرس با افزونه Show Hide Author
یک روش آسان است اما ممکن است یا بعضی از قالب ها سازگار نباشد. افزونه را دانلود و نصب کنید، پس از فعال سازی افزونه گزینه Show/Hide Author به منوهای پیشخوان وردپرس اضافه می شود.
این افزونه به طور خودکار نام نویسنده را برای تمامی نوع پست ها مخفی می کند. اگر میخواهید نام نویسنده را برای برخی از نوع پستهای خاص نمایش دهید، در صفحه تنظیمات افزونه تیک بخش مورد نظر را بزنید. همچنین در زیر نوع پستها، شما می توانید URL های سفارشی را که قصد دارید نام نویسنده را مخفی کنید، اضافه کنید.
در برخی از قالب ها ممکن است حتی با حذف کردن نام نوسینده، عبارت قبل از نام نویسنده را نیز نمایش دهد، به فرض مثال: by javad، به این صورت by حذف نشده و در سایت نمایش داده می شود. برای نمایش ندادن آن راه حل زیر را به کار ببرید.
در سایت، کنار پست روی عبارت توسط یا by کلیک راست و روی inspect کلیک کنید.
سپس نام کلاس by را یافته، در بخش تنظیمات پیشرفته، the parrent classes مانند شکل زیر کپی و جایگذاری و در آخر ذخیره کنید.
روش ۲: حذف نام نویسنده از پست های وردپرس به صورت دستی
در این روش نیاز است در فایل های قالب وردپرس تغییراتی ایجاد کنید. پس بهتر است در گام اول یک پشتیبان از قالب خود تهیه کنید. قالب های وردپرس از کد های مختلفی برای نمایش نام نویسنده استفاده می کند، پس در گام اول باید کد را یافته و حذف کنید. به طور معمول کدها را میتوان در فایل های single.php ،content.php ،archive.php، و index.php پیدا کرد. گاهی اوقات نمیتوانید کد نمایش نام نویسنده را در فایل های ذکر شده بیابید، در این صورت برچسب قالب را در فایل های functions.php file و template-tags.php پیدا کنید.
به فرض مثال قالب پیش فرض Twenty Seventeen وردپرس از تابع twentyseventeen_posted_onبرای نمایش نام نویسنده و تاریخ / زمان پست استفاده میکند. تابع در فایل template-tags.php مانند زیر تعریف شده است.
function twentyseventeen_posted_on() {
// Get the author name; wrap it in a link.
$byline = sprintf(
_x( 'by %s', 'post author', 'twentyseventeen' ),
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . get_the_author() . '</a></span>'
);
// Finally, let's write all of this to the page.
echo '<span class="posted-on">' . twentyseventeen_time_link() . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.
}
اکنون فقط کد نمایش نام نویسنده را حذف و در آخر ذخیره کنید. سپس سایت را اجرا کنید و نتیجه را مشاهده نمایید.
function twentyseventeen_posted_on() {
// Finally, let's write all of this to the page.
echo '<span class="posted-on">' . twentyseventeen_time_link() . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.
}
این روزها بازار فایلهای مخرب و تروجان خیلی داغ شده و هر چند وقت یکبار، سایتی را میبینیم که هک شده یا با وارد کردن آدرس آن، به سایت تبلیغاتی دیگری منتقل میشویم. هر چند اکثر این مشکلات به دلیل قالب یا افزونه نال شده بوجود میآید اما احتمال رخ دادن مشکلات دیگری نظیر باگ امنیتی افزونههای رایگان مثل باگ افزونه Duplicator که همین چند وقت پیش با آن دست به گریبان شدیم هم وجود دارد. حفرههای امنیتی سایت وردپرسی که شما یا… که همگی باعث از دست رفتن تلاش چند ساله شما خواهد شد. اما وقتی مشکلی بوجود آمد، باید اول آنرا حل کنیم و بعد ببینیم به چه دلیل بوجود آمده تا از آن درس عبرت بگیریم و دیگر با چنین مشکلی مواجه نشویم.
پیدا کردن فایلهای مخرب و تروجان
پس تصمیم گرفتیم در ابتدا فایلهای مخرب و تروجان را حذف کنیم. برای حذف این فایلها چه باید کرد؟ روشهای مختلفی برای پیدا کردن و حذف این فایلها هست که خدمتتان توضیح خواهم داد.
روش اول: استفاده از CXS روی سرور وبسایت
یکی از بهترین eXploit اسکنرهای موجود که هاست شما میتواند روی سرور استفاده کند، CXS هست که توسط شرکت Config Server منتشر شده. این اسکنر میتواند به راحتی فایلهای مخرب وردپرسی را پیدا کرده و حذف کند. (البته اگر درست و دقیق کانفیگ شود.)
در نتیجه بهتر است در ابتدا از مدیر سرور یا هاستینگ خود بخواهید تا سایتتان را با اسکنر خود (که انشالله CXS هست.) اسکن کنند و شما را از شر فایلهای مخرب نجات دهند.
روش دوم: استفاده از پلاگینهای اسکنر امنیتی وردپرس
دومین روش و روش آخر برای انجام اینکار، استفاده از پلاگینهای اسکنر امنیتی مثل Sucuri یا Wordfence Security هست. با استفاده از این افزونهها میتوانید اسکن امنیتی روی سایتتان انجام دهید و فایلهای مخرب را حذف کنید. البته به اندازه اسکنر هاست دقیق نیست چرا که فقط پوشه روت هاست شما را اسکن میکنند. وقتی سایتتان را با اسکنر هاست اسکن میکنید، در واقع اسکن سایت شما شامل ایمیلها و تمام پوشههای موجود روی اکانت شما در سرور میزبان خواهد بود.
بعضی فایلها، اصلا مخرب نیستند!
بعضی از فایلهای روی وردپرس شما اصلا مخرب نیستند! به عنوان مثال:
قالبهای رایگان ما توسط سرویس مشابه fopo و سورس گاردین توسط سازندگان قالب ها کدگذاری میشوند تا کاربران عزیز لینک های را به عنوان توسعه دهنده قالب، حذف نکند. حالا که کدها قفل شدهاند، اسکنر هاست شما به آنها به چشم تروجان و فایل مشکوک نگاه میکنند! البته هاستینگ و اسکنر هم مقصر نیستند! در هر صورت این فایل چون کدگذاری شده به عنوان فایل مشکوک شناسایی میشود و باید این فایل را از WhiteList اسکنر هاست قرار دهید یا کلا از خیر این قالب گذشت.
روش معمولی مورد استفاده توسط هکر ها برای دسترسی غیر مجاز به وب سایت Brute Force نام دارد. هکرها از نرم افزار طراحی شده برای اسکن وب سایت برای آسیب پذیری و دسترسی با استفاده از سو استفاده از آنها استفاده میکنند. در این مقاله ما به شما نحوه ی جلوگیری از هک شدن وردپرس از طریق مخفی کردن نویسنده ها را آموزش میدهیم.
ابتدا تلاش برای یافتن نام کاربری برای وبلاگ یا شناسه ی نویسنده میباشد. اغلب نام کاربری برای ورود به وردپرس استفاده میشود و با نام نویسندگان یکسان است. پس از یافتن نام کاربری نیمی از مشکل حل میشود. در حال حاضر آنها نیروی سایت را برای شکستن رمز عبور با ترکیب کردن رمزهای مختلف قرار میدهند. برای جلوگیری از اسکن نویسنده روی سایت کد زیر را به دایرکتوری وردپرس اضافه کنید:
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=d+) [NC]
RewriteRule .* - [F]
# END block author scans
این کار باعث جلوگیری رباتها برای اجرای اسکن نویسندگان سایت میشود. کاربران وب سایت شما میتوانند به صفحه نویسنده دسترسی پیدا کنند اما رباتها نمیتوانند این کار را انجام دهند.