专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Unix/FreeBsd » 系统日志备份:FreeBSD系统日志和备份 »正文

系统日志备份:FreeBSD系统日志和备份

来源: 发布时间:星期一, 2009年1月12日 浏览:13次 评论:0
  由于FreeBSD是个多用户系统那么就需要管理员进行日常维护特别是用做网络服务器系统缺乏维护而造成停机故障就会造成很大损失即使对于单用户FreeBSD系统同样也要执行这些不可缺乏维护任务只是由于系统归个人使用那么对维护要求就不必那么高维护任务就轻松
  • 系统日志

  系统日志记录提供了对系统活动详细审计这些日志用于评估、审查系统运行环境和各种操作对于般情况日志记录包括记录用户登录时间、登录地点、进行什么操作等内容如果使用得当日志记录能向系统管理员提供有关危害安全侵害或入侵试图等非常有用信息

  BSD提供了详细各种日志记录以及有关日志大量工具和实用这些审计记录通常由自动产生是缺省设置部分能够帮助Unix管理员来寻找系统中存在问题对系统维护十分有用还有另些日志记录需要管理员进行设置才能生效大部分日志记录文件被保存在/var/log目录中在这个目录中除了保存系统生成日志的外还包括些应用软件Software日志文件当然/var目录下其他子目录中也会记录下些其他种类日志记录文件这依赖于具体应用设置

$ ls /var/log
adduser      maillog.5.gz   sendmail.st.1
dmesg.today    maillog.6.gz   sendmail.st.10
dmesg.yesterday  maillog.7.gz   sendmail.st.2
httpd-access.log  messages     sendmail.st.3
httpd-error.log  messages.0.gz  sendmail.st.4
kerberos.log    messages.1.gz  sendmail.st.5
lastlog      messages.2.gz  sendmail.st.6
lpd-errs      messages.3.gz  sendmail.st.7
maillog      messages.4.gz  sendmail.st.8
maillog.0.gz    messages.5.gz  sendmail.st.9
maillog.1.gz    s       uid.today
maillog.2.gz    ppp.log     uid.yesterday
maillog.3.gz    sendmail.st   userlog
maillog.4.gz    sendmail.st.0  wtmp
  
  • 系统登录日志
  系统会保存每个用户登录记录这些信息包括这个用户名字、登录起始结束时间以及从何处登录入系统等等它们被保存到/var/log/lastlog、/var/log/wtmp和/var/run/utmp文件中这 3个文件以 2进制格式保存了这些用户登录数据

  其中/var/run/utmp文件中保存是当前系统用户登录记录因此这个文件会随着用户进入和离开系统而不断变化而它也不会为用户保留很长记录只保留当时联机用户记录系统中需要查询当前用户状态如 who、w等就需要访问这个文件utmp可能不包括所有精确信息某些突发会终止用户登录会话当没有及时更新 utmp记录因此utmp记录不是百分的百可以信赖

  而/var/log/wtmp保存了所有登录、退出信息以及系统启动、停机记录因此随着系统正常运行时间增加大小也会越来越大增加速度依赖于系统用户登录次数因此可以利用这个日志用来查看用户登录记录last命令就通过访问这个文件来获得这些信息并以反序从后向前显示用户登录记录last也能根据用户、终端 tty或时间显示相应记录ac命令同样也使用wtmp中数据产生报告但它显示方式区别它可以根据用户(ac -p)或按日期(ap -d)显示信息这样管理员就能获得些非常有用反常信息个平时不太活跃用户突然登录并连接很长时间就有理由怀疑这个帐户被窃取了

  注意:X Window由于会同时打开多个终端窗口因此会使得用户登录连接时间迅速增加

  lastlog文件保存是每个用户最后次登录信息包括登录时间和地点这个文件般只有login使用通过用户UID来在lastlog文件中查找相应记录然后报告其最后次登录时间和终端tty然后 login就使用新记录更新这个文件

  这 3个文件是使用 2进制格式保存因此不能直接查看其中内容而需要使用相关命令当然也可以通过来访问这 3个文件这就需要了解它们使用数据结构其中utmp和wtmp使用同样数据结构而lastlog使用另外个数据结构可使用man来进行查询具体结构如果系统用户数量很多那么wtmp文件大小会迅速增加在系统/var文件系统空间紧张情况下就导致这个文件系统被占满系统不会主动控制这个文件大小因此这需要管理员干预需要手工及时清除或编写shell脚本定期保存和清除

  系统还可以提供记账统计功能要打开系统计账功能需要使用accton命令注意accton必须跟随记账日志文件名字作参数而不带参数accton将关闭记账进程

  当打开了记账功能后可以使用lastcomm来检查在系统中执行所有命令信息包括执行命令、执行命令用户、用户使用终端tty命令完成时间执行时间等从lastcomm输出也能帮助管理员检查可能入侵行为

  此外可以使用ac命令来查询用户连接时间报告sa命令来查询用户消耗处理器时间报告

  • Syslog日志记录
  最初syslog只是为了sendmail而设计消息日志工具由于它提供了个中心控制点使得sys log非常好用和易配置因此当今很多都使用syslog来发送它们记录信息syslog是种强大日志记录方式不但可以将日志保存在本地文件中还可以根据设置将syslog记录发送到网络上台主机中

  支持syslog方式系统启动了syslogd守护进程这个从本地Unix套接字和监听在514端口(UDP)上Internet套接字来获得syslog记录本机中进程使用syslog系统发送来sy slog记录然后由syslogd将他们保存到正确文件或发送到网络上另台运行syslogd主机中去

  syslogd设置文件为/etc/syslog.conf定义消息对应相应目标条消息可以达到多个目标也可能被忽略

#    $Id: syslog.conf,v 1.9 1998/10/14 21:59:55 nate Exp $
#
#    Spaces are NOT valid field separators in this file.
#    Consult the syslog.conf(5) manpage.
*.err;kern.debug;auth.notice;mail.crit     /dev/console
*.notice;kern.debug;lpr.info;mail.crit;s.err /var/log/messages
mail.info                    /var/log/maillog
lpr.info                    /var/log/lpd-errs
cron.*                     /var/cron/log
*.err                      root
*.notice;s.err                root
*.alert                     root
*.emerg                     *
!ppp
*.*                       /var/log/ppp.log
  syslog.conf配置可以分为两个部分部分用于区分消息类型个用于设置消息发送通常消息类型包括消息产生者例如kern表示内核产生消息auth表示认证系统产生消息等等还包括消息级别例如emerg表示非常重要紧急信息alert表示系统告警状态crit表示关键状态err 表示信息warning表示警告信息notice表示提示信息但还不是info表示般信息 debug表示调试信息等因此个消息类型可能为:kern.debug、mail.info等但页可以使用通配符*进行匹配

  从上面syslog.conf设置可以看出系统正常运行中很多重要信息信息*.err、内核调试信息kern.debuf、认证报告auth.notice等被直接输出console中另外还有些比较重要信息被输出到/var/log/messages文件中发送邮件记录将被保存在/var/log/mail log文件中打印记录为/var/log/lpd-errs等使得管理员可以根据这些文件来查询相关记录进行统计或寻找系统问题其中使用syslog记录messages文件中包括root登录信息、用户多次登录失败尝试等对系统安全相当重要信息因此也是系统遭受攻击的后攻击者会根据syslog.conf中设置试图清除相关文件中自己登录记录因此对于安全性要求更高系统可以尝试将syslog发送到另台计算机上或者输出到些设备文件中如在打印机上立即打印输出

  系统会使用syslog定期检查syslog输出messages文件和maillog文件将旧数据压缩保存为备份文件如messages.1.gz等

  • 其他日志
  除了系统登录记录和syslog记录的外其他还有些应用使用自己记录方式

  系统每天都会自动检查系统安全设置包括对SetUID、SetGID执行文件检查其结果将输出到/ var/log/security.today文件中管理员可以和/var/log/security.yeste rday文件对比寻找系统安全设置变化

  如果系统使用sendmail那么sendmail.st文件中以 2进制形式保存了sendmail统计信息

  在系统启动时候就将内核检测信息输出到屏幕上这些信息可以帮助用户分析系统中硬件状态般使用d mesg命令来查看最后次启动时输出这个检测信息这个信息也被系统保存在/var/log/dmesg.tod ay文件中系统中同时也存在另个文件dmesg.yesterday是上次启动检测信息对比这两个文件就可以了解到系统硬件和内核配置变化



  lpd-errs记录了系统中lpd产生信息

  此外各种shell还会记录用户使用命令历史它使用用户主目录下文件来记录这些命令历史通常这个文件名字为.history(csh)或.bash-history等



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: