بهترین راه برای جلوگیری از حملات بر روی سایتهایی که پشت Cloudflare هستند استفاده از API این سایت برای جلوگیری از حملات مهاجمان است . در پست های قبل ابزار مفیدی به نام Fail2Ban را برای شما بررسی نمودیم و در قسمتی دیگر نحوه نصب آن را شرح داده ایم حال برای استفاده از Cloudflare در Fail2Ban می بایست ابتدا یک فایل با محتوای پیکربندی جهت ارتباط با Cloudflare ایجاد شود ، سپس از آن در قوانینی که می خواهید در Fail2Ban ایجاد کنید استفاده نمایید .
برای ایجاد فایل پیکربندی کافیست با دستور زیر در مسیر مشخص شده یک فایل با نام cloudflare.conf بسازید .
1 |
nano /etc/fail2ban/action.d/cloudflare.conf |
سپس محتوای زیر را درون آن قرار داده و فایل را ذخیره کنید و از آن خارج شوید .
توجه : در محتوای زیر می بایست مقابل cftoken توکن خود و مقایل cfuser ایمیل خود را وارد کنید .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# # Author: https://hackers.zone/ # # IMPORTANT # # Please set jail.local's permission to 640 because it contains your CF API key. [Definition] # Option: actionstart # Notes.: command executed once at the start of Fail2Ban. # Values: CMD # actionstart = # Option: actionstop # Notes.: command executed once at the end of Fail2Ban # Values: CMD # actionstop = # Option: actioncheck # Notes.: command executed once before each actionban command # Values: CMD # actioncheck = # Option: actionban # Notes.: command executed when banning an IP. Take care that the # command is executed with Fail2Ban user rights. # Tags: <ip> IP address # <failures> number of failures # <time> unix timestamp of the ban time # Values: CMD # actionban = curl -s -o /dev/null https://www.cloudflare.com/api_json.html -d 'a=ban' -d 'tkn=<cftoken>' -d 'email=<cfuser>' -d 'key=<ip>' # Option: actionunban # Notes.: command executed when unbanning an IP. Take care that the # command is executed with Fail2Ban user rights. # Tags: <ip> IP address # <failures> number of failures # <time> unix timestamp of the ban time # Values: CMD # actionunban = curl -s -o /dev/null https://www.cloudflare.com/api_json.html -d 'a=nul' -d 'tkn=<cftoken>' -d 'email=<cfuser>' -d 'key=<ip>' [Init] # If you like to use this action with mailing whois lines, you could use the composite action # action_cf_mwl predefined in jail.conf, just define in your jail: # # action = %(action_cf_mwl)s # # Your CF account e-mail # cfemail = # # Your CF API Key # cfapikey = cftoken = cfuser = |
نحوه به دست آوردن توکن در CloudFlare :
ابتدا وارد حساب کاربری خود شوید و مانند تصویر زیر بر روی پروفایل خود کلیک کنید
در صفحه باز شده مقابل Global API Key بر روی دکمه View مانند تصویر زیر کلیک کنید .
بعد از کلیک بر روی دکمه View از شما رمز اکانتتان + یک کپچا پرسیده می شود که در صورتی که شما هر دو را به صورت صحیح وارد کنید ، توکن شما نمایش داده می شود ، مانند تصویر زیر :
به همین سادگی شما توانستید قابلیت استفاده از CloudFlare را به Fail2Ban اضافه نمایید . از این پس در قوانین Fail2Ban منتشر شده در سایت ، از این قابلیت نیز استفاده می شود .