Linux如何查看网站是否遭受攻击?

在Linux环境下,网站被攻击的迹象可能隐藏在日志、网络流量或系统进程中,通过系统化的排查方法可有效发现攻击行为,常见的攻击类型包括DDoS(分布式拒绝服务)、SQL注入、XSS跨站脚本、暴力破解、Webshell上传等,不同攻击类型需通过不同工具和日志进行分析,以下从日志分析、网络监控、安全工具、实时系统监控及WAF日志五个维度,详细介绍如何在Linux中查看网站被攻击的情况。

linux 如何查看 网站被攻击

系统日志分析:发现异常登录与操作痕迹

Linux系统日志记录了用户登录、命令执行、系统服务等关键信息,是排查攻击的基础。

系统认证日志

  • 文件位置:

    • Ubuntu/Debian:/var/log/auth.log
    • CentOS/RHEL:/var/log/secure
  • 查看方法:
    通过grep过滤登录失败、异常IP或非法命令,

    # 查看登录失败的IP和次数(统计前10个高频IP)
    grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -10
    # 查看非登录时间段的SSH连接(如凌晨3点后)
    grep "sshd.*Accepted" /var/log/auth.log | awk -F: '{print $2}' | awk '{print $2}' | sort | uniq -c | awk '$1>5{print}'

    若出现大量“Failed password”或来自陌生IP的“Accepted publickey”,可能存在暴力破解。

Web服务器日志

Web服务器日志(如Nginx的access.log、Apache的access_log)记录了所有HTTP请求,是发现SQL注入、XSS等攻击的核心。

  • Nginx日志分析:

    # 过滤包含SQL注入特征的请求(如union、select、information_schema)
    grep -i "union.*select|select.*information_schema|or.*1.*=" /var/log/nginx/access.log
    # 统计访问频率最高的URL(发现异常路径扫描)
    awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20

    若日志中出现大量/admin.php、/wp-config.php等敏感路径的扫描请求,或请求参数包含<script>、UNION SELECT等恶意代码,可能存在Web攻击。

系统操作日志

  • 文件位置:/var/log/messages(系统日志)、/var/log/secure(安全日志)
  • 关键操作:检查是否有异常用户创建(如useradd)、sudo权限滥用(sudo命令记录)或敏感文件修改(如/etc/passwd)。

表:Linux常见日志文件及作用
| 日志文件 | 作用 | 常见攻击痕迹 |
|——————|——————————-|—————————–|
| /var/log/auth.log | 记录用户登录认证(SSH、FTP等) | 暴力破解登录失败、异常IP登录 |
| /var/log/nginx/access.log | Nginx访问日志 | SQL注入、XSS、路径扫描请求 |
| /var/log/audit/audit.log | 审计日志(需开启auditd) | 文件篡改、权限提升、系统调用异常 |

网络流量监控:识别异常连接与DDoS攻击

攻击常伴随异常网络流量,可通过工具实时监控网络连接和数据包。

实时连接状态查看

  • 使用netstat或ss命令:

    linux 如何查看 网站被攻击

    # 查看当前所有TCP连接(按连接数排序,发现异常IP)
    ss -tulnp | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -10
    # 检查是否有异常端口监听(如非Web端口80/443开放了8080)
    netstat -tulnp | grep ":8080" | grep -v "nginx|apache"

    若出现大量来自同一IP的ESTABLISHED连接,或非业务端口被未知进程监听,可能存在DDoS或后门连接。

抓包分析异常流量

  • 使用tcpdump:

    # 抓取80端口的HTTP请求,过滤GET/POST方法(发现CC攻击)
    tcpdump -i eth0 -nn port 80 -c 1000 | grep -i "GET|POST" | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -nr
    # 抓取异常数据包(如SYN Flood攻击特征)
    tcpdump -i eth0 -nn 'tcp[tcpflags] & (tcp-syn|tcp-rst|tcp-ack) != tcp-ack' -c 100

    若短时间内出现大量HTTP请求(如每秒上千次)或SYN包(未完成三次握手),可能存在DDoS/CC攻击。

带宽与进程流量监控

  • iftop/nethogs:

    # 安装iftop(Ubuntu: apt install iftop; CentOS: yum install iftop)
    iftop -i eth0 -nNP  # 按IP查看实时带宽占用,发现异常流量IP
    # nethogs按进程查看网络占用(发现挖矿程序或后门进程)
    nethogs -t -c 5

安全工具应用:自动化检测与入侵响应

手动分析日志效率低,结合安全工具可提升检测精度。

Fail2ban:自动封禁恶意IP

基于日志分析自动封禁IP,适用于暴力破解、CC攻击等场景。

  • 配置示例(封禁SSH暴力破解):
    # /etc/fail2ban/jail.local
    [sshd]
    enabled = true
    port = 22
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 3
    bantime = 3600  # 封禁1小时

    执行fail2ban-client status sshd可查看封禁IP列表。

OSSEC:入侵检测与系统审计

开源主机入侵检测系统(HIDS),监控文件变更、登录异常、rootkit等。

  • 功能:
    • 实时检测/var/www目录文件变更(如Webshell上传);
    • 告警异地登录或特权命令执行(如sudo su -)。

ELK Stack:日志集中分析

大型网站可通过Elasticsearch、Logstash、Kibana搭建日志分析平台,可视化攻击趋势:

  • Logstash:收集Nginx、系统日志至Elasticsearch;
  • Kibana:创建仪表盘,展示“TOP攻击IP”“恶意请求类型”等维度。

表:常用安全监控工具对比
| 工具名称 | 功能 | 适用场景 |
|————|——————————-|————————-|
| Fail2ban | 基于日志自动封禁IP | 暴力破解、CC攻击 |
| OSSEC | 主机入侵检测(文件/进程/日志) | Webshell、权限提升、rootkit |
| ELK Stack | 日志集中分析与可视化 | 大型网站攻击趋势分析 |

linux 如何查看 网站被攻击

实时系统监控:发现异常进程与资源占用

攻击者可能植入挖矿程序、后门进程,消耗系统资源或留下后门。

进程与资源监控

  • top/htop:按CPU/内存排序,发现异常进程(如命名为“python”“bash”但占用高资源);
  • ps aux:查看进程详情,过滤可疑命令(如/bin/bash -i反向shell、xmrig挖矿程序)。

定时任务与自启项检查

攻击者常通过crontab、/etc/rc.local植入自启脚本:

# 查看当前用户crontab
crontab -l
# 检查系统级定时任务(如/etc/cron.hourly/下的异常脚本)
ls -la /etc/cron.hourly/ /etc/cron.daily/ | grep -v ".*.log$|.*.sh$"
# 查看开机自启(systemctl)
systemctl list-unit-files --state=enabled | grep -v "nginx|ssh|network"

Web应用防火墙(WAF)日志分析

若网站部署WAF(如ModSecurity、Naxsi),其日志可直接记录攻击详情。

  • ModSecurity日志(默认路径:/var/log/modsec_audit.log):
    # 过滤SQL注入规则匹配日志(如ModSecurity规则ID:981173)
    grep "981173" /var/log/modsec_audit.log | awk -F'"' '{print $8}' | cut -d? -f1 | sort | uniq -c

    日志中会包含攻击IP、请求URL、攻击载荷(如' OR 1=1--),可直接用于溯源和封禁。

Linux环境下查看网站被攻击需结合“日志分析-网络监控-安全工具-系统检查”多维度排查:优先查看auth.log、nginx/access.log等基础日志,通过tcpdump、iftop分析流量异常,借助Fail2ban、OSSEC自动化检测,最后检查进程和自启项,定期备份日志、开启审计(如auditd)、部署WAF,可提升攻击发现效率,降低损失。

相关问答FAQs

Q1:如何区分正常访问流量和恶意攻击流量?
A:可通过以下特征区分:① 请求频率:正常用户访问间隔分散,攻击者(如DDoS)会在短时间内发起大量高频请求(如每秒>100次);② 请求路径:正常用户访问业务页面(如/home、/product),攻击者常扫描敏感路径(/admin、/wp-config.php、.env);③ 请求参数:正常参数格式规范,攻击参数包含恶意代码(如<script>alert(1)</script>、UNION SELECT、目录穿越);④ IP分布:正常访问来自多地区、多IP,攻击可能来自单一IP或代理池(如Tor出口节点)。

Q2:网站被攻击后如何快速定位攻击源IP?
A:定位攻击源IP需结合日志和流量分析:① Web服务器日志:通过awk提取高频访问IP(awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr),重点排查访问量异常的IP;② WAF/防火墙日志:若部署WAF(如ModSecurity),日志中会直接标记攻击IP及攻击类型;③ 流量抓包:用tcpdump抓取异常数据包(如SYN Flood),通过Wireshark分析源IP;④ Fail2ban封禁记录:执行fail2ban-client status [jail名]查看已封禁IP,定位后可通过whois查询IP归属(如阿里云IP库、APNIC),若为恶意IP,可在防火墙(如iptables)中添加封禁规则:iptables -I INPUT -s [攻击IP] -j DROP。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31837.html

赞 (0)
酷番叔酷番叔
上一篇 2025年9月28日 15:50
下一篇 2025年9月28日 16:09

相关推荐

  • linux如何更改开机密码

    Linux 中,可通过 passwd 命令更改开机密码,需在终端输入该

    2025年8月18日
    21600
  • 如何打包当前目录所有文件?

    在Linux系统中,表示当前目录是文件操作和命令行导航的基础概念,当前目录(Current Working Directory)指用户或程序正在操作的位置,类似于Windows中的“打开文件夹”,正确理解其表示方法能避免路径错误,提升命令执行效率,以下是两种核心表示方式及使用场景:点号 :最简表示法点号是Lin……

    2025年7月6日
    23700
  • 如何快速更新系统并安装Subversion和Apache模块?

    在Linux系统上搭建SVN(Subversion)服务器是管理代码版本控制的可靠方案,以下为详细操作流程,基于Ubuntu/CentOS等主流发行版(以Ubuntu为例),所有步骤需root权限执行:安装必要组件sudo apt install subversion libapache2-mod-svn ap……

    2025年7月7日
    21300
  • Linux系统中,如何使用命令行工具查看和管理系统及应用的日志文件?

    Linux系统中,日志是记录系统运行状态、应用程序行为及用户操作的关键信息,通过查看日志可以快速定位问题、排查故障,本文将详细介绍Linux查看日志的多种方法,包括日志文件位置、常用查看命令、实时监控技巧及日志管理工具,帮助用户高效掌握日志分析技能,Linux日志文件位置Linux系统的日志文件通常存储在/va……

    2025年10月3日
    25000
  • Linux系统如何连接校园网?操作步骤和认证方法详解?

    Linux系统连接校园网是许多学生和科研人员日常使用场景,但由于校园网认证方式多样(如802.1X、Portal认证、DHCP+绑定等),且不同学校配置存在差异,连接过程可能需要根据具体环境调整,本文将详细介绍Linux连接校园网的通用步骤,涵盖有线、无线连接及常见认证方式的配置方法,并提供问题排查思路,前期准……

    2025年9月26日
    55300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信