This cheat sheet presents a checklist for reviewing critical logs when responding to a security incident. It can also be used for routine log review. It was authored by Anton Chuvakin and Lenny Zeltser.
Server and workstation operating system logs
Application logs (e.g., web server, database server)
Security tool logs (e.g., anti-virus, change detection, intrusion detection/prevention system)
Outbound proxy logs and end-user application logs
Remember to consider other, non-log sources for security events.
Linux OS and core applications: /var/log
Windows OS and core applications: Windows Event Log (Security, System, Application)
Network devices: usually logged via Syslog; some use proprietary locations and formats
Successful user login | “Accepted password”, “Accepted publickey”, "session opened” |
Failed user login | “authentication failure”, “failed password” |
User log-off | “session closed” |
User account change or deletion | “password changed”, “new user”, “delete user” |
Sudo actions | “sudo: … COMMAND=…” “FAILED su” |
Service failure | “failed” or “failure” |
Event IDs are listed below for Windows 2000/XP. For Vista/7 security event ID, add 4096 to the event ID. | |
Most of the events below are in the Security log; many are only logged on the domain controller. | |
User logon/logoff events | Successful logon 528, 540; failed logon 529-537, 539; logoff 538, 551, etc |
User account changes | Created 624; enabled 626; changed 642; disabled 629; deleted 630 |
Password changes | To self: 628; to others: 627 |
Service started or stopped | 7035, 7036, etc. |
Object access denied (if auditing enabled) | 560, 567, etc |
Look at both inbound and outbound activities. | |
Examples below show log excerpts from Cisco ASA logs; other devices have similar functionality. | |
Traffic allowed on firewall | “Built … connection”, “access-list … permitted” |
Traffic blocked on firewall | “access-list … denied”, “deny inbound”, “Deny … by” |
Bytes transferred (large files?) | “Teardown TCP connection … duration … bytes …” |
Bandwidth and protocol usage | “limit … exceeded”, “CPU utilization” |
Detected attack activity | “attack from” |
User account changes | “user added”, “user deleted”, “User priv level changed” |
Administrator access | “AAA user …”, “User … locked out”, “login failed” |
Excessive access attempts to non-existent files | |
Code (SQL, HTML) seen as part of the URL | |
Access to extensions you have not implemented | |
Web service stopped/started/failed messages | |
Access to “risky” pages that accept user input | |
Look at logs on all servers in the load balancer pool | |
Error code 200 on files that are not yours | |
Failed user authentication | Error code 401, 403 |
Invalid request | Error code 400 |
Internal server error | Error code 500 |
A listing of many Windows Security Log events
A list of open-source log analysis tools
Anton Chuvakin's log management blog
Other security incident response-related cheat sheets
Found this checklist useful? Tweet it!
Special thanks to Anand Sastry for providing feedback on this cheat sheet. If you have suggestions for improving this cheat sheet, please let us know.
This cheat sheet is distributed according to the Creative Commons v3 "Attribution" License. File version 1.0.