汇总:【应急响应】一文了解应急响应中常用的日志收集方法
优采云 发布时间: 2022-11-24 03:21汇总:【应急响应】一文了解应急响应中常用的日志收集方法
免责声明:潮汐安全团队原创文章,转载请声明出处!本文涉及的技术、思想和工具仅供学习交流,以安全为目的,任何人不得用于非法用途或营利目的,否则后果自负!
当服务器被植入网页篡改、挖矿木马等安全攻击时,日志可以辅助安全事件的恢复,第一时间查明事件发生的时间和原因,所以日志采集
是还是很重要的。本文整理了一些常见的中间件、数据库、操作系统的日志采集
方法。
1.中间件日志
1.1 网络逻辑
安装后weblogic默认开启日志功能。在默认配置下,weblogic会有三种日志,分别是accesslog、server log和domain log。WebLogic8.x和9及以后版本的目录结构不同。
WebLogic 9 及以后版本:
访问日志路径如下:
$MW_HOME\user_projects\domains\\servers\\logs\access.log
服务器日志路径如下:
$MW_HOME\user_projects\domains\\servers\\logs\.log
域日志路径如下:
$MW_HOME\user_projects\domains\\servers\\logs\.log
WebLogic 8.x 版本:
访问日志路径如下:
$MW_HOME\user_projects\domains\\\access.log
服务器日志路径如下:
$MW_HOME\user_projects\domains\\\.log
域日志路径如下:
$MW_HOME\user_projects\domains\\.log
在:
$MW_HOME为WebLogic的安装目录
是域的实际名称,在创建域时指定
是Server的实际名称,在创建Server的时候指定
它是 Admin Server 的实际名称,在创建 Admin Server 时指定。
访问日志
主要记录http请求。默认情况下,启用日志记录。服务器将 http 请求保存在单独的日志文件中。日志格式如下。主要记录http请求请求ip地址、请求时间、访问页面、响应状态等信息:
服务器日志
主要用于服务器的一般日志记录,如weblogic的启动、关闭、部署应用等相关记录。日志格式:时间戳、严重性、子系统、计算机名、服务器名、线程ID。消息正文中的以下几行仅表示已记录异常并显示异常的堆栈跟踪,如下所示:
域日志
主要记录域的运行状态。一个域中的每个weblogic服务器都可以将它们的一些信息(比如严重错误)发送给AdminServer,AdminServer将这些信息传递给domain.log
1.2 雄猫
Tomcat日志默认路径:安装目录下的logs文件夹下:
如果安装时默认修改了日志存放位置,可以在conf/logging.properties文件中查看
Tomcat日志一般分为四种格式:catalina.out、localhost、manager、localhost_access_log。
卡特琳娜.out
运行日志主要记录运行过程中产生的一些信息,尤其是一些异常错误的日志信息。内容如下:
catalina.YMD.log
是tomcat自己运行的一些日志,这些日志也会输出到catalina.out,
但是应用程序输出到控制台的日志不会输出到catalina.{yyyy-MM-dd}.log
本地主机.YMD.log
未捕获时抛出程序异常的地方,
Tomcat下内部代码抛出的日志(jsp页面异常内部错误,org.apache.
jasper.runtime.HttpJspBase.service类在这个文件中抛出了日志信息!)
应用初始化(listener、filter、servlet)未处理的异常最终被tomcat捕获并输出日志,而这些未处理的异常最终会导致应用无法启动。
管理器.YMD.log
管理日志
" />
本地主机访问日志
主要记录访问日志信息,记录访问时间、ip地址等信息,也是应急时经常用到的日志信息
这部分日志可以通过查看server.xml文件的以下内容来判断是否启用了访问日志记录
1.3阿帕奇
Apache日志一般分为两种:access_log和error_log。通过查看httpd.conf文件查看Apache日志路径:
grep -i"CustomLog" /etc/httpd/conf/httpd.conf
grep -i "ErrorLog" /etc/httpd/conf/httpd.conf
访问日志
访问日志,记录所有对apache服务器的请求
错误日志
错误日志,记录任何错误的处理请求,一般是服务器出现什么错误,可以查看日志
1.4 nginx
nginx的日志主要分为access.log和error.log两种。可以通过查看nginx.conf文件找到相关的日志路径,如下图
访问日志
主要记录访问日志,记录访问客户端ip地址、访问时间、访问页面等信息。
error.log,主要记录一些错误信息。
1.5 英寸
检查日志文件位置:
打开名为 ex170910.log 的文件夹下的其中一个文件。日志内容如下,包括域名访问时间、ip、访问url等信息。
2.数据库日志
这次主要介绍mysql、sqlserver、oracle的一些日志信息。
2.1 mysql:
status:查看当前数据库状态
Mysql日志主要分为以下几类:
ErrorLog:记录Mysql运行过程中的Error、Warning、Note等信息。如果系统出现错误或者某条记录有问题,可以查看Error日志;
GenaralQuery Log:记录mysql每天的日志,包括查询、修改、更新等每条sql;
Binary Log:二进制日志,包括一些事件,描述数据库的变化,比如建表,数据变化等,主要用于备份恢复,回滚操作等;
Slow QueryLog*:记录Mysql慢查询的日志;
showvariables like 'log_%';
可以看到mysql默认只打开错误日志,错误日志的内容如下:
这里着重分析GenaralQuery Log,在紧急情况下经常会看到。其他日志类型可以查看大牛整理的详细注释。链接如下:
通过打开日志,记录所有的查询和执行过的sql语句:
GLOBAL general_log='ON';SHOWVARIABLES LIKE 'general%';
general_log:是否开启日志功能,默认为OFF
general_log_file:日志文件保存位置
进入对应路径查看日志内容如下,会记录当前对数据库所做的所有操作
2.2 sql服务器:
SQL Server日志记录了SQL Server数据库完整的运行状态信息,并以消息的形式记录了系统级和应用程序级的操作。
您可以使用 SQL Server Management Studio 中的日志文件查看器来访问有关以下日志中捕获的错误和事件的信息:
SQL Server Management Studio 连接到 sqlserver 数据库以查看与一般 SQL Server 活动相关的日志。
" />
1. 在对象资源管理器中,展开管理。
2. 执行以下操作之一:
1. 右键单击 SQL Server 日志,指向查看,然后单击 SQL Server 日志或 SQLServer 和 Windows 日志。
2. 展开 SQL Server 日志,右键单击任何日志文件,然后单击查看 SQL Server 日志。也可以双击任意一个日志文件,日志格式如下:
查询sqlserver最后一次启动时间:
select sqlserver_start_time fromsys.dm_os_sys_info;
历史sql记录查询:SQLServer没有这样的实现,只有sys.dm_exec_query_stats缓存了一部分(sql server服务启动后执行的语句,一些不缓存执行计划的语句不记录)。
这个视图主要是执行计划的统计,包括消耗成本、运行次数等,并没有每次的session、user、执行时间等信息:
开启sql server的审计功能,所有的操作记录都会被记录下来。可以通过查看Audits查看日志的存放路径
开启Sqlserver的日志审计功能,参考:
2.3神谕:
Oracle日志文件分为两种:重做日志文件(redo log file)和归档日志文件。重做日志文件主要记录数据库的操作过程。当数据库恢复时,可以将恢复的重做日志文件在数据库上执行,以达到数据库的最新状态。
默认情况下,Oracle数据库只记录数据库的登录状态,不统计数据库的查询记录。可以使用show参数audit查看审计功能是否开启。如果 audit_sys_operations 值为 DB。
None:为默认值,不审计;
DB:在数据库的审计相关表中记录审计线索,如aud$,审计结果只有连接信息;
audit_file_dest为日志存储路径,adump下可以查看相关文件,内容如下:
DB, Extended:这种方式除了连接信息外,审计结果还包括当时执行的具体语句;
OS:在操作系统文件中记录审计轨迹,文件名由audit_file_dest参数指定;
开启审计功能:
alter system set audit_sys_operations=TRUEscope=spfile;alter system set audit_trail=db,extendedscope=spfile;
只需重启实例
打开后审计内容会记录在sys库的AUD$表中
修改操作系统日志文件:
alter system setaudit_trail='OS'scope=scope=spfile;
audit_file_dest是日志保存的具体路径。
日志的详细配置请参考:
3.操作系统日志
3.1 窗口日志
查看windows日志方法:开始->运行->输入eventvwr
类型事件类型描述文件名
窗口日志
系统
系统日志收录
Windows 系统组件记录的事件。例如,在启动期间未能加载驱动程序或其他系统组件将记录在系统日志中。系统组件记录的事件类型由 Windows 预先确定。
%SystemRoot%\System32\Winevt\Logs\System.evtx
安全
安全日志收录
诸如有效和无效登录尝试之类的事件,以及与资源使用相关的事件,例如创建、打开或删除文件或其他对象。管理员可以指定在安全日志中记录哪些事件。例如,如果启用了登录审核,系统的登录尝试将记录在安全日志中。
%SystemRoot%\System32\Winevt\Logs\Security.evtx
应用
应用程序日志收录
应用程序或程序记录的事件。例如,数据库程序可以在应用程序日志中记录文件错误。程序开发人员决定记录哪些事件。
%SystemRoot%\System32\Winevt\Logs\Application.evtx
转发事件
ForwardedEvents 日志用于存储从远程计算机采集
的事件。要从远程计算机采集
事件,必须创建事件订阅。
%SystemRoot%\System32\Winevt\Logs\ForwardedEvents.evtx
您可以通过查看帮助手册获取更多日志信息:
Windows日志使用事件id来标识发生的具体动作,可以通过微软查询具体id对应的操作:
解决方案:灵玖大数据搜索应用动态网络精准采集器系统
信息采集又称网络信息采集、信息爬取、网络蜘蛛、信息采集
、网络爬行、网络内容爬行。它是指从大量网页中提取非结构化信息,并将其保存为结构化数据。在存储文件的过程中,数据存储文件包括:Excel、Word、Txt、数据库等,根据不同的应用需求而有所不同。采集
的结果数据可用于信息发布、邮件通知、统计分析、决策支持、情报舆情监测、报表展示等。
动态网络精准采集器系统是指基于网络信息挖掘搜索引擎,通过软件架构设计实现的软件应用系统。它可以帮助您批量、动态地从不同的互联网站点采集新的信息,并经过分类和统一格式后,及时满足不同的数据应用需求。数据应用包括:发布到网站、数据库存储、统计分析、决策支持、情报和舆情监测、报表展示等。从而提高信息的及时性,节省或减少人力的工作量,达到降低运营成本,提高企业竞争力的目的。
" />
1. 动态网络精准采集系统Web规则管理层设计
对于不同的网站,网站的结构也大不相同。一种算法或规则不可能适用于所有网站集合。管理器主要负责不同网站之间的采集
模板管理和智能提取功能模块的管理(图15)。
2.采集任务调度管理层设计
" />
超链接(URL)是爬虫访问网络资源的唯一入口。如果URL在调度系统中大量重复,爬虫会不断访问重复的资源,影响爬虫的性能。因此,需要对 URL 进行去重。为了减少爬虫在爬取过程中不必要的资源浪费,一般的URL去重算法有以下几种方法:1.基于磁盘的顺序存储,2.基于哈希算法的存储,3.基于MD5压缩映射的存储。
3. Proxy IP获取层设计
代理IP获取层主要通过专门的代理IP网站获取代理IP。也可以在百度上搜索代理IP,也可以搜索很多代理IP的网站。我们只要输入一个代理IP的网站,就可以抓取代理IP。我们仍然以快速代理为例。这个网站的结构很清晰,很容易采集
。我们将采集到的IP放入内存中,判断代理IP是否有效。如果代理 IP 有效,则将代理 IP 放入代理 IP 数据库,如果代理 IP 无效,则丢弃代理 IP。爬虫在请求网页时可以使用这些代理 IP。放置在代理 IP 数据库中的 IP 也可能无效。有必要定期检查代理IP的有效性。如果无效,应及时清理代理IP数据库,