当前位置:   article > 正文

2024年Nginx日志安全分析脚本_如何判断哪些ngix日志是扫描攻击(2),2024年最新含BATJM大厂

2024年Nginx日志安全分析脚本_如何判断哪些ngix日志是扫描攻击(2),2024年最新含BATJM大厂

img
img

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

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

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


## Nginx日志安全分析脚本


## 功能


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


## Usage


设置报告保存地址 outfile  
 设置日志分析目录 access\_dir  
 设置日志名称 access\_log  
 ./nginx\_check.sh



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

#git https://github.com/al0ne/nginx_log_check/blob/master/nginx_check.sh



  • 1
  • 2

#!/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 KaTeX parse error: Expected 'EOF', got '#' at position 12: outfile fi #̲设置nginx日志目录,结尾必…(ls a c c e s s _ d i r {access\_dir} 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 “分析结果日志: o u t f i l e " e c h o " N g i n x 日志目录: {outfile}" echo "Nginx日志目录: 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+’ a c c e s s _ d i r {access\_dir} access_dir{access_log}* | sort | uniq -c | sort -nr | head -n 20 | tee -a ${outfile}/top20.log
echo -e “\n”

img
img

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

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

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

可以戳这里获取](https://bbs.csdn.net/topics/618608311)**

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/658454
推荐阅读
相关标签
  

闽ICP备14008679号