亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux系統日志管理

添加時間:2016-8-14 1:48:27  添加: 思海網絡 
日志對于安全來說,非常重要,他記錄了系統每天發生的各種各樣的事情,你可以通過他來檢查錯誤發生的原因,或者受到攻擊時攻擊者留下的痕跡。日志主要的功能有:審計和監測。他還可以實時的監測系統狀態,監測和追蹤侵入者等等。 

  在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使用。

  具體命令 

  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.05 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 

  lastlog: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表示限制上一周的報告。

  進程統計 

  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 

  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 
    #Don't 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! 

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

  程序日志



  許多程序通過維護日志來反映系統的安全狀態。su命令允許用戶獲得另一個用戶的權限,所以它的安全很重要,它的文件為sulog。同樣的還有sudolog。另外,想Apache有兩個日志:access_log和error_log。


關鍵字:Linux、系統日志、服務器
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站