• <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)內核執(zhí)行。當一個進程終止時,為每個進程往進程統(tǒng)計文件(pacct或acct)中寫一個

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

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

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

            務的服務器也保持詳細的日志。

              常用的日志文件如下:

              access-log 紀錄HTTP/web的傳輸

              acct/pacct 紀錄用戶命令

              aculog 紀錄MODEM的活動

              btmp 紀錄失敗的紀錄

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

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

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

              sulog 紀錄使用su命令的使用

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

              utmp 紀錄當前登錄的每個用戶

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

              xferlog 紀錄FTP會話

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

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

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

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

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

            名并循環(huán)使用wtmp文件。通常,wtmp在第一天結束后命名為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紀錄。當用戶登錄退出時,具有更新時間戳的同

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

              2. 具體命令

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

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

              who:who命令查詢utmp文件并報告當前登錄的每個用戶。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文件并顯示當前系統(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用單獨的一行打印出當前登錄的用戶,每個顯示的用戶名對應一個登錄會話。如果一個

            用戶有不止一個登錄會話,那他的用戶名將顯示相同的次數。例如: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命令根據當前的/var/log/wtmp文件中的登錄進入和退出來報告用戶連結的時間(小時),

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

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


            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的內容。它根據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


              另外,可一加一些參數,例如,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í)行的命令。若要關閉統(tǒng)計,可以使用不帶任何參數的accton命令。

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

            的所有命令的有關信息。包括命令名、用戶、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文件可能增長的十分迅速。這時需要交互式的或經過cron機制運行sa命

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

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

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

            些標記項:

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

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

              cpu--和cp一樣

              k--內核使用的平均CPU時間,以1k為單位

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

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

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

              tio--I/O操作的總數

              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


              用戶還可以根據用戶而不是命令來提供一個摘要報告。例如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設備

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

            網絡紀錄另一個主機上的事件。

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

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

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

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

              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--內核產生的消息

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

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

              LOG_NEWS--網絡新聞系統(tǒng)

              LOG_SYSLOG--由syslogd(8)產生的內部消息

              LOG_USER--隨機用戶進程產生的消息

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

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

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

              LOG_EMERG--緊急情況

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

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

              LOG_ERR--錯誤

              LOG_WARNING--警告信息

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

              LOG_INFO--情報信息

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

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

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

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

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

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

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


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


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

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


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


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


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


              alert消息應該寫到root和tiger的個人賬號中:


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


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

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


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


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

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


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


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

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

            弱,因此要特別注意。

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

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

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

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

              5. 程序日志

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

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

            轉自 http://blog.chinaunix.net/u2/76292/showart_1335926.html

            posted on 2009-12-07 23:08 chatler 閱讀(192) 評論(0)  編輯 收藏 引用 所屬分類: Linux_SysAdmin
            <2010年2月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28123456
            78910111213

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

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

            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

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产成人精品免费久久久久| 91精品国产综合久久香蕉| 亚洲精品国产综合久久一线| 亚洲国产香蕉人人爽成AV片久久| 综合久久精品色| 久久国产亚洲精品无码| 成人精品一区二区久久久| 久久久网中文字幕| 亚洲av成人无码久久精品| 伊人久久大香线蕉精品| 久久精品国产亚洲av麻豆图片| 久久精品人人做人人妻人人玩| 久久精品国产只有精品66| 亚洲AV成人无码久久精品老人| 久久久久无码精品国产app| 久久精品国产亚洲AV麻豆网站| 久久乐国产精品亚洲综合| 久久精品亚洲日本波多野结衣| 久久久久久亚洲精品影院| 久久久久综合网久久| 日韩乱码人妻无码中文字幕久久| 久久狠狠一本精品综合网| 久久九九全国免费| 久久久国产乱子伦精品作者| 99久久国产精品免费一区二区| 色综合久久久久综合99| 成人国内精品久久久久影院VR| 久久久久99精品成人片欧美| 伊人久久精品无码二区麻豆| 少妇无套内谢久久久久| 久久久久亚洲精品无码网址| 久久99国产精品一区二区| 奇米综合四色77777久久| 久久久久久久97| 99久久综合国产精品免费| 欧美性大战久久久久久| 久久久精品视频免费观看| 久久精品国产一区二区| 精品无码人妻久久久久久| 国产高潮国产高潮久久久91| 国产精品美女久久久久AV福利|