linux 系统日志管理

     在linux系统上面,系统可以记录从开机到当前系统上面何时发生了那些事情,并将其分类,分级别写到特定的日志文件当中,如系统自身产生的问题,用户登录信息,网络数据信息等等。我们可以根据这些日志信息来解决系统方面的错误,网络服务问题等等。日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。 日志主要的功能有:审计和监测。它还可以实时的监测系统状态,监测和追踪侵入者等等。

  日志存在的位置/var/log即ls /var/log

linux 系统日志管理

 常用的日志文件如下: 
   btmp 记录denglu失败的信息 
   lastlog 记录最近几次成功登录的事件和最后一次不成功的登录 
   messages 从syslog中记录信息(有的链接到syslog文件) 
   utmp    记录当前登录的每个用户

   wtmp    系统登录的情况:登入登出

登录信息的查看 
我们也可以通过last 命令查看登录日志内容 
哪个用户在哪个时间通过哪种方式登录系统的情况
      1./var/log/lastlog  #最后登录信息
      2.lastlog  #记录所有的用户什么时候登录过系统
      3./var/log/btmp  # 用户登录系统的错误信息
          lastb  查看
      4./var/log/wtmp  # 用户登录系统的成功信息
      5.# 如果说你发现你的btmp文件变得很大,说明有很大的可能是有人在暴力破解你的主机

日志的记录方式:

         消息类型:auth,authpriv,security;cron,daemon,kern,lpr,mail, mark,news,syslog,user,uucp,local0~local7.
         错误级别:(8级)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic
         动作域:file,user,console,@remote_ip
         举如上的/etc/syslog.conf文件三个例子:
         *.info;mail.none;authpriv.none;cron.none /var/log/messages
        表示info级别的任何消息都发送到/var/log/messages日志文件,但邮件系统、验证系统
        和计划任务的错误级别信息就除外,不发送(none表示禁止)
         cron.* /var/log/cron 表示所有级别的cron信息发到/var/log/cron文件
         *.emerg * 表示emerg错误级别(危险状态)的所有消息类型发给所有用户
日志输入的规则 
        .info 高于info级别的信息全部记录到某个文件 
        =级别 仅记录等于某个级别的日志 
      例:.=info 只记录info级别的日志 
      ! 级别 除了某个级别意外,记录所有的级别信息 
     例.!err 除了err外记录所有 
     none 指的是排除某个类别
自定义ssh服务的日志:

#编辑vim /etc/rsyslog.conf

linux 系统日志管理

定义sshd日志的级别 vim /etc/ssh/sshd_config,重启服务,测试结果

linux 系统日志管理

systemctl restart rsyslog

systemctl restart sshd

linux 系统日志管理

linux 系统日志管理

linux日志的切割存储(回滚原理)

 随着日志文件内容的日益增加,对于后期的处理带来非常的不便,因此就需要一种机制能够对日志进行处理,rsyslog就提供了一个这杨一个功能组件logrotate

vim /etc/logrotate.conf

       # rotate log files weekly
       weekly  # 每周执行回滚
      # keep 4 weeks worth of backlogs
     rotate 4   #保留4个副本 
      # create new (empty) log files after rotating old ones
     create   #创建新的文件存储数据
     # use date as a suffix of the rotated file
     dateext   #使用日期为后缀的回滚文件  #可以去/var/log目录下看看
     #compress
     # RPM packages drop log rotation information into this directory
      include /etc/logrotate.d
     # no packages own wtmp and btmp — we’ll rotate them here
        /var/log/wtmp {  #指定的日志文件
               monthly     #每月轮转一次
               create 0664 root utmp
                minsize 1M    #日志文件必须大于1M才会去轮换(回滚)
                 rotate 1      #保存一个轮换日志
     }
       /var/log/btmp {
    missingok  #  如果日志文件不存在,继续处理下一个文件而不产生报错信息。
    monthly
    create 0600 root utmp  #设置utmp  这个日志文件的权限,属主,属组
    rotate 1
    }
我们跟着上面个例子继续据ssh日志来完成日志的切割存储

linux 系统日志管理

准备两台装置server   client 

首先服务端

linux 系统日志管理

重启及查看端口

linux 系统日志管理

m在客户端client

linux 系统日志管理

重启服务及测试


linux 系统日志管理

linux 系统日志管理

tail -f /var/log/message  动态查看增加内容:

原创文章,作者:gd1479,如若转载,请注明出处:http://www.178linux.com/84718

(2)
上一篇 2017-08-14 09:52
下一篇 2017-08-14 18:17

相关推荐

  • 简述linux文件系统的层次结构

       尽管LINUX有诸多的发行版,但是所有的版本都遵从同样的文件目录层次结构,即FHS(Filesystem Hierarchy Standard)。有了这个统一的标准,我们在使用不同版本的LINUX时就不会由于版本的不同而找不到相关系统文件的位置,了解FHS有助于我们更好的掌握LINUX的基础构架和文件系统管理。   &nb…

    Linux干货 2015-12-19
  • LVS实现

    一 LVS-NAT实验前的准备 操作系统:CentOS 6.7 64位 配置防火墙,iptables –F 清理防火墙规则或者关闭iptables 关闭SELINUX, setenforce 0  #立即生效(实际是宽容模式) Director ip:172.16.2.1  VIP:192.168.1.8 RS1 ip:172.16.2….

    Linux干货 2016-12-29
  • 正则表达式及用户管理命令

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当做其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxuser.txt文件中。 6、列出/etc目录…

    2017-10-10
  • Bonding多块网卡绑定同一IP地址

    Bonding多块网卡绑定同一IP地址 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 一共有七种模式这里提供三种常用的:   一、Mode 0 (balance-rr)  轮转( Round-robin…

    Linux干货 2016-09-07
  • Linux中的分区管理

    1. 磁盘分区类型 磁盘分区主要分为两种类型: MBR  MBR是一个比较古老的分区类型了,不支持2TB的大硬盘。在磁盘的0磁道0扇区的512字节存放的就是MBR的信息。前446字节为bootloader,后面64字节存放的是分区表,后面2字节存放的是55aa的分区标识符。MBR分区类型最多只能支持4个主分区和扩展分区,其余的分区只能是逻辑分区。 …

    2017-04-22
  • 文本处理工具之grep正则表达式

    grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,…

    Linux干货 2016-08-08