当前位置:首页 > 代码 > 正文

日志管理系统的代码(日志系统有哪些)

admin 发布:2022-12-19 05:53 131


今天给各位分享日志管理系统的代码的知识,其中也会对日志系统有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

能否帮我解释一下,什么叫基于Linux的入侵检测系统的日志管理系统?

1.概述

入侵检测(Intrusion Detection),顾名思义,便是对入侵行为的发觉。它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统(Intrusion Detection System,简称IDS)。与其他安全产品不同的是,入侵检测系统需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合格的入侵检测系统能大大的简化管理员的工作,保证网络安全的运行。

日志是使系统顺利运行的重要保障。它会告诉我们系统发生了什么和什么没有发生。然而,由于日志记录增加得太快了,铺天盖地的日志使系统管理员茫然无措,最终使日志成为浪费大量磁盘空间的垃圾。日志具有无可替代的价值,但不幸的是它们经常被忽略,因为系统管理员在并不充裕的时间里难以查看大量的信息。标准的日志功能不能自动过滤和检查日志记录,并提供系统管理员所需要的信息。

对于入侵者来说,要做的第一件事就是清除入侵的痕迹。这需要入侵者获得root权限,而一旦系统日志被修改,就无法追查到攻击的情况。因此,好的系统管理员应该建立日志文件检测。有很多工具可以实现日志检测的功能,其中就有Logcheck和Swatch。本文将对Logcheck和Swatch逐一进行介绍。

2.日志文件系统

审计和日志功能对于系统来说是非常重要的,可以把感兴趣的操作都记录下来,供分析和检查。UNIX采用了syslog工具来实现此功能,如果配置正确的话,所有在主机上发生的事情都会被记录下来,不管是好的还是坏的。

Syslog已被许多日志系统采纳,它用在许多保护措施中--任何程序都可以通过syslog记录事件。Syslog可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络纪录另一个主机上的事件。

Syslog依据两个重要的文件:/sbin/syslogd(守护进程)和/etc/syslog.conf配置文件,习惯上,多数syslog信息被写到/var/adm或/var/log目录下的信息文件中(messages.*)。一个典型的syslog纪录包括生成程序的名字和一个文本信息。它还包括一个设备和一个行为级别(但不在日志中出现)。

/etc/syslog.conf的一般格式如下

设备.行为级别 [;设备.行为级别]

记录行为

设备

描述

auth

认证系统:login、su、getty等,即询问用户名和口令

authpriv

同LOG_AUTH,但只登录到所选择的单个用户可读的文件中

cron

cron守护进程

daemon

其他系统守护进程,如routed

kern

内核产生的消息

lpr

打印机系统:lpr、lpd

mail

电子邮件系统

news

网络新闻系统

syslog

由syslogd产生的内部消息

user

随机用户进程产生的消息

uucp

UUCP子系统

local0~local7

为本地使用保留

行为级别

描述

debug

包含调试的信息,通常旨在调试一个程序时使用

info

情报信息

notice

不是错误情况,但是可能需要处理

warn(warning)

警告信息

err(error)

错误信息

crit

重要情况,如硬盘错误

alert

应该被立即改正的问题,如系统数据库破坏

emerg(panic)

紧急情况

记录行为(举例)

描述

/dev/console

发送消息到控制台

/var/adm/messages

把消息写到文件/var/adm/messages

@loghost

把消息发到其它的日志记录服务器

fred,user1

传送消息给用户

*

传送消息给所有的在线用户

有个小命令logger为syslog系统日志文件提供一个shell命令接口,使用户能创建日志文件中的条目。用法:logger 例如:logger This is a test!

它将产生一个如下的syslog纪录:Apr 26 11:22:34 only_you: This is a test!

3.Logcheck

3.1 logcheck介绍

Logcheck是一软件包,用来实现自动检查日志文件,以发现安全入侵和不正常的活动。Logcheck用logtail程序来记录读到的日志文件的位置,下一次运行的时候从记录下的位置开始处理新的信息。所有的源代码都是公开的,实现方法也非常简单。

Logcheck SHELL脚本和logtail.c程序用关键字查找的方法进行日志检测。在这儿提到的关键字就是指在日志文件中出现的关键字,会触发向系统管理员发的报警信息。Logcheck的配置文件自带了缺省的关键字,适用于大多数的*inx系统。但是最好还是自己检查一下配置文件,看看自带的关键字是否符合自己的需要。

Logcheck脚本是简单的SHELL程序,logtail.c程序只调用了标准的ANSI C函数。Logcheck要在cron守护进程中配置,至少要每小时运行一次。脚本用简单的grep命令来从日志文件检查不正常的活动,如果发现了就发MAIL给管理员。如果没有发现异常活动,就不会收到MAIL。

3.2 安装和配置logcheck

3.2.1 下载Logcheck

下载网址 下载后放在/backup目录

3.2.2 安装

以root用户身份登录,

[root@only_you /root]# tar zxvf /backup/logcheck-1.1.1.tar.gz

[root@only_you /root]# cd logcheck-1.1.1

[root@only_you logcheck-1.1.1] make linux file://在Linux平台下使用

make install SYSTYPE=linux file://缺省安装目录是/usr/local/etc

make[1]: Entering directory `/root/logcheck-1.1.1'

Making linux

cc -O -o ./src/logtail ./src/logtail.c

Creating temp directory /usr/local/etc/tmp file://在/usr/local/etc下创建目录tmp

Setting temp directory permissions

chmod 700 /usr/local/etc/tmp

Copying files

cp ./systems/linux/logcheck.hacking /usr/local/etc file://拷贝文件到/usr/local/etc目录

cp ./systems/linux/logcheck.violations /usr/local/etc

cp ./systems/linux/logcheck.violations.ignore /usr/local/etc

cp ./systems/linux/logcheck.ignore /usr/local/etc

cp ./systems/linux/logcheck.sh /usr/local/etc

cp ./src/logtail /usr/local/bin file://把logtail程序拷贝到/usr/local/bin目录

Setting permissions

chmod 700 /usr/local/etc/logcheck.sh 的脚本

chmod 700 /usr/local/bin/logtail file://修改文件访问权限,确认只有root用户才能操作

chmod 600 /usr/local/etc/logcheck.violations.ignore

file://不同的配置文件

chmod 600 /usr/local/etc/logcheck.violations

chmod 600 /usr/local/etc/logcheck.hacking

3.2.3 程序文件介绍

logcheck.sh 主脚本文件。控制所有的处理过程,用grep命令检查日志文件,发现问题报告系统管理员。由cron定时启动

logtail 记录日志文件上次处理到的位置。被logcheck程序调用,避免重复处理已处理过的日志文件。所有的日志文件都由此程序处理,在同一目录下会产生文件######.offset,其中######是检查的日志文件名。文件中记录了logtail开始处理的偏移量,如果删除掉,则从文件开始处进行处理。Logcheck跟踪日志文件的inode号和文件大小,如果inode号发生变化,或者是文件大小比上次运行时的小, logtail会重置偏移量,处理整个文件

Logcheck.hacking 文件中包含了系统受到攻击时的关键字。这个文件的关键字比较稀少,除非能知道某种特定的攻击方式的特征。缺省的关键字是ISS(Internet Security Scanner)攻击产生的,或者是sendmail中的地址栏里的非法语法。在日志文件中找到了关键字就会给管理员发信。

logcheck.violations 文件中包含了产生否定或拒绝信息的系统事件。如denied,refused等。

logcheck.violations.ignore

文件中包含了要对logcheck.violations进行反向查找的关键字。

3.2.4 配置

为了使logcheck运行正常,先要对syslog.conf进行配置,你应该根据自己的需要进行配置,下面给出的只是一个例子

把下面的内容加到/etc/syslog.conf中

#记录mail,news以外的消息

*.*;mail.none;news.none -/var/log/messages

#记录认证请求

auth.*;authpriv.* /var/log/authlog

#记录所有的内核消息

kern.* /var/log/kernlog

#记录警告和错误消息

*.warn;*.err /var/log/syslog

这四个文件/var/log/messages,/var/log/authlog,/var/log/kernlog,/var/log/syslog

c#编写工作日志管理系统。

1.用户表 : UserInfo( Id, LoginName, Password, UserType(用户类型,比如管理员), Name, CreateTime, Remark)

2.日志表: Log(Id,Title,Context,Date,UserId,Remark)

两张表就够了

如何用c#语言实现OA协同办公系统的日志管理(功能包括读取日志、备份日志、删除日志)

写日志 可以了吗 如果可以了那删除备份什么的都容易了 可以写到数据的一个表中

系统日志事件代码分别代表啥意思

作为一个服务器维护者,我的工作就是检查日志。今天我想和大家分享的不是上面的任何一个日志,而是系统的管理日志。在windows 2003系统中,在“开始”菜单“运行”中输入“eventvwr”就可以打开事件查看器,不过一般我们是打开计算机管理,他包含了这个时间查看器,方便管理,在运行中输入“compmgmt.msc”或者右击我的电脑选择“管理”就可以打开计算机管理。事件查看器 一般可以查看四类日志,他们分别是“应用程序”,“internet explorer”,“安全性”和“系统”。

如图

[attachment=1584]

对于“登陆/注销”来说我们重点关注 “应用程序”和“系统”这2类,“登陆/注销”这种行为一般发生在系统用户和数据库用户,下面以一个例子来具体说明。

比如,我以administrator身份登陆3389端口的远程终端,那么日志记录一般为4条,同时发生。

这个审核是默认开启的,如果想修改可以在运行中输入gpedit.msc打开组策略,在计算机配置-windows设置-安全设置-本地策略-审核策略,即可看到对系统登陆时间的审核。

[attachment=1585]

此类日志保存在“安全性”这一类中

复制代码

事件类型: 审核成功

事件来源: Security

事件种类: 帐户登录

事件 ID: 680

日期: 2010-2-4

事件: 20:52:37

用户: TAGggg-DDD3333\administrator

计算机: TAGggg-DDD3333

描述:

尝试登录的用户: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0

登录帐户: administrator

源工作站: TAGggg-DDD3333

错误代码: 0x0

这个日志是记录尝试登陆的用户,比如你在登陆窗口测试用户名和密码的话,这里都会记载下载,如果你发现有不是系统用户的记录,那么肯定是有人在猜你的用户名了

复制代码

事件类型: 审核成功

事件来源: Security

事件种类: 登录/注销

事件 ID: 552

日期: 2010-2-4

事件: 20:52:37

用户: NT AUTHORITY\SYSTEM

计算机: TAGggg-DDD3333

描述:

使用明确凭据的登录尝试:

登录的用户:

用户名: TAGggg-DDD3333$

域: WORKGROUP

登录 ID: (0x0,0x3E7)

登录 GUID: -

凭据被使用的用户:

目标用户名: administrator

目标域: TAGggg-DDD3333

目标登录 GUID: -

目标服务器名称: localhost

目标服务器信息: localhost

调用方进程 ID: 3224

源网络地址: 142.97.167.96

源端口: 53637

如果登陆成功,那么将在这里记载,如果被人拿到了3389的账号和密码,那么这里将记载ip和方式,很明显这里是使用凭据登陆的。

复制代码

事件类型: 审核成功

事件来源: Security

事件种类: 登录/注销

事件 ID: 528

日期: 2010-2-4

事件: 20:52:37

用户: TAGggg-DDD3333\administrator

计算机: TAGggg-DDD3333

描述:

登录成功:

用户名: administrator

域: TAGggg-DDD3333

登录 ID: (0x0,0x3B5BA)

登录类型: 10

登录进程: User32

身份验证数据包: Negotiate

工作站名: TAGggg-DDD3333

登录 GUID: -

调用方用户名: TAGggg-DDD3333$

调用方域: WORKGROUP

调用方登录 ID: (0x0,0x3E7)

调用方进程 ID: 3224

传递服务: -

源网络地址: 142.97.167.96

源端口: 53637

这条日志最为重要,他有3个地方说明了登陆方式是远程连接登陆桌面的,第一个地方是登录方式为10,这种方式是远程交互(RemoteInteractive),说明是通过终端服务、远程桌面或远程协助登陆的;第二个地方就是:登录进程: User32 ,说明是调用了user32.exe进程来登陆的。 第三个地址我们在关注一下调用方进程ID,打开任务管理器,可以看到3224的进程是winlogen.exe,这3点都说明了这个日志是远程连接日志

[attachment=1586]

复制代码

事件类型: 审核成功

事件来源: Security

事件种类: 登录/注销

事件 ID: 576

日期: 2010-2-4

事件: 20:52:37

用户: TAGggg-DDD3333\administrator

计算机: TAGggg-DDD3333

描述:

指派给新登录的特殊权限:

用户名:

域:

登录 ID: (0x0,0x3B5BA)

特权: SeSecurityPrivilege

SeBackupPrivilege

SeRestorePrivilege

SeTakeOwnershipPrivilege

SeDebugPrivilege

SeSystemEnvironmentPrivilege

SeLoadDriverPrivilege

SeImpersonatePrivilege

这个日志是说明给予登陆用户的权限。

好了,上面就是远程登陆的日志了。下面介绍关于mssql的登陆日志。我将mssql的登陆日志分为3类:普通用户登陆,SA登陆和系统用户登陆。

需要开启sql server和windows身份验证,审核全部。点击mssql实例,右击属性,在“安全性”选项卡中选择即可

[attachment=1587]

我们重点关注SA和系统用户的登陆。

mssql的系统用户的登陆日志也保存在“安全性”这类日志中,它的日志和远程登陆相似,主要区别在第三个日志,比如

复制代码

事件类型: 审核成功

事件来源: Security

事件种类: 登录/注销

事件 ID: 528

日期: 2010-2-4

事件: 21:50:34

用户: TAGggg-DDD3333\administrator

计算机: TAGggg-DDD3333

描述:

登录成功:

用户名: administrator

域: TAGggg-DDD3333

登录 ID: (0x0,0x48EF44)

登录类型: 5

登录进程: Advapi

身份验证数据包: Negotiate

工作站名: TAGggg-DDD3333

登录 GUID: -

调用方用户名: TAGggg-DDD3333$

调用方域: WORKGROUP

调用方登录 ID: (0x0,0x3E7)

调用方进程 ID: 444

传递服务: -

源网络地址: -

源端口: -

可以看到这个日志的源网络地址和源端口为空。登录类型为5,了解过windows登陆类型的知道这是以服务的方式来登陆的,登录进程为Advapi ,是因mssql调用了LogonUser(管理员)(API call to LogonUser)”,从而产生了登录事件,调用方进程ID为444即serverices.exe的进程,在看到这个日志的最开始你可能会以为被入侵了,其实不然,当然每个情况不一样,要具体分析,因为像黑洞的远程登陆日志应当也是这样,他也是采用服务来登陆系统。我上面的这个mssql日志比较特殊,因为我是调用administrator来启动mssql的,而不是system,所以第一眼看到这个日志感觉可能中招了的想法是正确的,请仔细勘察。

MSSQL的用户登陆日志都保存在“应用程序”中,普通网站所用数据库用户的登陆,一般为

复制代码

事件类型: 信息

事件来源: MSSQLSERVER

事件种类: (4)

事件 ID: 17055

日期: 2010-2-4

事件: 21:41:06

用户: N/A

计算机: TAGggg-DDD3333

描述:

18454:

用户 'dbxxxxx' 登录成功。连接: 非信任。

在系统用登陆mssql是在这里也会有记载

复制代码

事件类型: 信息

事件来源: MSSQLSERVER

事件种类: (4)

事件 ID: 17055

日期: 2010-2-4

事件: 21:42:37

用户: TAGggg-DDD3333\administrator

计算机: TAGggg-DDD3333

描述:

18453:

用户 TAGggg-DDD3333\administrator' 登录成功。连接: 信任。

可能同时还伴随会产生这样一个日志

复制代码

描述:

8128:

使用 'xplog70.dll' 版本 '2000.80.2039' 来执行扩展存储过程 'xp_msver'。

一个返回有关服务器的实际内部版本号的信息以及服务器环境的有关信息的扩展存储

下面说SA的日志。

sa登陆成功日志:

事件类型: 信息

复制代码

事件来源: MSSQLSERVER

事件种类: (4)

事件 ID: 17055

日期: 2010-2-4

事件: 21:02:21

用户: N/A

计算机: TAGggg-DDD3333

描述:

18454:

用户 'sa' 登录成功。连接: 非信任。

如果看到这样的日志那么你的小心了,SA密码已经被人拿去了。

如果执行游览文件功能,那么会产生这样的日志

复制代码

事件类型: 信息

事件来源: MSSQLSERVER

事件种类: (2)

事件 ID: 17055

日期: 2010-2-4

事件: 21:02:45

用户: N/A

计算机: TAGggg-DDD3333

描述:

8128:

使用 'xpstar.dll' 版本 '2000.80.2039' 来执行扩展存储过程 'xp_dirtree'。

日志管理系统的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于日志系统有哪些、日志管理系统的代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/3412.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载