在Debian系统上,Apache日志文件通常位于/var/log/apache2/
目录下,包括access.log
和error.log
。要查找恶意访问,可以采取以下几种方法:
cat
命令查看完整的访问日志文件。cat /var/log/apache2/access.log
tail -f
命令实时查看日志文件的变化。tail -f /var/log/apache2/access.log
grep
命令查找特定的关键字或模式,例如查找错误信息。grep "error" /var/log/apache2/error.log
awk
、sort
和uniq
等命令统计每个IP地址的访问次数。cat /var/log/apache2/access.log | awk '{print $1}' | sort | uniq -c | sort -nr
awk '/File does not exist/ { print $1 }' /var/log/apache2/error.log* | sort -k1n | uniq -d -c | awk '$1 > 50 {print $2}' > /tmp/malicious_ips.txt
上述命令会列出访问次数超过50次的IP地址。for ip in $(cat /tmp/malicious_ips.txt); do
iptables -A INPUT -s $ip -j DROP
done
上述命令会遍历/tmp/malicious_ips.txt
文件中的每个IP地址,并将它们添加到iptables的DROP规则中。