当前位置:首页 > 技术文章 > 正文内容

ECSC课堂 | 一文详解 Nginx 日志分析

arlanguage3个月前 (01-23)技术文章24


在应急响应过程中,对日志进行分析既能还原攻击场景,又能发现网站可能存在的安全威胁。Nginx提供了一个非常灵活的日志记录功能,可以使每个模块的配置拥有独立日志进行记录。


Nginx日志是由Nginx中间件产生的,有如下两种类型:


1、访问日志(Access.log)

记录每一次HTTP请求的访问状态。


2、错误日志(Error.log)

记录Nginx处理HTTP请求的错误状态以及Nginx本身服务的运行错误状态。



1

Nginx日志配置


Nginx日志可以记录的内容包括:访问者IP 、访问时间、请求方式、请求地址、协议版本、请求状态、请求页面大小、用户浏览器信息、代理地址等。



如果需要自定义访问日志的输出内容,可以在Nginx.conf文件中修改Log_format参数实现,如下图:



Log_format参数的常用变量,如下表:


2

分析思路


日志分析需要先确定入侵的时间,再以时间为线索排查这个期间内的可疑日志以还原整个入侵过程。


通过一个案例来说明,我们事先在测试环境中利用网站本身存在的漏洞植入后门。接下来,我们通过分析Ngnix日志来还原漏洞利用过程。


1、确定入侵时间


使用木马查杀工具发现系统在11:46、14:08、14:09三个时间点创建了三个可疑文件:



2、分析入侵期间产生的日志


提取Nginx日志进行排查,发现在11:05期间存在大量访问记录且状态码为403和404,判断可知该时间内,系统可能遭受了目录扫描攻击:



根据URL的访问特征,可以判断在11:17到11:21期间,网站可能遭受了Think PHP远程代码执行攻击:



在11:31期间攻击者利用Think PHP远程代码执行漏洞在网站根目录下成功写入可疑文件shell.php:



在11:36期间,攻击者最后一次访问shell.php可疑文件,在11:47期间第一次访问shell1.php文件,由此判断可能在11:36期间最后一次访问shell.php文件期间上传了shell1.php文件:



在14:08期间攻击者利用Think PHP远程代码执行漏洞在网站根目录下成功写入可疑文件title.php:



在14:09期间攻击者利用Think PHP远程代码执行漏洞在网站根目录下成功写入了可疑文件foot.php:



通过对Nginx日志进行分析,可以掌握三个可疑文件植入的过程。在还原入侵场景的过程中,既找到了攻击者,又发现了网站存在的漏洞,便于后续对漏洞进行修复,进一步保障网站安全。


如需了解更加全面的日志分析方法以及更多的网络安全技术,敬请关注美亚柏科企业网络安全能力培训(ECSC)课程

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1082.html

分享给朋友:

“ECSC课堂 | 一文详解 Nginx 日志分析” 的相关文章

Nginx 在微服务中的应用(9)

在微服务架构中,Nginx 通常作为反向代理服务器、负载均衡器和 API 网关,承担着多个关键角色。它可以帮助管理微服务之间的流量,确保请求的高效路由、负载均衡、流量控制、安全防护等。Nginx 由于其高性能、轻量级和配置灵活性,成为微服务架构中非常常见的组件。以下是 Nginx 在微服务中的几种主...

Linux系统非root用户下安装Nginx

通常使用Nginx或者Apache作为Web服务器时,默认监听80端口,因此默认会使用root用户去安装,而且,使用yum命令安装时,通常会安装到默认的路径下,默认路径通常是root用户才有执行权限的。如果不需要使用Nginx监听1024以下的端口,且对权限和网络管理比较严格时,能用非root权限解...

性能优化大揭秘:从代码到架构,全方位提升系统性能的实战技巧

在现代软件开发中,系统性能优化是一个永恒的话题。无论是移动应用、Web应用还是分布式系统,性能始终是用户体验、系统稳定性以及业务可扩展性的关键因素。性能瓶颈的存在不仅可能导致用户流失,还可能增加系统维护成本,甚至影响到业务的正常运行。因此,从代码层面到架构层面,全面的性能优化是每个技术人员必须掌握的...

Linux日志处理神器-Logrotate

Logrotate简介Logrotate是Linux中日志分割、压缩、清理的工具,一般CentOS默认都会安装该工具。logrotate运行原理logrotate依赖于anacron执行每小时、每天、每周或每月的定时任务,corn每个小时会扫描当前机器中定时任务执行状态。 logrotate运行依...

「Nginx」-一定要明白Nginx的七层代理与四层代理

代理是在服务器和客户端之间的一层服务器,代理将客户端的请求转发给服务器,然后将服务端的响应转发给客户端。常用的代理技术分为正向代理、反向代理。Nginx虽然主要是来解决反向代理的,但也能支持正向代理。正向代理:代理服务器替代访问者去访问目标服务器。访问者知道目标服务器,目标服务器只知道代理服务器。需...

好程序员:2023年自学Java四阶段学习法,真滴好用麻啦!

同学们,我是好程序员小源,今天给大家整理了自学Java的四个阶段,大家可以按照这四个阶段学习哦~会更加规划系统一点!第一阶段: JavaSE[5周]本阶段从零基础起步,荃面深入的学系JavaSE课程,主要内容包括Java概述与环境搭建、语言基础、条件、分支结构 、循环、方法/数、数组、面向对象基础、...