• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

            日志對于安全來說,非常重要,他記錄了系統(tǒng)每天發(fā)生的各種各樣的事情,你可以通過他來檢查錯誤發(fā)生

            的原因,或者受到攻擊時攻擊者留下的痕跡。日志主要的功能有:審計和監(jiān)測。他還可以實時的監(jiān)測系統(tǒng)狀態(tài),

            監(jiān)測和追蹤侵入者等等。

             

              1. 日志簡介

              日志對于安全來說,非常重要,他記錄了系統(tǒng)每天發(fā)生的各種各樣的事情,你可以通過他來檢查錯誤發(fā)生

            的原因,或者受到攻擊時攻擊者留下的痕跡。日志主要的功能有:審計和監(jiān)測。他還可以實時的監(jiān)測系統(tǒng)狀態(tài),

            監(jiān)測和追蹤侵入者等等。

              在Linux系統(tǒng)中,有三個主要的日志子系統(tǒng):

              連接時間日志--由多個程序執(zhí)行,把紀錄寫入到/var/log/wtmp和/var/run/utmp,login等程序更

            新wtmp和utmp文件,使系統(tǒng)管理員能夠跟蹤誰在何時登錄到系統(tǒng)。

              進程統(tǒng)計--由系統(tǒng)內(nèi)核執(zhí)行。當(dāng)一個進程終止時,為每個進程往進程統(tǒng)計文件(pacct或acct)中寫一個

            紀錄。進程統(tǒng)計的目的是為系統(tǒng)中的基本服務(wù)提供命令使用統(tǒng)計。

              錯誤日志--由syslogd(8)執(zhí)行。各種系統(tǒng)守護進程、用戶程序和內(nèi)核通過syslog(3)向文件

            /var/log/messages報告值得注意的事件。另外有許多UNIX程序創(chuàng)建日志。像HTTP和FTP這樣提供網(wǎng)絡(luò)服

            務(wù)的服務(wù)器也保持詳細的日志。

              常用的日志文件如下:

              access-log 紀錄HTTP/web的傳輸

              acct/pacct 紀錄用戶命令

              aculog 紀錄MODEM的活動

              btmp 紀錄失敗的紀錄

              lastlog 紀錄最近幾次成功登錄的事件和最后一次不成功的登錄

              messages 從syslog中記錄信息(有的鏈接到syslog文件)

              sudolog 紀錄使用sudo發(fā)出的命令

              sulog 紀錄使用su命令的使用

              syslog 從syslog中記錄信息(通常鏈接到messages文件)

              utmp 紀錄當(dāng)前登錄的每個用戶

              wtmp 一個用戶每次登錄進入和退出時間的永久紀錄

              xferlog 紀錄FTP會話

              utmp、wtmp和lastlog日志文件是多數(shù)重用UNIX日志子系統(tǒng)的關(guān)鍵--保持用戶登錄進入和退出的紀錄。

            有關(guān)當(dāng)前登錄用戶的信息記錄在文件utmp中;登錄進入和退出紀錄在文件wtmp中;最后一次登錄文件可以

            用lastlog命令察看。數(shù)據(jù)交換、關(guān)機和重起也記錄在wtmp文件中。所有的紀錄都包含時間戳。這些文件

            (lastlog通常不大)在具有大量用戶的系統(tǒng)中增長十分迅速。例如wtmp文件可以無限增長,除非定期截取。

            許多系統(tǒng)以一天或者一周為單位把wtmp配置成循環(huán)使用。它通常由cron運行的腳本來修改。這些腳本重新命

            名并循環(huán)使用wtmp文件。通常,wtmp在第一天結(jié)束后命名為wtmp.1;第二天后wtmp.1變?yōu)閣tmp.2等等,直

            到wtmp.7。

              每次有一個用戶登錄時,login程序在文件lastlog中察看用戶的UID。如果找到了,則把用戶上次登錄、

            退出時間和主機名寫到標準輸出中,然后login程序在lastlog中紀錄新的登錄時間。在新的lastlog紀錄寫

            入后,utmp文件打開并插入用戶的utmp紀錄。該紀錄一直用到用戶登錄退出時刪除。utmp文件被各種命令

            文件使用,包括who、w、users和finger。

              下一步,login程序打開文件wtmp附加用戶的utmp紀錄。當(dāng)用戶登錄退出時,具有更新時間戳的同

            一utmp紀錄附加到文件中。wtmp文件被程序last和ac使用。

              2. 具體命令

              wtmp和utmp文件都是二進制文件,他們不能被諸如tail命令剪貼或合并(使用cat命令)。用戶

            需要使用who、w、users、last和ac來使用這兩個文件包含的信息。

              who:who命令查詢utmp文件并報告當(dāng)前登錄的每個用戶。Who的缺省輸出包括用戶名、終端類型、登錄

            日期及遠程主機。例如:who(回車)顯示


            chyang pts/0 Aug 18 15:06
            ynguo pts/2 Aug 18 15:32
            ynguo pts/3 Aug 18 13:55
            lewis pts/4 Aug 18 13:35
            ynguo pts/7 Aug 18 14:12
            ylou pts/8 Aug 18 14:15


              如果指明了wtmp文件鈀?浴? ?? ??ゐ?!名,則who命令查詢所有以前的紀錄。命令who /var/log/wtmp將報告自從wtmp文件

            創(chuàng)建或刪改以來的每一次登錄。

              w:w命令查詢utmp文件并顯示當(dāng)前系統(tǒng)中每個用戶和它所運行的進程信息。例如:w(回車)顯

            示:3:36pm up 1 day, 22:34, 6 users, load average: 0.23, 0.29, 0.27


            USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
            chyang pts/0 202.38.68.242 3:06pm 2:04 0.08s 0.04s -bash
            ynguo pts/2 202.38.79.47 3:32pm 0.00s 0.14s 0.05s w
            lewis pts/3 202.38.64.233 1:55pm 30:39 0.27s 0.22s -bash
            lewis pts/4 202.38.64.233 1:35pm 6.00s 4.03s 0.01s sh /home/users/
            ynguo pts/7 simba.nic.ustc.e 2:12pm 0.00s 0.47s 0.24s telnet mail
            ylou pts/8 202.38.64.235 2:15pm 1:09m 0.10s 0.04s -bash


              users:users用單獨的一行打印出當(dāng)前登錄的用戶,每個顯示的用戶名對應(yīng)一個登錄會話。如果一個

            用戶有不止一個登錄會話,那他的用戶名將顯示相同的次數(shù)。例如:users(回車)顯

            示:chyang lewis lewis ylou ynguo ynguo

              last:last命令往回搜索wtmp來顯示自從文件第一次創(chuàng)建以來登錄過的用戶。例如:


            chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49)
            cfan pts/6 202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14)
            chyang pts/4 202.38.68.242 Tue Aug 1 08:32 - 12:13 (03:40)
            lewis pts/3 202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03)
            lewis pts/2 202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12)


              如果指明了用戶,那么last只報告該用戶的近期活動,例如:last ynguo(回車)顯示:


            ynguo pts/4 simba.nic.ustc.e Fri Aug 4 16:50 - 08:20 (15:30)
            ynguo pts/4 simba.nic.ustc.e Thu Aug 3 23:55 - 04:40 (04:44)
            ynguo pts/11 simba.nic.ustc.e Thu Aug 3 20:45 - 22:02 (01:16)
            ynguo pts/0 simba.nic.ustc.e Thu Aug 3 03:17 - 05:42 (02:25)
            ynguo pts/0 simba.nic.ustc.e Wed Aug 2 01:04 - 03:16 1+02:12)
            ynguo pts/0 simba.nic.ustc.e Wed Aug 2 00:43 - 00:54 (00:11)
            ynguo pts/9 simba.nic.ustc.e Thu Aug 1 20:30 - 21:26 (00:55)


              ac:ac命令根據(jù)當(dāng)前的/var/log/wtmp文件中的登錄進入和退出來報告用戶連結(jié)的時間(小時),

            如果不使用標志,則報告總的時間。例如:ac(回車)顯示:total 5177.47

              ac -d(回車)顯示每天的總的連結(jié)時間


            Aug 12 total 261.87
            Aug 13 total 351.39
            Aug 14 total 396.09
            Aug 15 total 462.63
            Aug 16 total 270.45
            Aug 17 total 104.29
            Today total 179.02


              ac -p (回車)顯示每個用戶的總的連接時間


            ynguo 193.23
            yucao 3.35
            rong 133.40
            hdai 10.52
            zjzhu 52.87
            zqzhou 13.14
            liangliu 24.34
            total 5178.24


              last鈀?浴? ?? ??ゐ?!log:lastlog文件在每次有用戶登錄時被查詢。可以使用lastlog命令來檢查某特定用戶上次

            登錄的時間,并格式化輸出上次登錄日志/var/log/lastlog的內(nèi)容。它根據(jù)UID排序顯示登錄名、端口

            號(tty)和上次登錄時間。如果一個用戶從未登錄過,lastlog顯示"**Never logged**。注意需要

            以root運行該命令,例如:


            rong 5 202.38.64.187 Fri Aug 18 15:57:01 +0800 2000
            dbb **Never logged in**
            xinchen **Never logged in**
            pb9511 **Never logged in**
            xchen 0 202.38.64.190 Sun Aug 13 10:01:22 +0800 2000


              另外,可一加一些參數(shù),例如,last -u 102將報告UID為102的用戶;last -t 7表示限制上一周的報告。

              3. 進程統(tǒng)計

              UNIX可以跟蹤每個用戶運行的每條命令,如果想知道昨晚弄亂了哪些重要的文件,進程統(tǒng)計子系統(tǒng)可

            以告訴你。它對還跟蹤一個侵入者有幫助。與連接時間日志不同,進程統(tǒng)計子系統(tǒng)缺省不激活,它必須啟

            動。在Linux系統(tǒng)中啟動進程統(tǒng)計使用accton命令,必須用root身份來運行。Accton命令的形

            式accton file,file必須先存在。先使用touch命令來創(chuàng)建pacct文件:touch /var/log/pacct,

            然后運行accton: accton /var/log/pacct。一旦accton被激活,就可以使用lastcomm命令監(jiān)測系統(tǒng)

            中任何時候執(zhí)行的命令。若要關(guān)閉統(tǒng)計,可以使用不帶任何參數(shù)的accton命令。

              lastcomm命令報告以前執(zhí)行的文件。不帶參數(shù)時,lastcomm命令顯示當(dāng)前統(tǒng)計文件生命周期內(nèi)紀錄

            的所有命令的有關(guān)信息。包括命令名、用戶、tty、命令花費的CPU時間和一個時間戳。如果系統(tǒng)有許多用

            戶,輸入則可能很長。下面的例子:


            crond F root ?? 0.00 secs Sun Aug 20 00:16
            promisc_check.s S root ?? 0.04 secs Sun Aug 20 00:16
            promisc_check root ?? 0.01 secs Sun Aug 20 00:16
            grep root ?? 0.02 secs Sun Aug 20 00:16
            tail root ?? 0.01 secs Sun Aug 20 00:16
            sh root ?? 0.01 secs Sun Aug 20 00:15
            ping S root ?? 0.01 secs Sun Aug 20 00:15
            ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15
            sh root ?? 0.01 secs Sun Aug 20 00:15
            ping S root ?? 0.02 secs Sun Aug 20 00:15
            ping6.pl F root ?? 0.02 secs Sun Aug 20 00:15
            sh root ?? 0.02 secs Sun Aug 20 00:15
            ping S root ?? 0.00 secs Sun Aug 20 00:15
            ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15
            sh root ?? 0.01 secs Sun Aug 20 00:15
            ping S root ?? 0.01 secs Sun Aug 20 00:15
            sh root ?? 0.02 secs Sun Aug 20 00:15
            ping S root ?? 1.34 secs Sun Aug 20 00:15
            locate root ttyp0 1.34 secs Sun Aug 20 00:15
            accton S root ttyp0 0.00 secs Sun Aug 20 00:15


              進程統(tǒng)計的一個問題是pacct文件可能增長的十分迅速。這時需要交互式的或經(jīng)過cron機制運行sa命

            令來保持日志數(shù)據(jù)在系統(tǒng)控制內(nèi)。sa命令報告、清理并維護進程統(tǒng)計文件。它能把/var/log/pacct中的信

            息壓縮到摘要文件/var/log/savacct和/var/log/usracct中。這些摘要包含按命令名和用戶名分類的系統(tǒng)

            統(tǒng)計數(shù)據(jù)。sa缺省情況下先讀它們,然后讀pacct文件,使報告能包鈀?浴? ?? ??ゐ?!含所有的可用信息。sa的輸出有下面一

            些標記項:

              avio--每次執(zhí)行的平均I/O操作次數(shù)

              cp--用戶和系統(tǒng)時間總和,以分鐘計

              cpu--和cp一樣

              k--內(nèi)核使用的平均CPU時間,以1k為單位

              k*sec--CPU存儲完整性,以1k-core秒

              re--實時時間,以分鐘計

              s--系統(tǒng)時間,以分鐘計

              tio--I/O操作的總數(shù)

              u--用戶時間,以分鐘計

              例如:


            842 173.26re 4.30cp 0avio 358k
            2 10.98re 4.06cp 0avio 299k find
            9 24.80re 0.05cp 0avio 291k ***other
            105 30.44re 0.03cp 0avio 302k ping
            104 30.55re 0.03cp 0avio 394k sh
            162 0.11re 0.03cp 0avio 413k security.sh*
            154 0.03re 0.02cp 0avio 273k ls
            56 31.61re 0.02cp 0avio 823k ping6.pl*
            2 3.23re 0.02cp 0avio 822k ping6.pl
            35 0.02re 0.01cp 0avio 257k md5sum
            97 0.02re 0.01cp 0avio 263k initlog
            12 0.19re 0.01cp 0avio 399k promisc_check.s
            15 0.09re 0.00cp 0avio 288k grep
            11 0.08re 0.00cp 0avio 332k awk


              用戶還可以根據(jù)用戶而不是命令來提供一個摘要報告。例如sa -m顯示如下:


            885 173.28re 4.31cp 0avk
            root 879 173.23re 4.31cp 0avk
            alias 3 0.05re 0.00cp 0avk
            qmailp 3 0.01re 0.00cp 0avk


              4. Syslog設(shè)備

              Syslog已被許多日志函數(shù)采納,它用在許多保護措施中--任何程序都可以通過syslog 紀錄事件。
            syslog可以紀錄系統(tǒng)事件,可以寫到一個文件或設(shè)備中,或給用戶發(fā)送一個信息。它能紀錄本地事件或通過

            網(wǎng)絡(luò)紀錄另一個主機上的事件。

              Syslog設(shè)備依據(jù)兩個重要的文件:/etc/syslogd(守護進程)和/etc/syslog.conf配置文件,習(xí)慣上,

            多數(shù)syslog信息被寫到/var/adm或/var/log目錄下的信息文件中(messages.*)。一個典型的syslog紀錄包

            括生成程序的名字和一個文本信息。它還包括一個設(shè)備和一個優(yōu)先級范圍(但不在日之中出現(xiàn))。

              每個syslog消息被賦予下面的主要設(shè)備之一:

              LOG_AUTH--認證系統(tǒng):login、su、getty等

              LOG_AUTHPRIV--同LOG_AUTH,但只登錄到所選擇的單個用戶可讀的文件中

              LOG_CRON--cron守護進程

              LOG_DAEMON--其他系統(tǒng)守護進程,如routed

              LOG_FTP--文件傳輸協(xié)議:ftpd、tftpd

              LOG_KERN--內(nèi)核產(chǎn)生的消息

              LOG_LPR--系統(tǒng)打印機緩沖池:lpr、lpd

              LOG_MAIL--電子郵件系統(tǒng)

              LOG_NEWS--網(wǎng)絡(luò)新聞系統(tǒng)

              LOG_SYSLOG--由syslogd(8)產(chǎn)生的內(nèi)部消息

              LOG_USER--隨機用戶進程產(chǎn)生的消息

              LOG_UUCP--UUCP子系統(tǒng)

              LOG_LOCAL0~LOG_LOCAL7--為本地使用保留

              Syslog為每個事件賦予幾個不同的優(yōu)先級:

              LOG_EMERG--緊急情況

              LOG_ALERT--應(yīng)該被立即改正的問題,如系統(tǒng)數(shù)據(jù)庫破壞

              LOG_CRIT--重要情況,如硬盤錯誤

              LOG_ERR--錯誤

              LOG_WARNING--警告信息

              LOG_NOTICE--不是錯誤情況,但是可能需要處理

              LOG_INFO--情報信息

              LOG_DEBUG--包含情報的信息,通常旨在調(diào)試一個程序時使用

              syslog.conf文件指明syslogd程序紀錄日志的行為,該程序在啟動時查詢配置文件。該文件由不同程

            序或消息分類的單個條目組成,每個占一行。對每類消息提供一個選擇域和一個動作域。這些域由tab隔開:

            選擇域鈀?浴? ?? ??ゐ?!指明消息的類型和優(yōu)先級;動作域指明syslogd接收到一個與選擇標準相匹配的消息時所執(zhí)行的動作。

            每個選項是由設(shè)備和優(yōu)先級組成。當(dāng)指明一個優(yōu)先級時,syslogd將紀錄一個擁有相同或更高優(yōu)先級的消息。

            所以如果指明"crit",那所有標為crit、alert和emerg的消息將被紀錄。每行的行動域指明當(dāng)選擇域選擇了一個

            給定消息后應(yīng)該把他發(fā)送到哪兒。例如,如果想把所有郵件消息紀錄到一個文件中,如下:


            #Log all the mail messages in one place
            mail.* /var/log/maillog


              其他設(shè)備也有自己的日志。UUCP和news設(shè)備能產(chǎn)生許多外部消息。它把這些消息存到自己的日志

            (/var/log/spooler)中并把級別限為"err"或更高。例如:


            # Save mail and news errors of level err and higher in aspecial file.
            uucp,news.crit /var/log/spooler


              當(dāng)一個緊急消息到來時,可能想讓所有的用戶都得到。也可能想讓自己的日志接收并保存。


            #Everybody gets emergency messages, plus log them on anther machine
            *.emerg *
            *.emerg @linuxaid.com.cn


              alert消息應(yīng)該寫到root和tiger的個人賬號中:


            #Root and Tiger get alert and higher messages
            *.alert root,tiger


              有時syslogd將產(chǎn)生大量的消息。例如內(nèi)核("kern"設(shè)備)可能很冗長。用戶可能想把內(nèi)核消息紀錄

            到/dev/console中。下面的例子表明內(nèi)核日志紀錄被注釋掉了:


            #Log all kernel messages to the console
            #Logging much else clutters up the screen
            #kern.* /dev/console


              用戶可以在一行中指明所有的設(shè)備。下面的例子把info或更高級別的消息送到/var/log/messages,

            除了mail以外。級別"none"禁止一個設(shè)備:


            #Log anything(except mail)of level info or higher
            #Dont log private authentication messages!
            *.info:mail.none;authpriv.none /var/log/messages


              在有些情況下,可以把日志送到打印機,這樣網(wǎng)絡(luò)入侵者怎么修改日志都沒有用了。通常要廣泛紀錄

            日志。Syslog設(shè)備是一個攻擊者的顯著目標。一個為其他主機維護日志的系統(tǒng)對于防范服務(wù)器攻擊特別脆

            弱,因此要特別注意。

              有個小命令logger為syslog(3)系統(tǒng)日志文件提供一個shell命令接口,使用戶能創(chuàng)建日志文件中的條

            目。用法:logger 例如:logger This is a test!

              它將產(chǎn)生一個如下的syslog紀錄:Aug 19 22:22:34 tiger: This is a test!

              注意不要完全相信日志,因為攻擊者很容易修改它的。

              5. 程序日志

              許多程序通過維護日志來反映系統(tǒng)的安全狀態(tài)。su命令允許用戶獲得另一個用戶的權(quán)限,所以它的安全

            很重要,它的文件為sulog。同樣的還有sudolog。另外,想Apache有兩個日志:access_log和error_log。

            轉(zhuǎn)自 http://blog.chinaunix.net/u2/76292/showart_1335926.html

            posted on 2009-12-07 23:08 chatler 閱讀(198) 評論(0)  編輯 收藏 引用 所屬分類: Linux_SysAdmin
            <2009年12月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個博客還是不錯,雖然做的東西和我不大相關(guān),覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久婷婷五月亚洲97号色| 99久久精品国产高清一区二区| 精品国产乱码久久久久久浪潮| 国产精品久久久久乳精品爆| 欧美久久一级内射wwwwww.| 久久精品二区| 久久久久se色偷偷亚洲精品av| 99久久这里只精品国产免费| 国产V综合V亚洲欧美久久| 久久99精品久久久久久秒播| 无码AV波多野结衣久久| 国产激情久久久久影院老熟女免费| 久久亚洲中文字幕精品一区四| 亚洲精品第一综合99久久 | 久久精品国产亚洲5555| 中文字幕无码久久精品青草| 国产亚洲综合久久系列| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国内精品久久久久久久coent| 久久婷婷五月综合色奶水99啪| 99久久精品国产一区二区蜜芽| 成人久久免费网站| 色偷偷88欧美精品久久久| 久久国产成人精品麻豆| 亚洲国产美女精品久久久久∴| 久久久久亚洲AV成人网人人网站| 久久香综合精品久久伊人| 国产一区二区久久久| 99热成人精品免费久久| 国产一区二区精品久久| 久久久无码一区二区三区| 久久久久国产精品嫩草影院| 久久久久久亚洲精品不卡| 久久精品国产亚洲AV香蕉| 99精品国产免费久久久久久下载| 亚洲精品高清一二区久久| 久久本道久久综合伊人| 久久久久黑人强伦姧人妻| 久久久久九九精品影院| 中文字幕精品久久久久人妻| 欧美久久亚洲精品|