مقابله با حملات DDOS توسط سرویس CloudFlare

معرفی

CloudFlare شرکتی است که CDN (شبکه های تحویل محتوا ) و سرویس DNS توزیع شده را در نقش پروکسی معکوس برای وب سایت ها فراهم می کند . سرویس های پولی و رایگان CloudFlare می توانند برای امنیت ، سرعت و در دسترس بودن وب سایت به روش های مختلف استفاده شوند . ما به شما آموزش خواهیم داد که چگونه از سرویس رایگان CloudFlare برای مقابله با حملات DDOS به وب سایت خود توسط فعال کردن گزینه “I’m Under Attack Mode”استفاده نمایید. این حالت امن می تواند باعث مقابله با حملات DDOS توسط نمایش دادن یک صفحه بینابینی برای بررسی مشروعیت یک اتصال قبل از عبور آن از وب سرور شود.

پیش نیازها

فرض این مقاله این است که این موارد را دارید:
– یک وب سرور
– یک دامنه ثبت شده که به وب سرور اشاره کند
– دسترسی به کنترل پنل دامنه ثبت شده
شما همچنین برای ادامه باید در سایت CloudFlare ، sign up کنید و توجه داشته باشید که از NameServer های CloudFlare استفاده خواهیم کرد.
تنظیمات دامنه برای استفاده از CloudFlare
قبل از استفاده از هر کدام از سرویس های CloudFlare شما باید دی ان اس های دامنه خود را بر روی دی ان اس های CloudFlare تنظیم کنید. اگر شما قبلا این کار را انجام نداده اید به CloudFlare لاگین شوید.
یک سایت اضافه کنید و اسکن رکوردهای دی ان اس را انجام دهید
بعد از لاگین شما به صفحه Get Started with CloudFlare منتقل خواهید شد.در اینجا باید سایت خود را به CloudFlare اضافه کنید.

نام دامنه ای را که می خواهید از آن استفاده کنید را وارد و بر روی دکمه Begin Scan کلیک کنید.شما باید به صفحه زیر هدایت شوید:

 

این مرحله حدود یک دقیقه به طول می انجامد. زمانی که این فرآیند تکمیل شد بر روی گزینه Continue کلیک کنید.

صفحه بعدی نتایج اسکن رکورد دی ان اس را نشان می دهد.در این مثال ما از دامنه cockroach.nyc استفاده کرده ایم:

کران جاب (Cron Job) چیست؟

شما قصد دارید در زمان های خاصی، عملی را به صورت متناوب انجام دهید. به عنوان مثال می خواهید برای تعدادی از کاربران خود ایمیل ارسال کنید، یکی از سرویس های خود را معلق (Suspend) کنید، برنامه خاصی برای سرور خود دارید و یا قصد دارید که یک دستور (Command) را اجرا نمایید، برای این منظور در سیستم عامل لینوکس از Cron Job و در ویندوز از Schedule Task استفاده می شود.

 در این مقاله قصد داریم به بررسی این موضوع را در لینوکس بپردازیم.

Cron یک سرویس زمانبندی است که وظیفه اجرای روتین‌های خاصی را در زمان مشخص بر عهده دارد. Cron این امکان را ایجاد می کند که کارهای روتین و روزمره را به صورت اتوماتیک به انجام برسانیم. کارهایی که باید با زمانبندی انجام شوند در فایلی با نام CronTab ذخیره می شوند. CronTab یک فایل متنی است که در هر سطر آن یک دستور با فرمتی که برای Cron قابل فهم است قرار می گیرد. به هر کدام از دستورات این فایل اصطلاحا Cron Job گفته می شود.

هر دستور کران دارای قسمت های متفاوتی است که در شکل زیر فرمت کلی دستور کران نمایش داده می شود.

ستاره اول: بیانگر دقیقه می باشد. در صورتیکه شما بخواهید عملی در زمان دقیقه انجام شود باید این گزینه را فعال کنید. برای مثال  عملیات زیر هر ۲۰ دقیقه جافظه رم سرور را خالی می کند . همانطور که مشاهده می کنید عدد ۲۰ به منظور هر ۲۰ دقیقه است.

ستاره دوم: بیانگر نمایش ساعت می باشد. در صورتیکه بخواهید در ساعت ۱۲ هر شب از سرور شما بک‌آپ گرفته شود می بایست کران جاب زیر را اجرا کنید. این کران با دستور مذکور میگوید که در ساعت ۱ دستور بک‌آپ اجرا شود.

ستاره سوم: بیانگر نمایش تعداد روزهای ماه می باشد. در صورتیکه بخواهید در روز ۱۵ ماه (به تاریخ سرور)، در ساعت ۴ و ۴۲ دقیقه حافظه سرور خالی شود می توانید از طریق گزینه زیر اقدام نمایید.

ستاره ۴ام و ۵ام : همانطور که مشخص است این دو ستاره نیز برای ماه و تعداد روزهای هفته می باشد که مانند ۳ ستاره اول عمل می کند.

cron permissions | دسترسی کران جاب

در کران، دو فایل زیر نقش  مهمی را اجرا می کنند.

/etc/cron.allow

در صورتیکه شما بخواهید یوزر خاصی از کران جاب استفاده کند میبایست اسم ان یوزر را در این فایل وارد کنید.

/etc/cron.deny

اگر فایل اول وجود نداشت و این فایل موجود بود شما می توانید یوزرهایی که نباید از کران جاب استفاده کنند را در این فایل قرار دهید.

دستورات کران جاب:

برای ویرایش و یا اضافه کردن یک کران جاب خاص می بایست از دستور زیر استفاده کنید:

crontab –e

رمز گذاری پوشه ها در cPanel

برای رمز گذاری پوشه ها به شکل زیر اقدام میکنیم

وارد کنترل پنل هاست شوید و سپس روی گزینه “Password Protect Directories” کلیک کنید.

در صفحه ی باز شده گزینه Web Root(public_html/www) n در حالت انتخاب  باشد و چک مارک گزینه “Show Hidden Files ”  را بزنید. و سپس بر روی “Go” کلیک کنید.

سپس پوشه های موجود روی هاستتان نمایش داده میشود با کلیک روی اسم پوشه قابلیت رمز گذاری فعال میشود و با کلیک روی عکس پوشه به پوشه های داخل تر هدایت میشوید.

پس از انتخاب پوشه دلخواه صفحه زیر ظاهر میشود در شکل زیر گزینه “password protect this directory” را زده و در روی “save” کلیک کنید.

سپس در بخش زیر ، نام کاربری و رمز دلخواه تان را وارد کنید.

از طریق گزینه “Password Generator” سیستم می تواند یک پسورد امن را ایجاد کند.

 

نحوه گرفتن بکاپ فایل ها در cPanel

جهت ایجاد فایل پشتیبان کامل که شامل فایلها و بانکهای اطلاعاتی است در هر لحظه میتوانید پس از ورود به کنترل پنل اقدام نمایید .

سپس مسیر زیر را دنبال کنید :

در مرحله بعدی محل ذخیره سازی پیش فرض را تغییر ندهید و در بخش ایمیل ، ایمیل خود را وارد کنید .

بک آپ در home directory هاستتان (یک مسیر بالاتر از public_html) ذخیره میشود و با پسوند .tar.gz می باشد . در صورت نیاز کافیست درخواست پشتیبانی باز کرده و از کارمندان تگرا هاست بخواهید بک آپی که تهیه کرده اید را بازگردانی کنند .

نکته : پس از اتمام عملیات بکاپ گیری یک ایمیل جهت اطلاع برایتان ارسال میشود و خود بکاپ به ایمیلتان ارسال نمیشود بلکه بک آپ در home directory هاست ذخیره میشود .

Portial Backups (پشتیبانی جزئی) :

 

۱٫ Download a Home Directory Backup :

 این نوع backup فقط مربوط می شود به بخش HTML سایت شما . به هر حال این نوع Back up حاوی اطلاعات مربوط به DNS , MySQL و سایر قسمتهای وب سایت شما نخواهد بود.

۲٫ Download a MySQL Database Backup :
در این حالت از بانک اطلاعاتی MySQL شما Back up ساخته خواهد شد در میان قسمتهای مختلف مربوط به وب سایت شما از این قسمت باید بیشتر Backup ساخته شود . در این قسمت روی هر یک از بانک های اطلاعاتی که می خواهید از آن Backup داشته باشید کلیک نمائید .

۳٫ Download Email Filters :
از این قسمت برای دانلود Backup فیلترهای سایت استفاده می شود

۴٫ Download Email Forwarders :
جهت دانلود پشتیبان Email Forwarder سایت بکار می رود

نکته : در جلوی هر یک از موارد بالا یک کادر Restore موجود می باشد که بوسیله آن می توانید اطلاعات سایت را با استفاده از نسخه پشتیبان تهیه شده برگردانید (دکمه Upload )

Email forwarding در cPanel

این گزینه زمانیکه فردی چندین آدرس ایمیل داشته باشد و بخواهد تنها یک ایمیل را چک کند، کاربرد دارد. با استفاده از آن یک کپی از ایمیلهای دریافتی شما به ایمیل انتخابی ارسال می گردد.برای تنظیم این قابلیت مراحل زیر انجام دهید.

 وارد کنترل پنل خود شوید.

سپس از بخش “mail” گزینه ی “Forwarders” را انتخاب نمایید.

در صفحه ی باز شده بر روی “Add Forwarder” کلیک کنید.

که  صفحه ای به شکل زیر باز می شود:

-در صفحه ی باز شده در بخش ” Address to Forward” آدرس اکانتی که قرار است ایمیلها را “forward” کند وارد کنید.

-در بخش “Forward to email Address” آدرس اکانتی که قراراست ایمیلها به آن forward شود وارد نمایید.

– در آخر بر روی گزینه “Add forwarder” کلیک نمایید.

اتصال دامنه اضافی به وب سایت(Park Domain) در cPanel

اگر مایلید دامنه ای به جز دامنه اصلی بر روی هاست خود پارک کنید تا هاست شما با ۲ دامنه یا بیشتر، باز شود می توانید از گزینه Park Domain استفاده کنید.

برای این کار ابتدا وارد cPanel شده و از بخش “Domains” گزینه “Park Domains” را انتخاب کنید.

سپس نام دامین جدید را در کادر وارد کنید.

نکاتی که پیش از پارک کردن دامنه باید به آن توجه کرد :

قبلا باید dns های دامنه با dns های دامنه اصلی یکسان شده باشد

– اگر می خواهید دامنه بین المللی (نظیر com,org,net,…) را به هاست متصل کنید  ابتدا دی ان اس های هاست را روی دامنه مورد نظر ست کرده پس از ۵ الی ۶ ساعت اقدام به پارک کردن کنید .

– اگر می خواهید دامنه ir به هاست متصل کنید ابتدا دی ان اس های هاست را روی دامنه مورد نظر ست کرده پس از ۱۲ الی ۲۴ ساعت اقدام به پارک کردن کنید.

– با استفاده از گزینه “Remove Parked Domains”  می توانید دامنه های پارک شده را حذف نمایید.

اتصال ساب دامین به هاست دیگر cPanel

ممکن است نیاز داشته باشید تا همزمان از ۲ هاست استفاده کنید. به عنوان مثال یک هاست برای وب سایت و هاست دومی برای آپلود فایل ها و لینک دادن از طریق ساب دامین. برای این کار مراحل زیر را در سی پنل انجام دهید.

از بخش “Domains” در سی پنل وارد “Simple DNS Zone Editor” شوید.

اگر در هاستتان بیش از یک دامنه پارک شده باشد . دامنه ای که می خواهید ساب دامنه آن متصل شود را انتخاب کنید.

در صفحه باز شده طبق دستورالعمل زیر رکورد A را تعریف نمایید:

سپس ساب دامین را به مدیر سرور هاست دوم (هاست ساب دامنه) اطلاع دهید تا بر روی هاست تنظیم شود.

– توجه داشته باشید در هاست مبدا به هیچ عنوان از بخش subdomain ساب دامنه ایجاد نکنید.

هاست سی پنل چیست؟

 

هاست سی پنل چیست؟

هاست سی پنل : سی پنل cPanel نرم افزار تحت وب با محیط کاملا گرافیکی برای مدیریت هاست لینوکس می باشد.

کاربران هاست لینوکس دارای مدیریت سی پنل cPanel می توانند از طریق انی نرم افزار از تمامی امکانات هاست خود در سریع ترین زمان و به راحت ترین وجه ممکن استفاده کنند.

مانند آپلود فایل ها ، ساختن دیتابیس ، مدیریت جداول دیتابیس ، ساخت ایمیل ها ، اضافه کردن دامنه های جدید و اضافه ، ایجاد زیر دامنه یا Subdomain ایجاد اکانت FTP و ….

سیستم مدیریت سی پنل قدرتمندترین نرم افزار برای هاست لینوکس می باشد و میلیون ها سرور در سرار دنیا از آن استفاده می کنند.

این پنل مدیریت بالاترین امنیت ممکن بین رقبا را در اختیار دارد در کنار محیط کاربر پسند و قدرتمند.

هاست لینوکس هاست ۹۷ از کنترل پنل قدرتمند سی پنل استفاده می کند. جهت خرید هاست لینوکس سی پنل : هاست لینوکس سی پنل

تصویر محیط کاربری سی پنل ( صفحه اول ) :

ساخت Addon Domain در هاست لینوکس در cPanel

Addon domain یک دامنه ی جدیدی برای ساخت سایت جدید در هاست شما به وجود می آورد.

در صفحه اصلی cPanel خود روی نمایه “Addon Domain” کلیک کنید.

صفحه ای به شکل زیر باز می شود:

– در قسمت “New Domain Name” نام دامنه ای که می خواھید به اکانت میزبانی خود اضافه نمائید را وارد کنید.

– در قسمت “Subdomain/FTP Username” نام کاربری را وارد کنید که برای ورود می تواند از نام کاربری و پسورد به سی پنل استفاده شود.

– در قسمت “Document ROOT” باید نام پوشه ای را وارد نمائید تا دامنه الحاقی شما به آن ربط داده شود .

– رمز عبور از شما درخواست می شود که باید مابین ۵ الی ۵۰ کارکتر باشد.

– تکرار رمز عبور را دقیقاً همان رمز عبوری که در مرحلهقبل ساخته اید را وارد نمایید.

-دکمه “Addon Domain” را کلیک کنید .

 

نکات قابل توجه:

۱) پس از ایجاد Addon Domain، یک دایرکتوری با نام دامنه در مسیری که در فیلدDocument Root ذکر شده، ساخته می شود
که محتویات فایل های آپلود شده سایت بایستی در آن قرار گیرد.

۲) به منظور اتصال از طریق FTP می توانید از طریق برنامه های FTP Client مانند ( File Zilla) و با استفاده از مواردی که در فیلد
Subdomain/FTP Username و همچنین Password، اعمال شد، اقدام نمایید.

۳) جهت اتصال Addon Domain به هاست، لازم است از طریق کنترل پنل دامنه نسبت به تنظیم DNS های هاست برای آن اقدام کنید.
(DNSهای دامنه اصلی و Addon Domain باید یکی باشند)

نحوه کار با بانک اطلاعاتی database در cPanel

برای ایجاد بانک اطلاعاتی(دیتابیس) و نام کاربری  آن به شکل زیر اقدام کنید :

پس از ورود به cpanel در بخش “Databases” روی گزینه “MySQL Databases” کلیک کنید.

سه مرحله را باید طی کنید :
-ایجاد دیتابیس
– ایجاد یوزر برای دیتابیس
-اتصال دیتابیس به یوزر

۱- در بخش “Create a New Database” نام دیتابیسی که میخواهید بسازید را وارد کرده و روی گزینه “Create Database” کلیک کنید.

۲٫  در بخش “Add a New User” نام یوزری که میخواهید برای دیتابیس خود بسازید و همچنین رمز را وارد کرده و روی گزینه “Create User” کلیک کنید.
برای انتخاب یک رمز عبور قوی میتوانید از گزینه “Password Generator” نیز استفاده کنید . توجه داشته باشید که قبل از بستن پنجره مربوط به آن رمز عبور را کپی کرده و نزد خود نگه دارید .

۳- پس از ایجاد یوزر و بانک اطلاعاتی باید آنها را به هم متصل کنید. برای اتصال آنها از بخش “Add User To Database” نام کاربری و دیتابیس مورد نظر را انتخاب کرده و روی گزینه “Add” کلیک کنید.

در صفحه بعد “ALL PRIVILEGES” را تیک زده و “Make changes” را کلیک کنید .

هم اکنون بانک اطلاعات و یوزر شما آماده شده است .
توجه داشته باشید که برای ست کردن دیتابیس و یوزر آن در تنظیمات آدرس نرم افزارتان و یا استفاده از آنها برای نصب یک نرم افزار باید نام کامل آنها را وارد کنید .

برای مثال اگر یوزر هاست شما test باشد و نام بانک اطلاعاتی که ساختید database نام بانک اطلاعاتی شما به شکل زیر خواهد بود :

test_database

اگر اسم یوزری که انتخاب کرده اید user باشد نام یوزر شما برای نصب به شکل زیر خواهد بود :

test_user

البته نام یوزر و بانک اطلاعاتی در سی پنل مشخص است و میتوانید از داخل سی پنل آدرس کاملشان را کپی کنید .