مانیتورینگ Apache
مشاهده درخواستهای HTTP در لحظه به Apache برای شناسایی ترافیک بالا، حملات DDoS و درخواستهای مشکوک ضروری است.
روش ۱: tail لاگ Apache
# مانیتورینگ زنده access_log
tail -f /var/log/httpd/access_log
# فیلتر یک دامنه خاص
tail -f /var/log/httpd/domains/domain.com.log
روش ۲: Apache mod_status
فعالسازی mod_status در httpd.conf:
<Location /server-status>
SetHandler server-status
Require ip 127.0.0.1 YOUR_IP
</Location>
مشاهده:
curl http://localhost/server-status?auto
یا در مرورگر: http://SERVER_IP/server-status
روش ۳: apachetop
ابزاری مشابه top برای Apache:
yum install apachetop
apachetop -f /var/log/httpd/access_log
روش ۴: GoAccess
ابزار تحلیل لاگ بصری:
yum install goaccess
goaccess /var/log/httpd/access_log --log-format=COMBINED -o /var/www/html/report.html
روش ۵: دستورات awk
# ۲۰ IP پرترافیک
awk '{print $1}' /var/log/httpd/access_log | sort | uniq -c | sort -rn | head -20
# ۲۰ URL پرترافیک
awk '{print $7}' /var/log/httpd/access_log | sort | uniq -c | sort -rn | head -20
# درخواستهای ۴۰۴
awk '$9 == 404' /var/log/httpd/access_log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
# تعداد درخواست در ثانیه
tail -1000 /var/log/httpd/access_log | awk '{print $4}' | cut -d: -f2,3,4 | sort | uniq -c | sort -rn | head -10
روش ۶: netstat/ss
# اتصالات فعلی به پورت ۸۰
ss -ntu | grep :80 | wc -l
# IPهای متصل
ss -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10
شناسایی حمله DDoS
اگر یک IP تعداد درخواست غیرعادی دارد، با CSF مسدود کنید:
csf -d ATTACKER_IP "DDoS attack"
سرور مجازی با SSH و ابزارهای مانیتورینگ. کانفیگ سرور شامل نصب ابزارهای مانیتورینگ و CSF. هاست وردپرس مدیریتشده.