• <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

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

            的原因,或者受到攻擊時攻擊者留下的痕跡。日志主要的功能有:審計和監測。他還可以實時的監測系統狀態,

            監測和追蹤侵入者等等。

             

              1. 日志簡介

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

            的原因,或者受到攻擊時攻擊者留下的痕跡。日志主要的功能有:審計和監測。他還可以實時的監測系統狀態,

            監測和追蹤侵入者等等。

              在Linux系統中,有三個主要的日志子系統:

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

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

              進程統計--由系統內核執行。當一個進程終止時,為每個進程往進程統計文件(pacct或acct)中寫一個

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

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

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

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

              常用的日志文件如下:

              access-log 紀錄HTTP/web的傳輸

              acct/pacct 紀錄用戶命令

              aculog 紀錄MODEM的活動

              btmp 紀錄失敗的紀錄

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

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

              sudolog 紀錄使用sudo發出的命令

              sulog 紀錄使用su命令的使用

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

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

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

              xferlog 紀錄FTP會話

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

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

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

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

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

            名并循環使用wtmp文件。通常,wtmp在第一天結束后命名為wtmp.1;第二天后wtmp.1變為wtmp.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文件

            創建或刪改以來的每一次登錄。

              w:w命令查詢utmp文件并顯示當前系統中每個用戶和它所運行的進程信息。例如: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來顯示自從文件第一次創建以來登錄過的用戶。例如:


            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. 進程統計

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

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

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

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

            然后運行accton: accton /var/log/pacct。一旦accton被激活,就可以使用lastcomm命令監測系統

            中任何時候執行的命令。若要關閉統計,可以使用不帶任何參數的accton命令。

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

            的所有命令的有關信息。包括命令名、用戶、tty、命令花費的CPU時間和一個時間戳。如果系統有許多用

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


            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


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

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

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

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

            些標記項:

              avio--每次執行的平均I/O操作次數

              cp--用戶和系統時間總和,以分鐘計

              cpu--和cp一樣

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

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

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

              s--系統時間,以分鐘計

              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可以紀錄系統事件,可以寫到一個文件或設備中,或給用戶發送一個信息。它能紀錄本地事件或通過

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

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

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

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

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

              LOG_AUTH--認證系統:login、su、getty等

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

              LOG_CRON--cron守護進程

              LOG_DAEMON--其他系統守護進程,如routed

              LOG_FTP--文件傳輸協議:ftpd、tftpd

              LOG_KERN--內核產生的消息

              LOG_LPR--系統打印機緩沖池:lpr、lpd

              LOG_MAIL--電子郵件系統

              LOG_NEWS--網絡新聞系統

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

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

              LOG_UUCP--UUCP子系統

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

              Syslog為每個事件賦予幾個不同的優先級:

              LOG_EMERG--緊急情況

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

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

              LOG_ERR--錯誤

              LOG_WARNING--警告信息

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

              LOG_INFO--情報信息

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

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

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

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

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

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

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


            #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設備是一個攻擊者的顯著目標。一個為其他主機維護日志的系統對于防范服務器攻擊特別脆

            弱,因此要特別注意。

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

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

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

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

              5. 程序日志

              許多程序通過維護日志來反映系統的安全狀態。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 閱讀(188) 評論(0)  編輯 收藏 引用 所屬分類: Linux_SysAdmin
            <2009年5月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(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

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久亚洲精品无码蜜桃| 久久久久亚洲AV成人网人人网站| 精品伊人久久久| 99久久99久久精品国产片果冻| 欧美噜噜久久久XXX| 久久综合狠狠综合久久激情 | 久久亚洲精品国产精品婷婷 | 99久久亚洲综合精品网站| 狠狠综合久久综合中文88| 久久无码中文字幕东京热| 996久久国产精品线观看| 亚洲成av人片不卡无码久久| 久久亚洲春色中文字幕久久久| 精品欧美一区二区三区久久久| 亚洲精品无码久久久久久| 久久露脸国产精品| 国产精品久久精品| 日韩精品久久久久久免费| 青青热久久国产久精品 | 久久99久久99小草精品免视看| 国内精品久久久久久久久| 久久人人爽人人爽人人片av高请| 亚洲国产综合久久天堂| 久久香蕉一级毛片| 国产成人久久AV免费| 久久99精品国产麻豆宅宅| 狠狠色综合网站久久久久久久| www.久久热.com| 久久国产高潮流白浆免费观看| 亚洲伊人久久精品影院| 国内精品伊人久久久久777| 久久笫一福利免费导航| 久久综合久久综合亚洲| 久久这里只有精品首页| 7777精品伊人久久久大香线蕉| 婷婷久久综合九色综合绿巨人| 久久天天躁狠狠躁夜夜2020老熟妇 | 午夜福利91久久福利| 久久强奷乱码老熟女| 思思久久99热免费精品6| 亚洲成av人片不卡无码久久|