debian

Debian Nginx日志中如何查找恶意访问

小樊
49
2025-05-05 19:54:54
栏目: 智能运维

在Debian系统中,Nginx的日志文件通常位于/var/log/nginx/目录下。主要的日志文件包括访问日志(access.log)和错误日志(error.log)。要查找恶意访问,可以使用以下方法:

  1. 使用grep命令搜索特定关键词或IP地址。例如,要查找包含"404"(可能是扫描攻击)的访问记录,可以运行以下命令:
grep ' 404 ' /var/log/nginx/access.log

要查找来自特定IP地址的访问记录,可以使用:

grep '123.123.123.123' /var/log/nginx/access.log
  1. 使用awk命令分析日志文件。例如,要查找访问次数超过10次的IP地址,可以运行以下命令:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10
  1. 使用fail2ban工具自动检测并阻止恶意访问。首先,安装fail2ban:
sudo apt-get install fail2ban

然后,创建一个新的fail2ban配置文件,例如/etc/fail2ban/jail.local,并添加以下内容:

[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3

[nginx-badbots]
enabled = true
filter = nginx-badbots
action = iptables-multiport[name=BadBots, port="http,https", protocol=tcp]
logpath = /var/log/nginx/access.log

接下来,创建一个名为/etc/fail2ban/filter.d/nginx-badbots.conf的过滤器文件,包含以下内容:

[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*" 404
ignoreregex =

最后,重启fail2ban服务以应用更改:

sudo systemctl restart fail2ban

现在,fail2ban将自动检测恶意访问并阻止相关IP地址。

注意:在分析日志文件时,请确保使用具有足够权限的用户(如root)运行命令。同时,定期检查日志文件以便及时发现并处理恶意访问。

0
看了该问题的人还看了