日志来源:操作系统、网络与应用日志
了解 Windows 事件日志、syslog、Apache/Nginx 日志和防火墙日志包含哪些信息。
日志来源:操作系统、网络与应用日志 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
日志为何重要
日志是安全调查的主要证据来源。每次登录、网络连接和应用操作都会留下痕迹。没有日志,攻击就无法被发现,取证重建也无法进行。
Windows 事件日志
Windows 会将日志组织到多个通道中:安全、系统、应用和自定义应用通道。安全日志包含认证、访问控制和审计事件,对于安全分析最为重要。
# View Windows Event Logs
# Event Viewer (GUI): eventvwr.msc
# PowerShell
Get-EventLog -LogName Security -Newest 50
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4625}
# Key Security Event IDs:
# 4624: Logon success
# 4625: Logon failure
# 4648: Explicit credentials
# 4672: Admin logonLinux Syslog 与 Systemd 日志
Linux 通过 syslog(rsyslog/syslog-ng)和 systemd 的 journald 将日志写入 /var/log/。关键文件包括 auth.log(认证)、syslog(常规日志)、kern.log(内核)以及特定于应用的日志。
# View auth log
tail -f /var/log/auth.log
# Search for failed SSH logins
grep "Failed password" /var/log/auth.log
# Systemd journal
journalctl -u sshd -f
journalctl --since "1 hour ago"
journalctl -p err -bWeb 服务器访问日志
Apache/Nginx 访问日志会记录每个 HTTP 请求:客户端 IP、时间戳、方法、URL、状态码和用户代理。这些信息对于检测扫描、利用尝试和数据外泄非常有价值。
# Apache format:
# IP - - [timestamp] "METHOD /path HTTP/1.1" status bytes "referer" "UA"
192.168.1.50 - - [01/Jan/2025:10:23:45 +0000] "GET /admin HTTP/1.1" 403 287
# Find 4xx errors (potential scanning)
grep " 40[0-9] " /var/log/apache2/access.log | awk '{print $1}' | sort | uniq -c | sort -rn防火墙与网络设备日志
防火墙日志会记录网络流量的允许或拒绝决定:源 IP、目标 IP、端口、协议和操作。这对于追踪横向移动和数据外泄尝试至关重要。
# iptables logging rule
iptables -A INPUT -j LOG --log-prefix "IPTABLES-DENY: "
# View firewall logs
grep "IPTABLES-DENY" /var/log/syslog
# Palo Alto/Cisco ASA logs go to syslog
# Format: date, action, src, dst, port, bytesDNS 日志
DNS 查询可以揭示设备正在与哪些主机通信。恶意软件会使用 DNS 执行命令与控制(C2),包括信标通信和 DNS 隧道,也会利用 DNS 进行数据外泄。请记录所有 DNS 查询,而不仅仅是失败的查询。
# Enable query logging in BIND
# named.conf:
logging {
channel query_log {
file "/var/log/named/queries.log";
severity info;
print-time yes;
};
category queries { query_log; };
};
# Detect tunneling: long subdomains
awk '{print length($0), $0}' queries.log | sort -rn | head -20DHCP 日志
DHCP 日志可以记录某个时间点上的 IP 地址、MAC 地址和主机名之间的对应关系,这对于确定安全事件期间哪个物理设备占用了某个 IP 地址至关重要。
# DHCP log location (Linux):
/var/log/dhcpd.log
/var/lib/dhcpd/dhcpd.leases
# Windows DHCP Server:
# C:\Windows\System32\dhcp\DhcpSrvLog-*.log
# Correlate: IP address → MAC → hostname → user应用与数据库日志
应用日志可以揭示业务逻辑攻击:数据库查询日志中的 SQL 注入尝试、应用日志中的认证绕过,以及审计表中的权限提升。请始终在测试环境中启用数据库查询日志记录。
# MySQL query log
# my.cnf:
general_log = 1
general_log_file = /var/log/mysql/query.log
# PostgreSQL
# postgresql.conf:
log_statement = 'all'
log_min_duration_statement = 0
# View slow queries
grep "Query" /var/log/mysql/query.log | grep -v "SELECT 1"VPN 与认证日志
VPN 日志会显示哪些用户在何时从何处连接。以下异常情况可能表明凭据已被泄露:不可能的移动轨迹(在一小时内先后从 NY 和伦敦登录)、非工作时间访问,以及来自新国家的登录。
日志保留与完整性
日志必须保留足够长的时间,以便开展调查(至少 90 天;出于合规要求保留 1 年)。请立即将日志发送到集中式、防篡改系统——攻击者可以清除本地日志。
规范化与解析
日志有几十种格式。规范化会将它们转换为通用架构(IP、时间戳、事件类型、用户),从而支持在 SIEM 中进行跨来源关联分析。
快速检查
哪个 Windows 事件 ID 表示登录失败尝试?
总结:日志来源
有效的安全监控需要来自每一层的日志:OS 身份验证事件、网络防火墙和 DNS、Web 服务器访问、应用程序与数据库,以及 VPN。请立即集中发送日志——攻击者会清除本地日志。请规范化各种格式,以支持跨来源关联分析,并至少保留 90 天,以便开展调查。
常见问题解答
「日志来源:操作系统、网络与应用日志」课时是免费的吗?
是的 — 「日志来源:操作系统、网络与应用日志」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「日志来源:操作系统、网络与应用日志」这节课中我会学到什么?
了解 Windows 事件日志、syslog、Apache/Nginx 日志和防火墙日志包含哪些信息。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「日志来源:操作系统、网络与应用日志」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 日志来源:操作系统、网络与应用日志
- SIEM 架构与日志采集
- 编写检测规则与关联分析
- 告警分级与 SOC 工作流