10.与分析登录档

 


/etc/syslog.conf        ----syslogd这支程序的配置文件(规定了什么服务的什么等级的讯息被记录在什么位置)

/etc/init.d/syslogd

/etc/sysconfig/syslog

/etc/cron.daily/logrotate        ----规范登录档轮替行为的cron文件

/etc/logorate.config        ----logorate的主要参数档案

/etc/logorate.d/        ----该目录里的所有档案都会被主动读入到/etc/logrotate.config执行


 

  1. 什么是登录档:登录档的重要性、常见档名、服务与程序

    1.1用途:

      1.1.1解决系统方面的错误

      1.1.2解决网络服务的问题

      1.1.3过往事件记录簿

    1.2常见档名【1-0】

     注意:不同发行版会有些许不同

      /var/log/cron        ----crontab排程问题

      /var/log/dmesg        ----开机时核心侦测硬件信息

      /var/log/lastlog        ----所有账号最近一次登入系统的相关信息

      /var/log/maillog或者/var/log/mail/*        ----邮件往来信息

      /var/log/messages        ----系统错误信息

      /var/log/wtmp,/var/log/faillog        ----登入系统的账户信息

      /var/log/httpd/*,/var/log/news/*,/var/log/samba/*        ----个别网络服务制定的登录档

    1.3服务与程序

      syslogd:主要记录登录系统与网络等服务的讯息

      klogd:主要记录核心产生的各种信息

      logrotate:登录档的轮替功能

  2. syslogd:记录登录文件的服务

    # ps aux |grep syslogd        ----看看是否启动了syslogd这个服务

    # chkconfig --list syslog        ----看看syslogd在哪些run level下开机启动

    2.1登录档内容的一般格式【1-1,2,3】

    # vim /etc/syslog.config        ----查看系统预设该文件的内容(可以知道syslogd管理的一些服务的登录档的位置)【1-10】

    2.2syslog的配置文件:/etc/syslog.config,预设的syslog.conf内容

      2.2.1 规范每条信息分为三个部分:服务名称【1-4】[.|.=|.!]信息等级【1-5】 讯息记录的文件名或装置或主机【1-6】

      # vim /etc/syslog.conf        ----几个案例

      mail .info                             /var/log/maillog        ----mail所有登录信息都写入/var/log/maillog【1-7】

      new.*;cron.*                        /var/log/cronnews        ----新闻资料组(news)及例行性工作排程(cron)的讯息都写入            到/var/log/cronnews中

      *.*;news,cron,mail.none      /var/log/messages     <==>    *.*;news.none;cron.none;mail.none        /var/log/messages         ----除了news,mail,cron,所有syslog管理的服务的信息都写到/var/log/messages【1-9】

      2.2.2自行增加文件记录软件运行信息

          案例:所有的信息额外记录到/var/log/admin.log

          # vim /etc/syslog.config

          # Add by nemo 2013/12/12

          *.info         /var/log/admin.log

          # /etc/init.d/syslogd restart

          # ll /var/log/admin.log        ----这个文件被自动建立起来了

    2.3登录档的安全性设置

    注意:如果登录档被vi或vim编辑并:wq离开,那么syslogd将无法再写入信息,因为这样子导致文档保持已更新状态 

    # chattr +a  /var/log/messages           ----添加只能添加不能做其他更动的属性(可以防止黑客擦除登陆信息)

    # lsattr /var/log/messages            ----查看这个属性

    # chaatr -a /var/log/messages        ----root身份可以再将这个属性去掉

    2.4登录档服务器的设定【1-11】

    注意:登录档服务器会启动514端口

    serveer端

    # vim /etc/sysconfig/syslog        ----修改syslog的启动配置文件

     SYSLOGD_OPTIONS="-m 0"       ==》SYSLOGD_OPTIONS="-m 0 -r"  ----修改这一行

    # /etc/init..d/syslogd restart        ----重启syslogd服务

    # netstat -lunp | grep syslog        ----查看514端口是否已经开启

     

    client端

    # vim /etc/syslog.conf   

    *.*        @192.168.1.100        ----假设登录档服务器ip为192.168.0..100

    # /etc/init..d/syslogd restart        ----重启syslogd服务

  3. 登录档的轮替(logrotate)

    注意:logrotate是挂在cron下进行的(查看/etc/cron.daily/logrotate)

    3.1ogrotate的配置文件

    # vim /etc/logrotate.conf        ----【1-12】

    # vi /etc/logrotate.d/syslog        ----查看logrotate程序对syslogd这支程序的轮转设定【1-13,14】 

    3.2实际测试logrotate的动作【1-15 】

    # logorate -v /etc/logorate.conf        ----实际执行一遍logorate并观察整个流程(因为时间没到可能不会执行)

    # logorate -vf /etc/logorate.conf        ----强行进行logorate动作

    # ll /var/log/messages;lsattr /var/log/messages            ----观察一下/var/log/messages文件的变化 

    3.3自定义登录文件的轮替功能【1-16】

    第一步:先建立+a这个属性

    # chattr +a /var/log/admin.log        ----添加+a这个属性

    # lsattr /var/log/admin.log        ----查看这个属性

    # mv /var/log/admin.log /var/log/admin.log.1        ----因为+a属性无法进行这个操作

     第二步:建立logorate的配置文件

    # vim /etc/lograte.d/admin

    # This configration iss from nemo 2013.12.12

    /var/log/admin.log{

        monthly        ----每个月进行一次轮换

        size=10M         ----档案容量大于10M时不论是否到时间都进行轮换

        rotate 5         ----最多保留最近5次备份

        compress         ----进行压缩

        sharescripts

        prerotate        ----下面是每次轮换前执行的脚本

                    /usr/bin/chattr -a /var/log/admin.log        ----去掉+a属性

        endscript

        sharedscripts

        postrotate          ----下面的脚本每次轮换操作结束后执行

                     /usr/bin/killall -HUP syslogd        ----重启syslogd程序

                     /usr/bin/chattr +a /var/log/admin.log        ----加上+a属性

        endscript

    }

     # logrotate -v /etc/lograte.conf        ----这个配置文件会呼叫/etc/logrorate.d/下的所有配置文件,包括上面编辑的admin

     # logrotate -vf /etc/lograte.d/admin        ----强制执行试试

  4. 分析登录档

    4.1centos预设提供的logwatch

    4.2鸟哥自己写的登录档分析工具

    # mkdir /usr/local/virus

    # tar -zxvf logfile-0.1-4-2.tgz -C /usr/local/virus

    # cd /usr/local/virus/logfile

    # vim logfile.sh        ----对源脚本文件做些修改

    email="root@localhost"        ----这一行可以修改成自己的email地址

    basedir="/usr/local/virus/logfile.sh"        ----默认的logfile.sh脚本的位置

    # sh logfile.sh

    # vim /etc//crontab

    10 0 * * * root /usr/local/virus/logfile/logfile.sh         ----设置工作排程

  5. 重点回顾【1-17】

  6. 本章习题练习

  7. 针对本文的建议

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2014-02-21 16:17  Neuromancer  阅读(270)  评论(0编辑  收藏  举报