ممکن است برای شما پیش آمده باشد که وبسایت شما تحت حمله (Attack) باشد، در این حالت بازدیدهای سایت شما بصورت ناگهانی بالا رفته و تمامی منابع هاست یا سرور شما بصورت 100% درگیر میشود، وبسایت بسیار کُند شده و یا از دسترس خارج میشود. پیش تر در مقالهی کاهش حملات DoS و DDoS با تنظیمات در فایروال CSF یک راهکار ارائه شده است، در این مقاله، راهکاری را ارائه خواهیم نمود که سرور شما تنها request مربوط به کلود فلر را پاسخ دهد و آی پی سرور شما تنها از طریق آی پی های کلود فلر در دسترس باشد، با ما همراه باشید.
حمله (Attack) چیست؟
هنگامی که وب سایت و یا سرور مجازی دچار حمله (Attack) میشود آن سرور به مشکل میخورد و حمله بر روی تمامی شبکهی سرور و پورت اصلی وب سرور تاثیر خواهد گذاشت زیرا این حملات مستقیماً بر روی سرور انجام می شود. حمله DDoS مخفف (distributed denial of service) به بیان ساده یعنی سرازیر کردن درخواستهای (Request) زیاد به یک سرور و استفاده بیش از حد از منابع (پردازنده (CPU)، پایگاه داده، پهنای باند، حافظه(RAM) و…) به طوری که سرویس دهی عادی آن به کاربران دچار اختلال شود یا از دسترس خارج شود. (به دلیل حجم بالای پردازش یا به اصطلاح overload شدن عملیاتهای در حال انجام روی سرور)، در این نوع حملهها در یک لحظه یا در طی یک زمان به صورت مداوم از طریق کامپیوترهای مختلف که ممکن است خواسته یا حتی ناخواسته مورد استفاده قرار گرفته باشند، به یک سرور (با ip مشخص) درخواست دریافت اطلاعات ارسال میشود و موجب از دسترس خارج شدن سرور یا به اصطلاح Down شدن سرور می شود.
فایروال چیست؟
Firewall ابزاری است که مانع ترافیک ورودی (InBound) و ترافیک خروجی(OutBound) غیر مجاز در شبکه سرور میشود. در مواقعی نیاز است تنظیماتی در فایروال اعمال شود تا یک ترافیک خاص از فایروال عبور کند و دقیقاً در همین شرایط است که اصطلاحاً باید یک پورت خاص باز شود. جهت باز کردن یک پورت خاص در فایروال، میتوانید این آموزش را مطالعه نمائید.
کلودفلر (Cloudflare) چیست؟
کلود فلر با شعار زیر ساخت اینترنتی بهینهتر و امنتر، در سر تا سر جهان به کمک شبکهای قدرتمند سرویس دهی میکند. بارگزاری (لود سایت)، امنیت و بهینه سازی سایتها را سرعت بخشیده تا کاربران کیفیت بالاتری از دسترسی به سایت مورد نظرشان در شبکه جهانی اینترنت را تجربه کنند. شبکه تحویل محتوا یا CDN که مختصر شدهی عبارت (Content Delivery Network) است. از مجموعهای از سرورها تشکیل شده است که در چند نقطه از جهان وجود دارند و با هم در ارتباط هستند. وقتی یک وب سایت از CDN استفاده می کند، اطلاعات سایت در این چند شبکه به صورت بهینه شده، ذخیره میگردد و زمانی که کاربری درخواست ورود به سایت را در مرورگر اجرا می کند، این بار به جای اینکه درخواست، مستقیما توسط وب سرور سایت response داده شود، نزدیکترین سرور CDN از نظر جغرافیایی به کاربر به این درخواست پاسخ داده و در سریع ترین زمان محتوای سایت برای کاربر به نمایش در میآید. این سرویس تاثیر بسیاری در افزایش سرعت تحویل محتوا و پهنای باند در سایت هایی که ترافیک بالا دارند دارد. با استفاده از سرویس کلود فلر برای وب سایت، هر درخواستی(request) که به طرف سایت ارسال شود، از فیلتر Cloudflare عبور کرده و اگر ربات یا هکری، قصد خراب کاری و حمله به سایت شما را داشته باشد، توسط فایروالهای قدرتمند این سرویس، شناسایی شده و مسدود می شود. به طوری کلی می توان گفت زمانی که ترافیک یک سایت، از فیلتر های کلود فلر عبور می کند آن سایت از هر گونه سو استفاده و حمله سایبری ایمن خواهد ماند. در نظر داشته باشید کلودفلر در ساختار سایت، هیچ دخل و تصرفی ایجاد نمیکند و تنها ترافیک سایت، از فیلتر این سرویس عبور می کند.
همانطور که اشاره شد، کلود فلر یک سرویس رایگان است و تمامی وب سایتها می توانند، از آن استفاده کنند. تنظیمات مربوط به پلن رایگان کلود فلر در مدت زمان کوتاهی قابل اجرا هستند. برای انجام این کار لازم است تا DNS های این سرویس را، روی دامنه سایت خود تنظیم کنید. و به این ترتیب همه در خواستها از سوی کاربران و ربات ها به سوی کلود فلر ارسال خواهند شد. از آنجایی که تمامی دادههای سایت روی سرورهای کلود فلر نیز ذخیره میشوند، اگر بصورت اتفاقی وب سرور اصلی میزبان سایت، از دسترس خارج شود، همچنان بدون هیچ مشکلی، سایت برای کاربران به نمایش داده میشود. در سرویس کلود فلر از تکنولوژی (Anycast) استفاده شده است. این فناوری با تشخیص موقعیت جغرافیایی کاربران، آنها را به نزدیکترین سرور متصل می کند. که این کار سبب سرعت بخشیدن در بارگزاری سایت نیز خواهد شد.
تنظیمات پاسخ دادن سرور محدود به آیپیهای کلودفلر
در ابتدا میبایست آیپیهای v4 و v6 کلودفلر را از این لینک استخراج نمائید.
سپس از طریق iptables در فایروال لینوکس ipv4های کلودفلر را تنها روی آیپیهای 80 و 443 را از طریق کامندهای زیر allow نمائید.
پس از آن میبایست ipv6های کلودفلر را تنها روی آیپیهای 80 و 443 را از طریق کامندهای زیر allow نمائید.
و سپس با استفاده از دو کامند زیر، ترافیک ورودی از سایر آیپیها و پورتها را محدود نمائید.
پس از انجام موارد فوق وارد فایروال csf شوید و روی گزینهی Firewall Configuration کلیک نمائید.
سپس در بخش IPv4 Port Settings پورتهای 80 و 443 را از لیست پورتهای موجود حذف نمائید.
سپس وارد بخش IPv6 Port Settings شوید و پورتهای 80 و 443 را از لیست پورتهای موجود حذف نمائید.
سپس فایروال را ریستارت نمائید، حال به جهت اطمینان میبایست آیپی سرور را با پورتهای 80 و 443 از طریق سایت check-host.net بررسی نمائید، میبایست خطای Connection Refused مشاهده نمائید. به این دلیل که روی پورت 80 و 443 سرور مورد نظر ما تنها به آیپیهای کلودفلر response میدهد.