linux日志分析

时间:2024-12-10 21:06:37
转一位大神的笔记。

日志管理:
1、基于服务的
2、基于时间的
 /var/log/wtmp,/var/run/utmp,/var/log/lastlog(lastlog),/var/log/btmp(lastb)
3、基于进程的
accton /var/account/pacct; 打开进程监控
lastcomm 显示
accton 关闭 4、基于rsyslog日志,软件:syslog,rsyslog,syslog-ng
syslog:/etc/syslog.conf
rsyslog:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
syslog-ng:/etc/syslog-ng.conf [root@asianux4 ~]# rpm -qa |grep syslog
rsyslog-5.8.10-8.AXS4.x86_64 kern.* /dev/console
内核的所有错误日志,都会发送给/dev/console控制台。 *.info;mail.none;authpriv.none;cron.none /var/log/messages
除了mail,authpriv,cron这三类日志不发送到/var/log/messages文件外,其它的的有消息错误级为info的都会发送到/var/log/messages. authpriv.* /var/log/secure
用户认证的消息,所有错误级别都发送到/var/log/secure mail.* -/var/log/maillog
邮件服务器的消息,所有错误级别都发送到/var/log/maillog日志 在终端一执行以下命令
[root@asianux4 ~]# mail user1 user2
Subject: test mail
alsdjfalsdfjalsdfjklasdf
.
EOT 在终端二执行以下命令
[root@asianux4 ~]# tail -f /var/log/maillog
以下为显示的结果。
Sep 18 16:53:14 asianux4 postfix/pickup[5394]: 0701BA97A: uid=0 from=<root>
Sep 18 16:53:14 asianux4 postfix/cleanup[5579]: 0701BA97A: message-id=<20150918085314.0701BA97A@asianux4.localdomain>
Sep 18 16:53:14 asianux4 postfix/qmgr[1773]: 0701BA97A: from=<root@asianux4.localdomain>, size=499, nrcpt=2 (queue active)
Sep 18 16:53:14 asianux4 postfix/local[5581]: 0701BA97A: to=<user1@asianux4.localdomain>, orig_to=<user1>, relay=local, delay=0.17, delays=0.09/0.07/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 18 16:53:14 asianux4 postfix/local[5581]: 0701BA97A: to=<user2@asianux4.localdomain>, orig_to=<user2>, relay=local, delay=0.18, delays=0.09/0.07/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 18 16:53:14 asianux4 postfix/qmgr[1773]: 0701BA97A: removed
表示root用户发送了一封邮件给user1和user2,并且发送成功。 *.* /dev/tty1
将所有消息的所有错误级别的日志发送给/dev/tty1 authpriv.debug /var/log/sshd.log
将安全认证相关的debug错误日志,发送给/var/log/sshd.log文件 cron.* /var/log/cron
将crond计划任务的所有错误日志发送给/var/log/cron文件 uucp,news.crit /var/log/spooler
将uucp和news消息类型,错误级别为crit的发送到/var/log/spooler local7.* /var/log/boot.log
记录linux引导的过程,并将日志写到/var/log/boot.log文件中。 实例:
将所有linux系统的日志,发送到远程的日志服务器上,远程的日志服务器IP地址为192.168.232.100. 在日志客户端上的配置:
[root@asianux4 ~]# vim /etc/rsyslog.conf
*.* @192.168.232.100:514(采用514/udp协议),如果@@192.168.232.100:514表示采用514/tcp协议,则日志服务器也需要开启514/tcp端口。 [root@asianux4 ~]# service rsyslog restart 在日志服务器上的配置:
[root@logserver ~]# vim /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514 [root@logserver ~]# service rsyslog restart logserver ip: 10.6.65.180/24 补充网卡eth0,eth1没有显示,真实网卡显示成eth2,eth3的故障。
解决办法:
[root@asianux4 ~]# rm /etc/sysconfig/network-scripts/ifcfg-eth* -rf
[root@asianux4 ~]# rm /etc/udev/rules.d/70-persistent-net.rules -rf
[root@asianux4 ~]# reboot
[root@asianux4 ~]# setup 重新设置IP地址。 日志的转储:
linux系统日志的转储软件是logrotate.只是一个命令,没有以服务的方式呈现。
相关的配置文件:
[root@asianux4 log]# ll /etc/logrotate.conf 主配置文件
[root@asianux4 log]# ll /etc/logrotate.d/* 辅助配置文件
[root@asianux4 log]# ll /etc/cron.daily/logrotate每天转储的脚本。 [root@asianux4 log]# vim /etc/logrotate.conf
3 weekly 每周转储,daily,monthly,hourly
6 rotate 4 转储4次
9 create 644 root root 转储后,创建日志文件,定义权限、用户、工作组。
12 dateext 转储时在文件末尾添加日期。 messages-20150914
15 compress 转储后压缩 messages-20150914.gz
18 include /etc/logrotate.d 包含其它的配置文件 21 /var/log/wtmp { 为wtmp日志定义转储策略。
22 monthly 每月转储
23 create 0664 root utmp 转储后,创建wtmp文件,权限为664,用户为root,工作组为utmp
24 minsize 1M wtmp至少达到1M时,才转储。如果wtmp没有到1M,就算超过了一个月也不会转储,
25 rotate 1 转储一次
26 }
27
28 /var/log/btmp { 为btmp日志文件定义转储策略
29 missingok 文件是否为空都会转储
30 monthly 每月转储
31 create 0600 root utmp
32 rotate 1
33 } [root@asianux4 log]# cd /etc/logrotate.d/
[root@asianux4 logrotate.d]# ls
cups httpd ppp sssd tomcat6 vsftpd yum
dracut numad psacct syslog up2date wpa_supplicant
[root@asianux4 logrotate.d]# cat syslog 定义转储策略为默认策略,转储后,重启rsyslog日志服务。 /var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
[root@asianux4 logrotate.d]# 实例:
将所有认证消息authpriv,错误级别为debug级别的,发送到/var/log/sshd.log文件,设置每天转储,转储365次,转储时压缩,大小到达1M时自动转储。 [root@asianux4 logrotate.d]# vim /etc/rsyslog.conf 在文件末尾添加以下内容。
authpriv.debug /var/log/sshd.log
[root@asianux4 logrotate.d]# service rsyslog restart [root@asianux4 logrotate.d]# vim /etc/logrotate.d/sshd.log
/var/log/sshd.log {
daily
rotate 365
compress
minsize 1M
}
[root@asianux4 logrotate.d]# /etc/cron.daily/logrotate iptables防火墙的配置
linux系统的防火墙,默认情况下打开。
防火墙上默认有四个表,每一个表上拥有不同的链,在每一个链上都不同的规则。 在默认的filter表中,有三条链,分别是输入链INPUT,输出链OUTPUT,转发链FORWARD.在每一个链上,都有不同的规则。 实现防火墙的软件:
iptables 做ipv4/ipv6防火墙策略
ip6tables 专业的ipv6防火墙
arptables mac地址的防火墙。 [root@asianux4 ftp]# rpm -qa |grep iptables
iptables-ipv6-1.4.7-11.AXS4.x86_64
iptables-1.4.7-11.AXS4.x86_64
[root@asianux4 ftp]# iptables的相关配置文件
/etc/sysconfig/iptables-config 防火墙的主配置文件
/etc/sysconfig/iptables iptables防火墙的规则保存文件
/etc/sysconfig/iptables.old iptables防火墙的第一版的规则保存文件 [root@asianux4 sysconfig]# iptables-save 保存iptables的规则
[root@asianux4 sysconfig]# iptables-restore < /etc/sysconfig/iptables 恢复规则
[root@asianux4 sysconfig]# iptables-save > /etc/sysconfig/iptables 保存iptables规则 [root@asianux4 sysconfig]# vim /etc/sysconfig/iptables-config
19 IPTABLES_SAVE_ON_STOP="no" 在关闭iptabbles服务时,是否自动保存
25 IPTABLES_SAVE_ON_RESTART="no" 在重启iptabbles服务时,是否自动保存 防火墙的配置
方法一:使用iptables命令配置防火墙
方法二:使用setup命令配置防火墙。
方法三:直接将shell脚本,配置防火墙。 方法一:使用iptables命令配置防火墙
[root@asianux4 sysconfig]# iptables-restore < /etc/sysconfig/iptables
[root@asianux4 sysconfig]# iptables -I INPUT 2 -s 10.6.65.0/24 -p tcp --dport 21 -j ACCEPT
在INPUT链上的第2条上插入规则,允许10.6.65.0/24网段的所有主机访问本要的21端口。 [root@asianux4 sysconfig]# iptables -nL 显示iptables规则
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 10.6.65.0/24 0.0.0.0/0 tcp dpt:21
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 拒绝所有。 Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT)
target prot opt source destination 方法二:使用setup命令配置防火墙。
[root@asianux4 sysconfig]# setup
[root@asianux4 sysconfig]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@asianux4 sysconfig]# [root@asianux4 sysconfig]# iptables-save 保存规则。 实例:
安装vsftpd、httpd软件包。启动vsftpd和httpd服务器。设置iptables防火墙。允许用户访问ftp,拒绝用户访问www服务。 [root@asianux4 sysconfig]# mount /dev/cdrom /media
[root@asianux4 sysconfig]# rpm -qa |grep vsftpd
[root@asianux4 sysconfig]# rpm -qa |grep httpd
httpd-2.2.15-31.0.1.AXS4.x86_64
httpd-tools-2.2.15-31.0.1.AXS4.x86_64 [root@asianux4 sysconfig]# yum install vsftpd -y
[root@asianux4 sysconfig]# service vsftpd start
[root@asianux4 sysconfig]# service httpd start
[root@asianux4 sysconfig]# setup (在ftp上打*号)
在windows上测试。发现ftp可以访问。http无法访问。
linux日志分析