配置rhel6syslog_第1頁
配置rhel6syslog_第2頁
配置rhel6syslog_第3頁
配置rhel6syslog_第4頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、配置 rhel 6.4(64 位) 安裝使用 syslog-ng 3.5Linux 保存了系統(tǒng)中所發(fā)生事件的詳細記錄,這些記錄稱作日志文件或消息文件。可以查閱日志文件來確定系統(tǒng)當(dāng)前狀態(tài),觀察入侵者蹤跡,尋找某特定程序(或事件 )相關(guān)的數(shù)據(jù)。syslogd與 klogd(監(jiān)控 linux 內(nèi)核提交的消息)守護進程負責(zé)記錄, 發(fā)送系統(tǒng)或工具產(chǎn)生的信息,二者的配置文件都是/etc/syslog.conf 。當(dāng)系統(tǒng)內(nèi)核或工具產(chǎn)生信息時,通過調(diào)用相關(guān)函數(shù)將信息發(fā)送到syslogd 或 klogd 守護進程。 syslogd與 klogd 守護進程會根據(jù)/etc/syslog.conf 中的配置信息,對消

2、息的去向作出處理。syslog協(xié)議的詳細描述在RFC3164 中。logrotate 工具用來定期重命名、 壓縮、 郵遞系統(tǒng)日志文件, 它可以保證日志文件不會占用太大的磁盤空間。1、配置文件 /etc/syslog.conf : syslog.conf 是 syslogd進程的配置文件,將在程序啟動時讀取,默認位置是/etc/syslog.conf 。這個配置文件中的空白行和以"#" 開頭的行將被忽略。"facility.level" 部分也被稱為選擇符(seletor)。 seletor 和 action 之間使用一個或多個空白分隔。它指定了一系列日志

3、記錄規(guī)則。規(guī)則的格式如下:facility.levelaction選擇符 (seletor)由 facility 和 level 兩部分組成,之間用一個句點(.)連接。( 1) facility:指定了產(chǎn)生日志的設(shè)備,可以是下面的關(guān)鍵字之一:關(guān)鍵字值解釋kern0內(nèi)核信息,首先通過 klogd 傳遞user1由用戶程序生成的信息mail2與電子郵件有關(guān)的信息daemon3與 inetd 守護進程有關(guān)的信息auth4由 pam_pwdb 報告的認證活動syslog5由 syslog生成的信息lpr6與打印服務(wù)有關(guān)的信息news7來自新聞服務(wù)器的信息uucp8由 uucp 生成的信息 (uucp

4、= unix to unix copy)cron9與 cron 和 at 有關(guān)的信息authpriv10包括私有信息 (如用戶名 )在內(nèi)的認證活動ftp11與 FTP 有關(guān)的信息12-15系統(tǒng)保留local0 local7 16-23由自定義程序使用,例如使用local5 做為 ssh功能可編輯范本marksyslog內(nèi)部功能,用于生成時間戳*通配符代表除了mark 以外的所有功能在大多數(shù)情況下,任何程序都可以通過任何facility 發(fā)送日志消息,但是一般都遵守約定俗成的規(guī)則。 比如,只有內(nèi)核才能使用"kern"facility 。注意 syslog保留從“ local0

5、 ”到“ local7 ”這幾個設(shè)備號來接受從遠程服務(wù)器和網(wǎng)絡(luò)設(shè)備上發(fā)送過來的日志信息。路由器, 交換機, 防火墻和負載均衡器都很容易給它們各自配置一個獨立的日志文件。( 2)level:指定了消息的優(yōu)先級,可以是下面的關(guān)鍵字之一(降序排列, 嚴(yán)重性越來越低 ):關(guān)鍵字值解釋emerg0系統(tǒng)不可用alert1需要立即被修改的條件crit2(臨界 )阻止某些工具或子系統(tǒng)功能實現(xiàn)的錯誤條件err3阻止工具或某些子系統(tǒng)部分功能實現(xiàn)的錯誤條件warning4預(yù)警信息notice5具有重要性的普通條件info6提供信息的消息debug7不包含函數(shù)條件或問題的其他信息none(屏蔽所有來自指定設(shè)備的消息)

6、沒有優(yōu)先級,通常用于排錯*除了 none 之外的所有級別facility 部分可以是用逗號(,)分隔的多個設(shè)備, 而多個 seletor 之間也可以通過分號 (;)組合在一起。 注意多個組合在一起的選擇符,后面的會覆蓋前面的,這樣就允許從模式中排除一些優(yōu)先級。 默認將對指定級別以及更嚴(yán)重級別的消息進行操作,但是可以通過 2 個操作符進行修改。等于操作符(=)表示僅對這個級別的消息進行操作,不等操作符(!)表示忽略這個級別以及更嚴(yán)重級別的消息。這兩個操作符可以同時使用,不過"!" 必須出現(xiàn)在 "=" 的前面。( 3)動作 action:動作確定了 sysl

7、ogd 與 klogd 守護進程將日志消息發(fā)送到什么地方去。有以下幾種選擇:普通文件:使用文件的絕對路徑來指明日志文件所在的位置,例如:/var/log/cron。終端設(shè)備:終端可以是/dev/tty0/dev/tty6,也可以為 /dev/console 。用戶列表:例如動作為“root hackbutter”,將消息寫入到root用戶與 hackbutter 的計算機屏幕上。遠程主機:將信息發(fā)往網(wǎng)絡(luò)中的其他主機的syslogd守護進程,格式為“hostname ”。( 4)配置文件的語法說明:*用作設(shè)備或優(yōu)先級時,可以匹配所有的設(shè)備或優(yōu)先級。*用作動作時,將消息發(fā)送給所有的登錄用戶。多個選

8、擇器可在同一行中,并使用分號分隔開, 且后面的會覆蓋前面的。如 uucp,news.crit。關(guān)鍵字 none 用作優(yōu)先級時,會屏蔽所有來自指定設(shè)備的消息。可編輯范本通過使用相同的選擇器和不同的動作,同一消息可以記錄到多個位置。syslog.conf 文件中后面的配置行不會覆蓋前面的配置行,每一行指定的動作都獨立的運作。( 5)我的 Ubuntu 中默認的 /etc/syslog.conf 內(nèi)容:python view plaincopyprint?1. # /etc/syslog.conf syslogd 的配置文件2. # 更多信息參考 syslog.conf(5)3. #4. # 首先是

9、一些標(biāo)準(zhǔn)的日志文件,消息由相應(yīng)設(shè)備發(fā)送5. #6.# 認證活動 auth,authpriv 的日志消息發(fā)送到auth.log 中7.auth,authpriv.*/var/log/auth.log8.# 除 auth 和 authpriv 之外的所有設(shè)備的所有消息都要發(fā)送到syslog中9.*.*;auth,authpriv.none -/var/log/syslog10.# cron 及 at 的消息發(fā)送到 cron.log11.#cron.*/var/log/cron.log12.# inetd 的所有消息發(fā)送到 daemon.log13.daemon.*-/var/log/daemon.

10、log14. # 內(nèi)核的所有消息(如 klogd 的消息)發(fā)送到 kernlog15.kern.*-/var/log/kern.log16. # 打印服務(wù)的所有消息發(fā)送到 lpr.log17.lpr.*-/var/log/lpr.log18. # 郵件的所有消息發(fā)送到 mail.log19.mail.*-/var/log/mail.log20. # 用戶程序的所有消息發(fā)送到 user.log21.user.*-/var/log/user.log22. #23. # 郵件系統(tǒng)的日志記錄。分割成不同的文件,以便能夠比較容易地寫腳本來24. # 解析這些文件25. #26.# 郵件的 info 或更

11、高級別的消息發(fā)送到,warn 更高級別的消息發(fā)送到mail.warn,27.# err 或更高級別的消息發(fā)送到 -/var/log/29.mail.warn-/var/log/mail.warn30.mail.err/var/log/mail.err可編輯范本31. # INN 新聞系統(tǒng)的日志記錄:來自新聞服務(wù)器的消息32. #33. news.crit/var/log/news/news.crit34.news.err/var/log/news/news.err35.news.notice-/var/log/news

12、/news.notice36. #37. # 一些捕捉用的日志文件38. #39.# 除 auth,authpriv,news,mail之外的所有設(shè)備的debug 級別消息都要發(fā)送到debug 中40. *.=debug;/41. auth,authpriv.none;/42. news.none;mail.none -/var/log/debug43.# 除 auth,authpriv,cron,daemon,mail,news之外的所有設(shè)備的 info,notice,44.# warn 級別消息都要發(fā)送到 messages中45. *.=info;*.=notice;*.=warn;/46

13、. auth,authpriv.none;/47. cron,daemon.none;/48. mail,news.none -/var/log/messages49. #50. # 所有設(shè)備的 emerg 級別消息(系統(tǒng)無法使用)會發(fā)送給所有登錄的用戶51. #52.*.emerg*53. #54. # 希望一些消息顯示在控制臺, 但只在虛擬控制臺上: daemon,mail 的任何消息; news的危險、55. # 錯誤、通知消息;任何設(shè)備的調(diào)試、信息、通知、預(yù)警消息56. #57. #daemon,mail.*;/58. # news.=crit;news.=err;news.=noti

14、ce;/59. # *.=debug;*.=info;/60. # *.=notice;*.=warn /dev/tty861. # 命名管道 /dev/xconsole 用于 xconsloe 工具。為了使用它,你必須帶 -file 選項來調(diào)用 xconsole62. # $ xconsole -file /dev/xconsole .63. # 注意:調(diào)整下面的列表,否則如果你有一個相當(dāng)繁忙的站點,你將變得發(fā)狂64. daemon.*;mail.*;/65. news.err;/可編輯范本66. *.=debug;*.=info;/67. *.=notice;*.=warn |/dev/x

15、console# /etc/syslog.confsyslogd 的配置文件# 更多信息參考 syslog.conf(5)# 首先是一些標(biāo)準(zhǔn)的日志文件,消息由相應(yīng)設(shè)備發(fā)送# 認證活動 auth,authpriv 的日志消息發(fā)送到 auth.log 中auth,authpriv.*/var/log/auth.log# 除auth 和authpriv 之外的所有設(shè)備的所有消息都要發(fā)送到 sy*.*;auth,authpriv.none-/var/log/syslog# cron 及at 的消息發(fā)送到 cron.log#cron.*/var/log/cron.log# inetd 的所有消息發(fā)送到

16、daemon.log-/var/log/daemon.lodaemon.*# 內(nèi)核的所有消息(如 klogd 的消息)發(fā)送到 kernlogkern.*-/var/log/kern.log# 打印服務(wù)的所有消息發(fā)送到 lpr.loglpr.*-/var/log/lpr.log# 郵件的所有消息發(fā)送到 mail.log某些應(yīng)用軟件也會將自己的運行狀況記錄到特定的日志文件上,它不受syslog.conf文件的控制。如文件/var/log/apache2/access.log ,目錄 /var/log/apache2, /var/log/cups,/var/log/gdm, /var/log/mys

17、ql, /var/log/samba等。修改完 /etc/syslog.conf 后,可用 service syslog restart重啟 syslog服務(wù), Debian/Ubuntu 中則用 sudo /etc/init.d/sysklogd restart 。查看日志文件里最新的記錄可用tail -f /var/log/messages 。2、將日志信息記錄到遠程Linux 服務(wù)器上:將你的系統(tǒng)信息記錄到遠程服務(wù)器上將是一個很好的安全措施。如果把公司所有的服務(wù)器的日志信息都記錄到一個集中的syslog服務(wù)器上,這將會方便你管理各個服務(wù)器中發(fā)生的相關(guān)事件。這也會使得掩蓋錯誤和惡意攻擊變得

18、更困難, 因為對各個日志文件的惡意刪除在日志服務(wù)器上不能同時發(fā)生,特別是當(dāng)你限制用戶訪問日志服務(wù)器時。配置 Syslog服務(wù)器:在默認情況下,syslog并不會接受遠程客戶端的信息,要激活它,RedHat/Fedora 中需要修改 /etc/sysconfig/syslog文件,在 SYSLOGD_OPTIONS參數(shù)中增加 -r選項,以允許記錄遠程機器的信息。Debian/Ubuntu中則是修改 /etc/default/syslogd文件中的SYSLOGD 參數(shù),也可直接編輯syslog啟動腳本 /etc/init.d/sysklogd,將 SYSLOGD 的參數(shù)定義為“ -r ”。修改完后

19、要重啟syslog服務(wù)。配置客戶端:syslog服務(wù)器現(xiàn)在可以接受syslog信息了。你還要設(shè)置好遠程linux 客戶端以向服務(wù)器發(fā)送信息。假設(shè)客戶端主機名為smallfry,可通過編輯/etc/hosts 文件來實現(xiàn)。( 1)確定遠程服務(wù)器的IP 地址和有效的域名。( 2)在客戶端班機的/etc/hosts 文件中加入遠程服務(wù)器的描述:IP 地址完整域名服務(wù)器名“別名”,例如 ,這樣為服務(wù)器主機bigboy設(shè)置了一個別名loghost。( 3)編輯客戶端的 /etc/syslog.conf 文件,使得 syslog信息能發(fā)送到你新設(shè)置的日志服務(wù)器 loghost 上。*.debug logh

20、ost可編輯范本*.debug /var/log/messages重啟 syslog服務(wù),現(xiàn)在你的機器將會將所有“調(diào)試”級別及以上級別的信息同時發(fā)送到服務(wù)器 bigboy 和本地文件 /var/log/messeges 上。你可以做個簡單測試看看syslog服務(wù)器是否在接受你的信息了。比如重啟一下lpd 打印機守護進程,看看能否在服務(wù)器上看到相關(guān)日志消息。3、配置文件 /etc/logrotate.conf : 它是 logrotate 的一般性配置文件。你可以通過它設(shè)置哪個日志文件被循環(huán)重用以及多久重用一次。可以設(shè)定的循環(huán)參數(shù)有每周(weekly)或每天(daily)。 rotate 參數(shù)定

21、義保留多少份日志文件備份,create參數(shù)指定在每輪循環(huán)后就新建空的日志文件。我的Ubuntu 中默認的 /etc/logrotate.conf內(nèi)容為:python view plaincopyprint?1. # 更多細節(jié)參考 "man logrotate"2. # 每周循環(huán)更新日志文件3. weekly4.# 保留 4 份日志文件的備份,若日志文件為logfile,則其備份5. # 分別為 logfile.0logfile36. rotate 47. # 在每輪循環(huán)后創(chuàng)建新的空白日志文件8. create9. # 如果你想壓縮日志文件,則取消下面注釋10. #compr

22、ess11. # 一些使用 syslog的軟件包會把日志輪轉(zhuǎn)信息放在這個目錄下,因此要包含進來12. include /etc/logrotate.d13. # 沒有軟件包擁有 wtmp 或 btmp,我們將在這里輪轉(zhuǎn)14. /var/log/wtmp 15.missingok# 如果日志文件丟失,使用下一個并且不發(fā)送任何錯誤消息16.monthly# 輪轉(zhuǎn)周期為每月17.create 0664 root utmp # 創(chuàng)建新日志文件時,權(quán)限為0664,屬主為 root ,組為 utmp18. rotate 119. 20. /var/log/btmp 21. missingok22. mon

23、thly23. create 0664 root utmp24. rotate 125. 可編輯范本26. # 特定于系統(tǒng)的日志可以在這里配置# 更多細節(jié)參考 "man logrotate"# 每周循環(huán)更新日志文件weekly# 保留4份日志文件的備份,若日志文件為 logfile ,則其備份# 分別為 logfile.0logfile3rotate 4# 在每輪循環(huán)后創(chuàng)建新的空白日志文件 create# 如果你想壓縮日志文件,則取消下面注釋#compress# 一些使用 syslog 的軟件包會把日志輪轉(zhuǎn)信息放在這個目錄下,include /etc/logrotate.d

24、# 沒有軟件包擁有 wtmp或btmp,我們將在這里輪轉(zhuǎn)/var/log/wtmp missingok#如果日志文件丟失,使用下一個并且monthly#輪轉(zhuǎn)周期為每月create 0664 root utmp #創(chuàng)建新日志文件時,權(quán)限為rotate 1注意在 Debian/Ubuntu 系統(tǒng)中,腳本將讀取 /etc/syslog.conf 文件,并根據(jù)它輪轉(zhuǎn)所有設(shè)定的日志文件。 所以,對于一般的系統(tǒng)日志, 你不必再在 /etc/logrotate.d文件夾中重復(fù)設(shè)定了。因為在 /etc/cron.daily 文件夾中它沒 24 小時便運行一次。在 Fedora/Redhat 系統(tǒng)中,這個腳本被

25、 /etc/cron.daily/logrotate 取代,而且它不讀取 syslog配置文件。所以,你必須在 /etc/logrotate.d 設(shè)置好。對 logrotate 的設(shè)置只有在你使用 logrotate -f 命令時才會生效。 如果你想讓 logrotate 只讀取特定的配置文件而不是所有,把配置文件名作為logrotate 的參數(shù)運行即可,如logrotate -f/etc/logrotate.d/syslog 。如果你的網(wǎng)頁訪問量比較高,那么日志文件將變得異常大。你可以通過編輯logrotate.conf 文件加入壓縮選項compress 來實現(xiàn)對日志文件的壓縮。這些日志文件

26、將用 gzip 來壓縮, 所有的文件將會有一個.gz 的擴展名。 查看這些文件的內(nèi)容依然很容易,因為你可以用zcat 命令快速的將它們的內(nèi)容顯示在屏幕上。Syslog服務(wù)器的一個缺點是沒有把不良來源的消息過濾掉。因此,當(dāng)你的的服務(wù)器位于一個不安全的網(wǎng)絡(luò)時,使用TCP wrappers 軟件或防火墻來限制可以接受的消息來源是一個明智的舉措。 這將有助于限制拒絕服務(wù)攻擊的成效,這種拒絕服務(wù)攻擊的目的是填塞你的服務(wù)器的硬盤或加重其他系統(tǒng)資源負擔(dān),它有可能最終導(dǎo)致服務(wù)器崩潰。現(xiàn)在使用越來越廣泛的syslog-ng程序結(jié)合了logrotate 和 syslog的特性,它能給用戶提供更多的自定義功能,從功

27、能上也更加豐富了。如果你想使用它,可到上去下載安裝,其配置文件為/etc/syslog-ng/syslog-ng.conf 。對應(yīng)的 CentOS 6.x也就可能使用!下載地址:第一步:安裝可編輯范本wgetwget./configure -prefix=/usr/local/services/eventlogmakemake installcd .export PKG_CONFIG_PATH=/usr/local/services/eventlog/lib/pkgconfig./configure -prefix=/usr/local/services/syslog-ng# 如果提示 no

28、package 'glib-2.0' found centos# 那么就用 yum install libgnomeui-devel makemake install第二步:添加服務(wù)配置可編輯范本將 syslog-ng添加為系統(tǒng)服務(wù) ,vim /etc/init.d/syslog-ng# 內(nèi)容如下#!/bin/bash# chkconfig: - 60 27# description: syslog-ng SysV script. /etc/rc.d/init.d/functionssyslog_ng=/usr/local/services/syslog-ng/sbin/sys

29、log-ngprog=syslog-ngpidfile=/usr/local/services/syslog-ng/var/syslog-ng.pidlockfile=/usr/local/services/syslog-ng/var/syslog-ng.lockRETVAL=0STOP_TIMEOUT=$STOP_TIMEOUT-10start() echo -n $"Starting $prog: "daemon -pidfile=$pidfile $syslog_ng $OPTIONSRETVAL=$?echo可編輯范本 $RETVAL = 0 &&

30、touch $lockfilereturn $RETVALstop() echo -n $"Stopping $prog: "killproc -p $pidfile -d $STOP_TIMEOUT $syslog_ngRETVAL=$?echo $RETVAL = 0 && rm -f $lockfile $pidfilecase "$1" instart)start;stop)stop;status)status -p $pidfile $syslog_ngRETVAL=$?可編輯范本;restart)stopstart;*)ech

31、o $"Usage: $prog start|stop|restart|status"RETVAL=2esacexit $RETVAL# 啟動服務(wù)chmod a+x /etc/init.d/syslog-ngkillall syslogdchkconfig -add syslog-ngchkconfig syslog-ng onservice syslog-ng start第三步:實際配置命令 vi /usr/local/services/syslog-ng/etc/syslog-ng.conf#可編輯范本# Default syslog-ng.conf file whic

32、h collects all local logs into a# single file called /var/log/messages.#version: 3.5include "scl.conf"options create_dirs(yes);dir_perm(0755);use_dns(no);perm(0644);chain_hostnames(off);stats_freq(30);source s_local system();internal();source s_network ;可編輯范本destination d_local file("

33、/var/log/messages");log source(s_local);# uncomment this line to open port 514 to receive messages #source(s_network);destination(d_local);filter f_cgioss program("CGI") and level(crit); ;destination d_cgioss file("/usr/local/services/lzlog/cgioss/$YEAR$MONTH/$YEAR$MONTH$DAY-$ HO

34、UR.oss" template(t_onlymsg); ;log source(s_network); filter(f_cgioss); destination(d_cgioss); flags(final);# CGI ERR #filter f_cgierr program("CGI") and level(err); ; destination d_cgierr file("/usr/local/services/lzlog/cgierr/$YEAR$MONTH/$YEAR$MONTH$DAY-$ HOUR.err" template(t_onlymsgip); ;log source(s_network);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論