没有合适的资源?快使用搜索试试~ 我知道了~
针对传统的单一设备和人工管理方式不能应对日益复杂的网络威胁和挑战,不能及时发现和准确定位网络安全事件,也不能对安全事件可能造成的后果进行准确评估的问题,本文主要讨论如何基于标准Syslog协议,通过对网络设备大量网络日志数据的集中采集,通过SQL代理处理后进行分析,构造一套日志系统,以达到对网络运行状况进行检测的目的。
资源推荐
资源详情
资源评论
基于基于Windows的的Syslog日志系统设计与实现日志系统设计与实现
针对传统的单一设备和人工管理方式不能应对日益复杂的网络威胁和挑战,不能及时发现和准确定位网络安全
事件,也不能对安全事件可能造成的后果进行准确评估的问题,本文主要讨论如何基于标准Syslog协议,通过
对网络设备大量网络日志数据的集中采集,通过SQL代理处理后进行分析,构造一套日志系统,以达到对网络
运行状况进行检测的目的。
摘摘 要:要: 针对传统的单一设备和人工管理方式不能应对日益复杂的网络威胁和挑战,不能及时发现和准确定位
关键词:关键词: Syslog;日志系统; SQL代理; 网络安全
日志一直都是网络管理人员在检查故障、排除网络错误时, 查找“病源”的有利原始资料。通过对网络设备和主机系统的日志
分析, 可以快速了解网络上的活动, 并对刚刚发生的或者正在进行的事件进行快速响应。随着网络规模的不断扩大和网络应用的
不断增多,网络中也越来越多地面临各种安全威胁的困扰,传统的依靠单一设备或者人工管理的方式已不能应对日益复杂的网
络威胁的挑战,不能及时发现和准确定位网络安全事件,也不能对安全事件可能造成的后果进行准确评估。
1 Syslog协议简述协议简述
Syslog是一种工业标准协议,可用来记录设备的日志。在Unix系统的路由器、交换机等网络设备中,Syslog记录系统中的任
何事件,管理者可以通过查看系统记录,随时掌握系统状况。除了可以把日志信息保存在日志文件中之外,Syslog协议还允许
设备把日志信息通过网络传递给日志服务器[1]。
2 日志采集和存储日志采集和存储
现在大多数Syslog日志系统均采用Linux服务器,针对某企业的设备情况,这里建设一套Windows下的日志系统[2],本文采
用Kiwisyslog日志采集软件来收集需要的系统日志,Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几
种方式的日志输入,且它自带发送模拟器﹑日志浏览器等实用工具。
对于Kiwisyslog收集到的日志,选择实时存入数据库syslogd,日志格式如图1所示。
由于本企业上网用户超过3 000人,每天日志量非常庞大。在这个日志内容中,主要对Message字段进行分析,但是此字段内
容较多且复杂,后期的日志统计分析非常困难,这里采用对syslogd数据库进行每天作业处理,将Message字段按照规律进行
字段划分, Message_A字段是日志类型,Message_B字段是访问时间,Message_C字段是源地址和目的地址,Message_D
和Message_E字段是流入和流出流量,结果如图2所示。
具体操作如下:
打开SQL企业管理器,进入服务器名下的“管理”,启动SQL Server代理。然后查看服务器属性,选中“自动启动SQL Server
代理”。
接下来进入SQL Server代理下的“作业”,在右边点右键选“新建作业”。
在“常规”里,输入一个作业名“syslogd每日处理”,分类选最后一项“数据库维护”。
在“步骤”里,点“新建步骤”,随便输入一个步骤名如“每日备份”,数据库选syslogd,命令里输入需要处理的SQL语句,之后
分析一下,没有问题再继续添加下一个。在“高级”里将“失败时的操作”改成“转到下一步”。
在“调度”里,点“新建调度”,随便输入一个调度名,点“更改”,“发生频率”选每天,“一次发生于”里设置00:00:01,然后点“确
定”,再点“确定”,配置完成。详细SQL语句如下[3]:
(1) 日志备份
--获取昨日日期形成日期字符串
declare @tbName varchar(100),@sql varchar(2000),@date datetime
select @tbName = convert(varchar(10),getdate()-1,112)
--修改表syslogd表名为日期字符串名字
EXEC sp_rename 'syslogd',@tbName
--删除三个月前的表
select @date=dateadd(month,-3,getdate())
declare cur cursor for select name from sysobjects where crdate<@date and xtype='U'
open cur
fetch next from cur into @tbName
while @@fetch_status=0
begin
select @sql='drop table '+@tbName
exec(@sql)
fetch next from cur into @tbName
end
close cur
deallocate cur
资源评论
weixin_38665122
- 粉丝: 3
- 资源: 943
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- tensorflow-2.7.3-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- Python版本快速排序源代码
- Python 语言版的快速排序算法实现
- 450815388207377安卓_base.apk
- 超微主板 X9DRE-TF+ bios 支持 nvme启动
- 基于Python通过下载气象数据和插值拟合离散数据曲线实现对寒潮过程的能量分析
- 健身房系统的设计与实现论文Java项目
- 使用TCP实现的搜索可用服务器
- 使用贪心算法解决会议时间安排问题的 Java 示例代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功