Critical Log Review Checklist for Security Incidents
Critical Log Review Checklist for Security Incidents
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.
General Approach
- Identify which log sources and automated tools you can use during the analysis.
- Copy log records to a single location where you will be able to review them.
- Minimize “noise” by removing routine, repetitive log entries from view after confirming that they are benign.
- Determine whether you can rely on logs' time stamps; consider time zone differences.
- Focus on recent changes, failures, errors, status changes, access and administration events, and other events unusual for your environment.
- Go backwards in time from now to reconstruct actions after and before the incident.
- Correlate activities across different logs to get a comprehensive picture.
- Develop theories about what occurred; explore logs to confirm or disprove them.
Potential Security Log Sources
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.
Typical Log Locations
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
What to Look for on Linux
| 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” |
What to Look for on Windows
| 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 |
What to Look for on Network Devices
| 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” |
What to Look for on Web Servers
| 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 |
Other Resources
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
Post-Scriptum
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.
Critical Log Review Checklist for Security Incidents的更多相关文章
- Code Review Checklist
左按:当年需要一份详细的代码评审清单作参考,翻译了此文. 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] General Code Smoke Test 通用测试 Comm ...
- Code Review Checklist and Guidelines for C# Developers
Checklist1. Make sure that there shouldn't be any project warnings.2. It will be much better if Code ...
- Java相关|Code Review Checklist(Server)
安全 所有入参均经过校验,包括验证参数数据类型.范围.长度,尽可能采用白名单形式验证所有的输入.对于非法请求,记录WARN log.参考Input Validation Cheat Sheet:前后端 ...
- Open source and free log analysis and log management tools.
Open source and free log analysis and log management tools. Maintained by Dr. Anton Chuvakin Version ...
- Summary Checklist for Run-Time Kubernetes Security
Here is a convenient checklist summary of the security protections to review for securing Kubernetes ...
- Security Checklist (路由器安全checklist)
Security Checklist Website by Michael Horowitz Home | Introduction | Router Bugs | Security Che ...
- Magic Quadrant for Security Information and Event Management
https://www.gartner.com/doc/reprints?id=1-4LC8PAW&ct=171130&st=sb Summary Security and risk ...
- ApexSql Log 2016破解版&补丁
绿色破解版: http://download.csdn.net/detail/gsyifan/9316993 官网: https://www.apexsql.com/sql_tools_log.asp ...
- Managing IIS Log File Storage
Managing IIS Log File Storage You can manage the amount of server disk space that Internet Informa ...
随机推荐
- ASP.Net引用类库出现问题 二
一:引用mysql.data.dll出现,问题? error: Package MySql.Data (.NETCoreApp,Version=v1.). Package MySql.Data sup ...
- 修改已经提交到远端的git commit信息
有这么一种场景,就是以前没有设置用户名和邮箱,导致提交时git commit信息中用户信息不正确.这样的情况导致后来我们提交代码到git上面时因为身份验证错误,只有到 push 阶段了才发现提交不上去 ...
- python threading 模块来实现多线程
以多线程的方式向标准输出打印日志 #!/usr/bin/python import time import threading class PrintThread(threading.Thread): ...
- MYSQL 日志文件路径错误 1067错误
场景再现: ---------------------------------------------------------------------------------------------- ...
- shell提示符显示git当前分支
编辑/etc/profile或者~/.bashrc 在行末添加如下内容 # 获取git当前分支 git_branch() { branch='' cd $PWD if [ -d '.git' ]; t ...
- [置顶] CSDN博客第三期云计算最佳博主评选
CSDN博客第二期云计算最佳博主排行圆满结束,恭喜所有上榜用户,为继续展示云计算方向的优秀博主,发掘潜力新星,为云计算方向的博客用户提供平台,CSDN博客第三期云计算最佳博主排行开始.同时,获奖者有机 ...
- 开源语音识别系统 Simon
http://www.lupaworld.com/proj.php?mod=view&cid=&id=824 语音识别系统 Simon:Simon 是一个开源的语音识别系统,它不仅可以 ...
- 攻击DotCom小游戏
许久都没写博客了,些许是前段时间有些懈怠,今天来写博客,想记录下做过的事情,怕以后电脑换了,以前做的小项目也跟着丢了,总结下最近做的一个小游戏: 游戏目的:建立一个7X7的网格,选择其中的连续的三格来 ...
- Linux学习之十二、命令别名与历史命令
命令别名配置: alias, unalias 那么需要下达『 ls -al | more 』这个命令,我是觉得很烦啦! 要输入好几个单字!那可不可以使用 lm 来简化呢?当然可以,你可以在命令行下面下 ...
- C#编程规范
C#编程规范 Version 1.0 目录 第一章 概述.... 4 规范制定原则.... 4 术语定义.... 4 Pascal 大小写.... 4 Camel 大小写.... 4 文件命名组织 ...