linux日志分析


轉一位大神的筆記。

日志管理: 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無法訪問。
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM