discord icon
سرور دیسکورد گاردایران
mownten

آموزش عملکرد CloudFlare و راهکار های بایپس آن

پست های پیشنهاد شده

با سلام خدمت همه ی دوستان

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

در اینجا چندین روش رو میخوام توضیح بدم، یه توضیح خلاصه ای در خصوص پس زمینه ی تئوریک چگونگی و چرایی عملکرد Cloudflare ارائه بدم و بعدش هم توضیحاتی رو در خصوص حل اون موانع بگم:

1- DNS Resolution

پس زمینه:

اساسی ترین تکنیک اکثر Resolver ها (جاهایی که آی پی محافظت شده توسط CloudFlare رو کشف و اعلام می کنند) استفاده از روش بروت فورس رکورد های DNS هست. اما اول، بذارید توضیح کوچیکی بدم که این چطور کار میکنه. فرض کنید شما صاحب وبسایت example.com با ای پی سرور 111.111.111.111 هستید. 

عملکرد کلاسیک Cloudflare به شرح عکس زیر هست:

k244_cloudflare.jpg

بطور خلاصه، شما مدیریت DNS خودتون رو میدید دست CloudFlare. رکورد A دامنه ی شما (که توی عکس نوشتم "وبسایت بدون حفاظ شما") به آدرس آی پی شبکه گسترده و جهانی CloudFlare تغییر پیدا میکنه. الان دیگه کلیه اتصالات به وبسایت example.com بجای آی پی اصلی به آی پی CloudFlare (مثلا 222.222.222.222) ارسال میشن و CloudFlare هم درخواست های پراکسی بین بازدید کننده ها و سرور اصلی رو رزرو میکنه تا این اتصال با وجود یک واسط ایجاد بشه.

موضوع این هست که CloudFlare فقط ارتباطات HTTP/HTTPS (پورت های 80 و 443) دریافتی از فضای سراسری وب به ای پی سرور شما رو پراکسی میکنه و از طریق پورت دیگه ای نمیتونه شما رو مخفی بکنه. اینجا چه اتفاقی میفته؟ ماجرا اینه که با وارد کردن آدرس example.com توی مرورگر شما از طریف پورت HTTP یا HTTPS به آی پی 222.222.222.222 وصل میشید ولی اگر بزنید ftp.example.com امکان ارتباط از طریق پورت 21 یا هر سرویس در حال اجرای دیگه ای به وبسایت رو ندارید. چونکه Cloudflare نمیاد پورت 21 شما رو هم محافظت کنه. سرور های CloudFlare به FTP (پورت 21)، SSH (پورت22)، cPanel (پورت 2082) و غیره جواب نمیدن.

یک سوال؟ اگر CloudFlare به این درخواست های من جواب نمیده پس چطور مدیر وبسایت به سرور میتونه وصل بشه؟

این جوابی هست که خود CloudFlare داده:

نقل قول

چطور به SSH متصل شویم؟

سرویس CloudFlare فقط ترافیک HTTP رو پراکسی میکنه. اگر نیاز دارید که به پورت دیگه ای از سرور وصل بشید، شما باید از رکوردی استفاده کنید که در پنل مدیریت DNS، حالت CloudFlareش فعال نشده باشه. یا هم میتونید بطور مستقیم به آی پی اصلی سرور متصل بشید

مثال:

User@ssh.example.com

user@111.111.111.111

راه حل اینه که به سادگی یک رکورد DNS بسازید مثل direct.example.com که بتونید ارتباط مستقیمی به سرور داشته باشید. (مدیرانی که آی پی سرور براشون مهم هست و ممکنه اتصال مستقیمشون به سرور از طریق شبکه ردیابی بشه، این ارتباط رو با پراکسی های دیگه انجام میدن چونکه اگر بدون ملاحظه مسایل امنیتی بخوان مستقیم به سرور وصل بشن ممکنه توی شبکه ی LAN دیده بشه و آی پی لو بره)

حمله:

حالا فرض کنید که قصد حمله داریم. اگر آدرس example.com رو پینگ کنیم متوجه میشیم که ویژگی حفاظت توسط CloudFlare فعال شده و به این معنی هست که example.com و www.example.com هر دوشون یه ای پی دارن که اونم متعلق به CloudFlare هست.

با استفاده از توضیحاتی که بعنوان پس زمینه دادم، میدونید که مدیر کل وبسایت احتمالا زیردامنه های دیگه ای که بطور مستقیم به سرور اصلی متصل میشن و توسط CloudFlare محافظت نمیشن رو ایجاد کرده. خب به راحتی میتونید حدس بزنید این آدرس ها چی هستند و بعدش اونها رو پینگ کنید. بعضی از زیردامنه های عمومی و مشهور mail ، ftp ، ssh ، direct هستند. مثلا

webmail.example.com
mail.example.com
ftp.example.com
ssh.example.com
direct.example.com

باز هم میگم که این روش توسط همه ی Resolver ها (Cloudflare IP resolvers/scripts) مورد استفاده قرار میگیره. برای نمونه اینجا کلیک کنید. (توی این لینک آدرس وبسایتی که میخواد رو وارد کنید و روی Search DNS کلیک کنید. میبینید که این سایت با استفاده از روشی که گفتم DNS هایی که بنظرش ممکنه وجود داشته باشه رو جستجو میکنه و اگر وجود داشته باشن، آی پی شون رو جلوشون مینویسه. همچنین در پایین صفحه به شما میگه که آیا وبسایت توسط CloudFlare تحت محافظت هست یا نه. آی پی CloudFlare هم نشونتون میده)

ضد حمله:

انجام عملیات های DNS Resolution بر روی وب سایت های محافظت شده توسط CloudFlare یک نوع حمله ی رایج در بین حمله کنندگان هست که اکثر ادمین های محتاط سعی میکنند مواظب زیردامنه های معمول و قابل حمله باشند. اگر شما بعنوان ادمین وبسایت قصد دارید که بدون وجود زیردامنه به سرور اصلی خود متصل شوید، هم می توانید یه دامنه ی کاملا جداگانه ایجاد کنید (مثلا connect.example2.com) و یا اینکه در محیطی امن بصورت مستقیم به سرور خود وصل شوید.

***

2- تاریخچه DNS/Hosting

پس زمینه:

اگر شما بعنوان ادمین در حال فعال سازی سرویس CloudFlare برای وب خود هستید (example.com)، این رو باید در نظر بگیرید که وب شما از اول کار در دسترس بوده و یه آی پی عمومی هم داشته (111.111.111.111)

اگر یک وبسایت برای مدتی (تقریباً یک ماه) بر روی یک آی پی یکسان هاست شده باشه، امکان داره که یه خزنده ی وب (Web Crawler) بهش دسترسی پیدا کرده باشه. خیلی از این خزنده ها جزئیات وبسایت رو بصورت گزارش ذخیره می کنند و ارائه میدن.

حمله:

حمله کننده میتونه به راحتی تاریخچه ی هاستینگ وبسایت رو توی دیتابیس های مختلف جستجو کنه (LOOK UP)  و بفهمه که قبل از راه اندازی سرویس CloudFlare، آی پی سرور اصلی چی بوده. توی تاپیک زیر دو سرویس رایگان برای همچنین حمله ای معرفی کردم:

ضد حمله:

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

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

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری