📜  前9个常见安全日志源(1)

📅  最后修改于: 2023-12-03 15:36:57.885000             🧑  作者: Mango

前9个常见安全日志源

安全日志源是指记录了与系统安全相关的事件和操作的日志文件,通过分析这些日志可以发现安全威胁和异常行为,协助程序员进行安全事件追踪和处理。以下是前9个常见的安全日志源。

1. Windows安全事件日志(Security Event Log)

Windows安全事件日志是记录Windows操作系统中安全相关事件和操作的标准日志源。包括用户成功或失败的登录、访问控制权限的更改、进程的创建或终止、账户的启用或禁用等等。程序员可以利用事件ID和关键字来筛选和定位安全事件。

## 标准事件ID
- 4624:成功登录事件
- 4625:登录失败事件
- 4634:用户注销事件
- 4647:用户注销事件
- 4688:进程创建事件
- 4689:进程退出事件

## 标注关键字
- Audit Success:记录成功事件
- Audit Failure:记录失败事件
- EventLog:记录日志的源文件名称
2. Linux系统日志(syslog)

Linux系统日志是记录Linux操作系统中各种事件和操作的标准日志源。包括系统启动、运行级别切换、登录和注销、进程和守护进程的启动和停止等等。程序员可以利用标准的日志级别和设施来区分和查询不同类型的日志。

## 日志级别
- Emerg:系统崩溃或不可用事件
- Alert:应该立即采取行动事件
- Crit:严重事件
- Err:错误事件
- Warning:警告事件
- Notice:普通但重要的事件
- Info:信息性事件
- Debug:调试事件

## 设施类型
- auth:认证和授权相关事件
- authpriv:用户认证和授权相关事件
- cron:定时作业相关的事件
- kern:内核相关的事件
- local0-7:本地自定义设施
- mail:邮件服务器相关的事件
- syslog:标准系统日志
- user:与用户有关的事件
- uucp:Unix到Unix的复制相关事件
3. Apache访问日志(access log)

Apache访问日志是记录Apache Web服务器中所有HTTP请求的标准日志源。包括每个请求的来源IP地址、访问时间、请求方法和URI、HTTP状态码和响应大小等等。程序员可以通过分析访问日志来发现恶意请求、DDoS攻击、爬虫行为等等。

## 日志格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

## 注释参数
- %h:客户端IP地址
- %l:远程登录名(通常为“-”)
- %u:远程用户身份信息(如Basic帐户、Digest帐户)
- %t:请求时间
- %r:请求第一行
- %>s:HTTP状态码
- %b:响应大小
- %{Referer}i:HTTP Referer标题
- %{User-agent}i:HTTP User-Agent标题
4. Apache错误日志(error log)

Apache错误日志是记录Apache Web服务器中所有错误和异常事件的标准日志源。包括服务器启动和停止、模块加载和卸载、访问权限和文件读取错误、PHP脚本解析错误等等。程序员可以通过分析错误日志来发现服务器配置错误、应用程序漏洞、恶意脚本注入等等。

## 日志格式
LogFormat "%{errordocument}n %l %U %M" errorlog

## 注释参数
- %{errordocument}n:错误文档名称
- %l:远程登录名(通常为“-”)
- %U:请求URI
- %M:错误信息
5. MySQL查询日志(query log)

MySQL查询日志是记录MySQL数据库中所有查询和事务的标准日志源。包括用户连接和断开、查询语句和响应时间、事务开始和提交等等。程序员可以通过分析查询日志来发现SQL注入攻击和恶意查询、异常查询和优化机会等等。

## 日志格式
log_output = FILE
general_log_file = /var/log/mysql/mysql.log
general_log = 1

## 日志类型
- general_log:记录所有查询和事务
- slow_query_log:记录慢查询(超过阈值时间的查询)
- binary_log:记录MySQL增量备份数据
- error_log:记录错误和警告
6. SSH登录日志(secure log)

SSH登录日志是记录Linux系统中用户SSH登录事件的标准日志源。包括用户登录和注销、登录失败和禁止、密钥验证、SSH协议版本等等。程序员可以通过分析SSH登录日志来发现暴力破解和字典攻击、恶意用户和行为、系统配置错误等等。

## 日志格式
/var/log/secure

## 日志类型
- sshd_config:SSH服务器配置文件
- allow-users:允许登录的用户列表
- deny-users:禁止登录的用户列表
- PAM配置:用户身份验证和访问控制规则
7. NGINX访问日志(access log)

NGINX访问日志是记录NGINX Web服务器中所有HTTP请求的标准日志源。包括每个请求的来源IP地址、访问时间、请求方法和URI、HTTP状态码和响应大小等等。程序员可以通过分析访问日志来发现恶意请求、DDoS攻击、爬虫行为等等。

## 日志格式
log_format combined '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $body_bytes_sent '
                        '"$http_referer" "$http_user_agent"';

## 注释参数
- $remote_addr:客户端IP地址
- $remote_user:远程登录名(通常为“-”)
- $time_local:请求时间
- $request:请求第一行
- $status:HTTP状态码
- $body_bytes_sent:响应大小
- $http_referer:HTTP Referer标题
- $http_user_agent:HTTP User-Agent标题
8. NGINX错误日志(error log)

NGINX错误日志是记录NGINX Web服务器中所有错误和异常事件的标准日志源。包括服务器启动和停止、模块加载和卸载、访问权限和文件读取错误、PHP脚本解析错误等等。程序员可以通过分析错误日志来发现服务器配置错误、应用程序漏洞、恶意脚本注入等等。

## 日志格式
error_log /var/log/nginx/error.log;

## 日志类型
- error:记录错误信息
- warn:记录警告信息
- notice:记录正常但重要信息
- info:记录信息性事件
- debug:记录调试事件
9. Snort入侵检测系统日志(IDS log)

Snort入侵检测系统日志是记录Snort网络入侵检测系统中所有警报和事件的标准日志源。包括网络流量和协议分析、规则匹配和警报、TCP/IP堆栈分析等等。程序员可以通过分析入侵检测系统日志来发现网络侵入和攻击、恶意流量和威胁行为等等。

## 日志格式
output alert_fast: alert.log
output log_tcpdump: tcpdump.log
output log_mpls: mpls.log

## 输出格式
- alert:警报日志
- log_tcpdump:网络流量日志
- log_mpls:路由器优先日志