最新Nginx日志安全分析脚本_如何判断哪些ngix日志是扫描攻击,2024年最新【金九银十】

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

功能

  • 统计Top 20 地址
  • SQL注入分析
  • 扫描器告警分析
  • 漏洞利用检测
  • 敏感路径访问
  • 文件包含攻击
  • Webshell
  • 寻找响应长度的url Top 20
  • 寻找罕见的脚本文件访问
  • 寻找302跳转的脚本文件

Usage

设置报告保存地址 outfile
设置日志分析目录 access_dir
设置日志名称 access_log
./nginx_check.sh

#git https://github.com/al0ne/nginx\_log\_check/blob/master/nginx\_check.sh

#!/usr/bin/env bash

echo ""
echo " ========================================================= "
echo " \ Nginx日志安全分析脚本 V1.0 / "
echo " ========================================================= "
echo " # 支持Nginx日志分析,攻击告警分析等 "
echo " # author:al0ne "
echo " # https://github.com/al0ne "
echo -e "\n"

#此脚本是参考nmgxy/klionsec修改而来,重新添加了一些特征,只用来临时救急,还是推荐到ELK或者Splunk中分析

#功能
###统计Top 20 地址
###SQL注入分析
###SQL注入 FROM查询统计
###扫描器/常用黑客工具
###漏洞利用检测
###敏感路径访问
###文件包含攻击
###HTTP Tunnel
###Webshell
###寻找响应长度的url Top 20
###寻找罕见的脚本文件访问
###寻找302跳转的脚本文件

#如果存在多个access文件或者有多个access.x.gz 建议先zcat access\*.gz >> access.log文件中
#设置分析结果存储目录,结尾不能加/
outfile=/tmp/logs
#如果目录以存在则清空,未存在则新建目录
if [ -d $outfile ]; then
    rm -rf $outfile/\*
else
 mkdir -p $outfile
fi
#设置nginx日志目录,结尾必须加/
access\_dir=/var/log/nginx/
#设置文件名,如果文件名为access那么匹配的是access\*文件
access\_log=access
#判断日志文件是否存在
num=$(ls ${access\_dir}${access\_log}\* | wc -l) >/dev/null 2>&1
if [ $num -eq 0 ]; then
 echo '日志文件不存在'
 exit 1
fi
echo -e "\n"

# 验证操作系统是debian系还是centos
OS='None'
if [ -e "/etc/os-release" ]; then
 source /etc/os-release
 case ${ID} in
 "debian" | "ubuntu" | "devuan")
 OS='Debian'
 ;;
 "centos" | "rhel fedora" | "rhel")
 OS='Centos'
 ;;
 \*) ;;
 esac
fi

if [ $OS = 'None' ]; then
 if command -v apt-get >/dev/null 2>&1; then
 OS='Debian'
 elif command -v yum >/dev/null 2>&1; then
 OS='Centos'
 else
 echo -e "\n不支持这个系统\n"
 echo -e "已退出"
 exit 1
 fi
fi

# 检测ag软件有没有安装
if ag -V >/dev/null 2>&1; then
 echo -e "\e[00;32msilversearcher-ag已安装 \e[00m"
else
 if [ $OS = 'Centos' ]; then
 yum -y install the\_silver\_searcher >/dev/null 2>&1
 else
 apt-get -y install silversearcher-ag >/dev/null 2>&1
 fi

fi
#如果检测别的日志请手动替换偏移,例如awk的$7代表url,$9代表状态码,$10代表长度,本脚本是以nginx日志为基础

echo "分析结果日志:${outfile}"
echo "Nginx日志目录:${access\_dir}"
echo "Nginx文件名:${access\_log}"
echo -e "\n"

echo -e "\e[00;31m[+]TOP 20 IP 地址\e[00m"
ag -a -o --nofilename '\d+\.\d+\.\d+\.\d+' ${access\_dir}${access\_log}\* | sort | uniq -c | sort -nr | head -n 20 | tee -a ${outfile}/top20.log
echo -e "\n"

echo -e "\e[00;31m[+]SQL注入攻击分析\e[00m"
#在SQL注入中排除掉了一些扫描css/js/png图片类等无用告警,并且重点筛选状态码200或者500的告警
ag -a "xp\_cmdshell|%20xor|%20and|%20AND|%20or|%20OR|select%20|%20and%201=1|%20and%201=2|%20from|%27exec|information\_schema.tables|load\_file|benchmark|substring|table\_name|table\_schema|%20where%20|%20union%20|%20UNION%20|concat\(|concat\_ws\(|%20group%20|0x5f|0x7e|0x7c|0x27|%20limit|\bcurrent\_user\b|%20LIMIT|version%28|version\(|database%28|database\(|user%28|user\(|%20extractvalue|%updatexml|rand\(0\)\\*2|%20group%20by%20x|%20NULL%2C|sqlmap" ${access\_dir}${access\_log}\* | ag -v '/\w+\.(?:js|css|html|jpg|jpeg|png|htm|swf)(?:\?| )' | awk '($9==200)||($9==500) {print $0}' >${outfile}/sql.log
awk '{print "SQL注入攻击" NR"次"}' ${outfile}/sql.log | tail -n1


![img](https://img-blog.csdnimg.cn/img_convert/93a14baf8bab9fcf69a8ac007d957eec.png)
![img](https://img-blog.csdnimg.cn/img_convert/1c2674fcf48ed0be0dcc139ecbbbb216.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

sdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值