راهکارها
بازارچه ابری
Arvan Docs

مستندات فنی

دسترسی به تمامی مستندات محصولات ابر آروان

Categories
Close
دسته‌بندی‌های سایت مشاهده دسته‌بندی‌ها بستن دسته‌بندی‌ها





مشاهده همه دسته‌ها All Categories

جلوگیری از اتصال مهاجمان/بات‌ها در Magento

Time To Read ۲ دقیقه
Date ۲۳ بهمن ۱۳۹۸

یکی از دلایل عملکرد ضعیف یک برنامه‌ می‌تواند حمله‌ی بات‌های اینترنتی باشد. این حملات معمولن برای پیدا کردن باگی امنیتی در کد برنامه یا خود نرم‌افزار انجام می‌شوند.

برای نمونه یکی از دلایل حملات بات‌ها ممکن است برای پی بردن به فعال یا فعال نبودن php.cgi باشد. از آنجا که php.cgi به‌شکل پیش‌فرض غیرفعال است، مهاجمان نمی‌توانند به سیستم شما نفوذ کنند. اما ناگهان صدها یا هزاران درخواست اتصال از آدرس IP یکسان (یا حتا آدرس‌های IP متفاوت) دریافت می‌کنید که هر چند ساعت یک بار در دسترس بودن این فایل‌های باینری و اسکریپت‌ها را بررسی می‌کنند.

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

برای بررسی این‌که آیا مورد حمله قرار گرفته‌اید یا نه، دستور زیر را اجرا کنید:

cd /opt/bitnami/apache2/logs/ tail -n 10000 access_log | awk '{print $1}'| sort| uniq -c| sort -nr| head -n 10

خروجی این دستور نشان‌دهنده‌ی آن است که یک IP چندبار به وب‌سرور شما وصل شده است. اگر در خروجی این دستور IP خاصی را مشاهده کردید که بیش از سایر IPها به وب سرورتان متصل شده بود، دستور زیر را اجرا کنید (عبارت ATTACKER_IP را با IP مهاجم جایگزین کنید):

cd /opt/bitnami/apache2/logs/ grep "ATTACKER_IP" access_log

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

در ادامه نمونه‌ای از لاگ‌های تولیدی در این شرایط آورده شده است:

[Mon Dec 08 07:01:52 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php-cgi [Mon Dec 08 07:01:52 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php.cgi [Mon Dec 08 07:01:53 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php4 [Mon Dec 08 19:01:51 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php [Mon Dec 08 19:01:51 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php5 [Mon Dec 08 19:01:52 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php-cgi [Mon Dec 08 19:01:52 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php.cgi [Mon Dec 08 19:01:52 2014] [error] [client 143.107.202.68] script not found or unable to stat: /opt/bitnami/apache2/cgi-bin/php4

در این مثال مهاجم با آدرس IP، 143.107.202.68 سعی دارد اسکریپت‌های PHP CGI را پیدا کند. تمام این اتصالات در زمان‌هایی مشابه برقرار شده است.

برای رد درخواست اتصال این مهاجم‌ها آسان‌ترین راه استفاده از فایل پیکربندی آپاچی‌ است. مراحل زیر را طی کنید:

  • فایل /opt/bitnami/apps/APPNAME/conf/httpd-app.conf را ویرایش کنید. در مثال زیر آدرس IP، 1.2.3.4 در magento مسدود شده است:
<Directory /opt/bitnami/apps/magento/htdocs> deny from 1.2.3.4 ... </Directory>

برای مسدودسازی بیش از یک IP، شبیه مثال زیر عمل کنید:

<Directory /opt/bitnami/apps/magento/htdocs> deny from 1.2.3.4 deny from 5.6.7.8 deny from 9.10.11.12 ... </Directory>
  • با کمک دستور زیر از اعمال تغییرات مطمین شوید:
apachectl -t
  • وب‌ سرور آپاچی را دوباره راه‌اندازی کنید:
sudo /opt/bitnami/ctlscript.sh restart apache