شناسایی IPهای پرترافیک در Apache
یکی از مهمترین کارها در مدیریت سرور، شناسایی آدرسهای IP که بیشترین درخواست را به وبسرور ارسال میکنند. این کار برای شناسایی حملات DDoS، رباتهای مخرب، و کاربرانی که بار زیادی روی سرور ایجاد میکنند ضروری است.
دستورات مفید
۱. نمایش ۲۰ IP پرترافیک از لاگ Apache
cat /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
یا در دایرکت ادمین:
cat /var/log/httpd/domains/*.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
۲. نمایش IPهای پرترافیک یک دامنه خاص
cat /var/log/httpd/domains/domain.com.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
۳. نمایش IPهای فعلی متصل
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
یا با ss:
ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
۴. تعداد اتصالات همزمان هر IP
netstat -ntu | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10
۵. فیلتر بر اساس زمان
# درخواستهای امروز
grep "$(date '+%d/%b/%Y')" /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
بررسی IP مشکوک
پس از شناسایی IP پرترافیک، بررسی کنید:
# اطلاعات IP
whois 1.2.3.4
# درخواستهای IP خاص
grep "1.2.3.4" /var/log/httpd/access_log | tail -20
مسدود کردن IP مهاجم
با فایروال CSF:
csf -d 1.2.3.4 "DDoS attack"
یا با iptables:
iptables -A INPUT -s 1.2.3.4 -j DROP
اتوماتیکسازی
فایروال CSF/LFD میتواند بهصورت خودکار IPهای مهاجم را شناسایی و مسدود کند. تنظیم CT_LIMIT در CSF تعداد اتصالات مجاز هر IP را محدود میکند.
اگر سرور شما تحت حمله DDoS است یا نیاز به تنظیم حرفهای فایروال دارید، خدمات کانفیگ سرور میهن هاستینگ شامل نصب و پیکربندی CSF و محافظت DDoS نیز میشود. یک سرور مجازی با دسترسی root برای مدیریت فایروال ضروری است.