成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 系統(tǒng)日志—Secure,Btmp,Wtmp文件詳解

系統(tǒng) Linux
只要將我們的服務器在公網(wǎng)環(huán)境公開,提供服務。就避免不了來自全球互聯(lián)網(wǎng)上的各種攻擊。大部分的攻擊都是一些泛攻擊,利用程序自動掃描并發(fā)起攻擊而已。

1、介紹

Linux系統(tǒng)提供了全方位的日志記錄。我們登錄Linux系統(tǒng)之后做的事情Linux都有相應的日志記錄。整個日志系統(tǒng)比較多。這里只介紹和登錄比較密切相關的三個日志。

secure,btmp和wtmp這三個日志文件。

2、wtmp日志

首先,介紹wtmp日志文件,該文件記錄了所有的登錄過系統(tǒng)的用戶信息。(PS:只記錄了正確登錄的用戶。密碼錯誤等在btmp文件和secure文件中)

該文件的地址路徑為:var/log/wtmp 。wtmp文件是一個二進制文件,無法通過cat或者vim 進行閱讀。需要通過命令last進行閱讀。

示例如下:

[root@iZuf /]# last -F
root pts/0 我的IP地址 Wed Nov 23 08:43:28 2022 still logged in
...
root pts/0 我的IP地址 Wed Oct 19 16:00:28 2022 - Wed Oct 19 18:16:46 2022 (02:16)
root pts/0 我的IP地址 Wed Oct 19 09:51:51 2022 - Wed Oct 19 10:42:08 2022 (00:50)
...

last 命名會默認從wtmp文件中讀取數(shù)據(jù)。所以我們可以不用添加wtmp文件路徑,但是如果使用 last -f 就需要我們主動添加wtmp路徑了。

上面的數(shù)據(jù)分別是:

  • 登錄名:root。
  • 打開的終端:pts/0
  • 訪問者IP:我的ip地址(PS:實際ip 是顯示 111,111,111,111格式的)
  • 登錄時間:Tue Nov 15 11:17:40 2022
  • 退出時間:Tue Nov 15 13:14:02 2022
  • 耗時:(01:56) 如果顯示still logged in。表示當前仍然屬于登錄狀態(tài)。

如果我們覺得日期顯示閱讀不直觀,可以通過命令last --time-format 進行日期格式化。示例如下:

[root@iZuf /]# last --time-format iso
...
root pts/0 我的IP地址 2020-08-07T17:05:19+08:00 - 2020-08-07T17:06:39+08:00 (00:01)

時間將會變成我們能夠直接閱讀的格式。(PS:+08:00 只是說明當前日期進行了時區(qū)添加,并不代表我們還需要在顯示的時間中添加8小時哦)

--time-format 后面的可選參數(shù)為:

  • notime: 不顯示時間。示例:(13:34)。只顯示登錄時長。不顯示時間段
  • short:短時間顯示。示例:Fri Nov 4 17:53 - 18:03 (00:09)
  • full:按照默認格式顯示全部時間。示例:Tue Nov 22 13:48:22 2022 - Tue Nov 22 17:23:19 2022 (03:34)
  • iso:按照iso時間格式顯示全部時間。示例:2020-08-07T17:05:19+08:00 - 2020-08-07T17:06:39+08:00 (00:01)

這個文件將會記錄全部的登錄記錄。如果中間出現(xiàn)了不屬于我們熟悉的ip登錄。那么說明賬戶密碼有泄漏。或者其他非法登錄產(chǎn)生。

PS:-F 命令不能和--time-format 一起使用,因為它們兩者都對輸出的時間格式有影響。

3、btmp 日志

如果說wtmp是記錄登錄成功的日志。那么btmp就是記錄所有嘗試登錄,但是登錄失敗的日志。它存儲的路徑和wtmp文件在同一目錄下:/var/log/btmp

同樣btmp也是屬于二進制文件。無法通過cat或者vim 進行閱讀。需要通過命令lastb進行閱讀。

last: 閱讀的wtmp文件

lastb:閱讀的btmp文件

這兩個指令是有一個字母的區(qū)別。千萬不要弄混了

這兩個命令的 參數(shù)可以說是完全一樣??梢杂糜趌ast的也可以用于lastb。

lastb的命令參數(shù)如下:

  • -<number> :要顯示多少行
  • -a, --hostlast :在最后一列中顯示主機名
  • -d, --dns :將IP地址轉(zhuǎn)換回主機名
  • -f <file> :使用特定文件而不是/var/log/btmp
  • -F, --fulltimes :打印完整的登錄和注銷時間和日期
  • -i, --ip :以數(shù)字和點表示法顯示IP號碼
  • -n, --limit <number> :要顯示多少行
  • -R, --nohostname :不顯示主機名字段
  • -s, --since <time> :顯示指定時間之后的行 (查詢指定時間之后的記錄)
  • -t, --until <time> :顯示指定時間之前的行 (查詢指定時間之前的記錄)
  • -p, --present <time> :顯示在指定時間內(nèi)在場的賬戶
  • -w, --fullnames :顯示完整的用戶名和域名
  • -x, --system :顯示系統(tǒng)關閉條目和運行級別更改
  • --time-format <format> :顯示指定格式的時間戳 <format>: notime|short|full|iso

PS:-F 命令不能和--time-format 一起使用,因為它們兩者都對輸出的時間格式有影響。

具體使用示例:(PS:由于內(nèi)容比較多,就先顯示10條記錄了)

[root@iZuf /]# lastb -10
liu ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
sine ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
ftpUser ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
sine ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
liu ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
chenms ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
mingjian ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
liu ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
sine ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)
ftpUser ssh:notty 170.64.132.128 Wed Nov 23 07:40 - 07:40 (00:00)

格式表現(xiàn)為:

第一列顯示登錄名,第二列顯示登錄ssh方式很明顯 ssh:notty是在使用暴力破解ssh密碼。(這也是為什么Linux建議一段時間內(nèi)跟換密碼的原因,當然使用秘鑰的安全性要比密碼高不少。),第三列顯示的就是訪問者IP地址了。 之后的就是時間和耗費時長了。

示例,將時間戳進行序列化后顯示如下:

[root@iZuf /]# lastb -10 --time-format iso
liu ssh:notty 170.64.132.128 2022-11-23T07:40:24+08:00 - 2022-11-23T07:40:24+08:00 (00:00)
sine ssh:notty 170.64.132.128 2022-11-23T07:40:24+08:00 - 2022-11-23T07:40:24+08:00 (00:00)
ftpUser ssh:notty 170.64.132.128 2022-11-23T07:40:23+08:00 - 2022-11-23T07:40:23+08:00 (00:00)
sine ssh:notty 170.64.132.128 2022-11-23T07:40:23+08:00 - 2022-11-23T07:40:23+08:00 (00:00)
liu ssh:notty 170.64.132.128 2022-11-23T07:40:22+08:00 - 2022-11-23T07:40:22+08:00 (00:00)
chenms ssh:notty 170.64.132.128 2022-11-23T07:40:22+08:00 - 2022-11-23T07:40:22+08:00 (00:00)
mingjian ssh:notty 170.64.132.128 2022-11-23T07:40:22+08:00 - 2022-11-23T07:40:22+08:00 (00:00)
liu ssh:notty 170.64.132.128 2022-11-23T07:40:21+08:00 - 2022-11-23T07:40:21+08:00 (00:00)
sine ssh:notty 170.64.132.128 2022-11-23T07:40:21+08:00 - 2022-11-23T07:40:21+08:00 (00:00)
ftpUser ssh:notty 170.64.132.128 2022-11-23T07:40:21+08:00 - 2022-11-23T07:40:21+08:00 (00:00)

(1)日志時長

btmp日志由于內(nèi)容過多。它會按30天進行備份一次數(shù)據(jù)。只會備份一個月的數(shù)據(jù)。

備份文件和btmp文件存儲在同一目錄下,只是命名后面追加上備份創(chuàng)建日期而已。示例:

小技巧:在Linux系統(tǒng)中填寫路徑時按Tab將會補全,如果無法補全說明有多個候選項,我們雙擊Tab將會列出全部候選項。

[root@iZuf /]# ls var/log/btmp
btmp btmp-20221101

例如上面的結(jié)果,我們?nèi)绻碽tmp-20221101 里面的數(shù)據(jù),就需要使用:lastb -f /var/log/btmp-20221101

示例如下,查詢上個月的非法登錄的前10條記錄:

[root@iZuf /]# lastb -f /var/log/btmp-20221101 -10
sine ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
liu ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
sine ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
sine ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
wjquan ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
liu ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
zkkj ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
chenms ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
mingjian ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)
mingjian ssh:notty 143.244.141.68 Sat Oct 29 22:02 - 22:02 (00:00)

如果非法登錄的數(shù)據(jù)文件比較大,我們怎么進行查詢呢?Linux可以針對數(shù)據(jù)進行篩選

(2)統(tǒng)計ip登錄次數(shù)

惡意訪問數(shù)據(jù)過多的時候,我們通過lastb直接閱讀比較困難因為數(shù)據(jù)較大。這個時候我們就可以通過對查詢結(jié)果進行篩選。

例如:

[root@iZuf /]# lastb | awk '{ print $3}' | sort | uniq -c | sort -n
5 98.143.158.42
5368 143.244.137.83
5402 170.64.132.120
5522 170.64.132.128
6212 193.47.61.21

上述顯示結(jié)果,第一列ip地址的登錄次數(shù),第二列為ip地址。我們可以對登錄過大的ip進行封禁操作。

下面進行命令拆分介紹。在Linux中通過|符號對命令進行拆分。

上述的命令其實就是:

  • lastb : 通過lastb命令會拉取全部的非法登錄日志。
  • awk '{print $3}' :截取lastb輸出的數(shù)據(jù)中的第三列也就是ip地址。
  • sort :將ip地址進行分類。
  • uniq -c :將分類好的ip數(shù)據(jù)進行去重并計數(shù)。
  • sort -n : 將分類去重并計數(shù)的數(shù)據(jù),進行分類并且按照數(shù)值進行從小到大排序。

例如我們?nèi)绻樯弦粋€月的非法登錄次數(shù)統(tǒng)計:

[root@iZuf /]# lastb -f /var/log/btmp-20221101 | awk '{ print $3}' | sort | uniq -c | sort -n
51 157.230.21.85
4861 167.71.234.209
5038 143.244.141.68
5202 143.244.129.121
5262 167.71.226.83

PS: 如果想高效控制和防范,那么使用防火墻可以說是最佳選擇了??梢允褂冒⒗镌铺峁┑脑品阑饓?,包括結(jié)合情報的實時入侵防護、全流量可視化分析、智能化訪問控制、日志溯源分析等能力。

https://www.aliyun.com/product/cfw?source=5176.11533457&userCode=w5jkvc5z?。

4、secure 日志

相較于wtmp文件和btmp文件,secure日志就是一個文本。可以通過vim或者cat閱讀。也可以導出到windows環(huán)境下使用VSCode或者文本文檔等閱讀。

secure日志和wtmp和btmp文件一樣,存儲在var/log目錄下。示例如下:

[root@iZuf /]# ls /var/log/secure
secure secure-20221030 secure-20221106 secure-20221113 secure-20221120

secure文件是按照每7天備份一次的頻率,進行備份的。文檔打開后的內(nèi)容如下所示:

Nov 20 09:25:19 iZuf sshd[2322424]: error: kex_exchange_identification: banner line contains invalid characters
Nov 20 12:55:16 iZuf sshd[2323018]: error: kex_exchange_identification: Connection closed by remote host
Nov 20 12:58:27 iZuf sshd[2323024]: Invalid user amax from 170.64.132.120 port 47146
Nov 20 12:58:28 iZuf sshd[2323026]: Invalid user amax from 170.64.132.120 port 47158
Nov 20 12:58:28 iZuf sshd[2323024]: pam_unix(sshd:auth): check pass; user unknown
Nov 20 12:58:28 iZuf sshd[2323024]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=170.64.132.120
Nov 20 12:58:28 iZuf sshd[2323026]: pam_unix(sshd:auth): check pass; user unknown
Nov 20 12:58:28 iZuf sshd[2323026]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=170.64.132.120
Nov 20 12:58:28 iZuf sshd[2323028]: Invalid user amax from 170.64.132.120 port 47164
Nov 20 12:58:28 iZuf sshd[2323030]: Invalid user amax from 170.64.132.120 port 47178
Nov 20 12:58:28 iZuf sshd[2323028]: pam_unix(sshd:auth): check pass; user unknown
Nov 20 12:58:28 iZuf sshd[2323028]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=170.64.132.120
Nov 20 12:58:28 iZuf sshd[2323032]: Invalid user amax from 170.64.132.120 port 47188
Nov 20 12:58:29 iZuf sshd[2323030]: pam_unix(sshd:auth): check pass; user unknown
Nov 20 12:58:29 iZuf sshd[2323030]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=170.64.132.120
Nov 20 12:58:29 iZuf sshd[2323032]: pam_unix(sshd:auth): check pass; user unknown

相較于wtmp和btmp一個記錄成功的,一個記錄失敗的。secure日志記錄整個登錄過程的所有數(shù)據(jù),不管成功還是失敗都會進行記錄。

PS:由于secure日志屬于文檔類型的,那么登錄成功后的非法登錄它是可以比較方便的對secure文件進行篡改的。

下面簡單列一些出現(xiàn)的各種錯誤和成功日志:

  1. 訪問成功后的日志:Accepted password for root from 我的真實IP port 端口號 ssh2
  2. 指令與端口不匹配: 修改了默認的SSH端口(22) 改為其他端口了。攻擊者訪問該端口時,命令和端口服務不匹配就會出現(xiàn)下面的錯誤日志記錄。
  3. error: kex_exchange_identification: banner line contains invalid characters。
  4. ip地址為170.64.132.120 的主機嘗試破解sshd登錄:它使用了新的賬戶和密碼進行驗證。
  5. pam_unix(sshd:auth): check pass; user unknown
    pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=170.64.132.120。
  6. 提示來自于170.64.132.120 主機的端口 47146的請求,用戶名無效。不允許操作:Invalid user amax from 170.64.132.120 port 47146。
  7. 為正確用戶開啟root會話,也就是遠程登錄的命令輸入界面:pam_unix(sshd:session): session opened for user root by (uid=0)。
  8. 為用戶關閉root會話 也就是命令行輸入界面:pam_unix(sshd:session): session closed for user root。
  9. 來自用戶名jason的登錄,密碼和用戶驗證失?。篎ailed password for invalid user jason from 170.64.132.128 port 59676 ssh2。

等等還有很多的命令日志。

只要我們的服務器開啟了SSH,那么這種攻擊就會再所難免。我們需要

  1. 修改默認的ssh的端口22改為其他的端口,可以提高安全性。
  2. root密碼設置比較復雜的密碼,并且保持更新。
  3. 使用秘鑰驗證比密碼驗證安全性更高。
  4. 使用防火墻屏蔽大量訪問的ip。
  5. 使用腳本,對攻擊訪問進行自動拉黑添加到屏蔽訪問的文件中。

5、總結(jié)

只要將我們的服務器在公網(wǎng)環(huán)境公開,提供服務。就避免不了來自全球互聯(lián)網(wǎng)上的各種攻擊。大部分的攻擊都是一些泛攻擊,利用程序自動掃描并發(fā)起攻擊而已。

更多的針對的都是一些弱密碼例如123456,admin等的自動攻擊腳本。

我們只需要給自己的服務器創(chuàng)建復雜程度高的密碼,并保持一段時間的密碼跟換。同時如果必須使用SSH登錄就將默認端口22更換為其他端口。????

然后一段時間后,針對大量重復的ip地址進行封禁就可以了。

責任編輯:姜華 來源: 今日頭條
相關推薦

2011-01-18 11:15:19

LinuxLOG

2011-08-25 11:44:36

wtmp中文man

2010-11-19 13:01:31

Oracle日志文件

2009-12-22 10:46:35

2009-12-10 14:27:07

Linux操作系統(tǒng)

2009-11-23 09:54:52

2014-12-22 09:51:06

Linuxlogwatch

2009-12-02 15:46:36

Linux系統(tǒng)掛接

2013-04-25 10:30:03

Linux系統(tǒng)文件權(quán)限

2017-08-24 11:54:43

Linux日志定時輪循機制

2010-03-09 17:57:46

2010-08-05 11:03:55

創(chuàng)建分區(qū)文件系統(tǒng)

2019-05-29 16:33:32

Linux虛擬系統(tǒng)

2020-08-21 10:05:22

Linux系統(tǒng)結(jié)構(gòu)內(nèi)核

2019-05-22 09:00:16

Linux虛擬文件系統(tǒng)

2010-03-18 14:52:05

Linux操作系統(tǒng)

2010-03-18 15:16:37

Linux操作系統(tǒng)

2010-03-18 15:07:13

Linux操作系統(tǒng)

2009-12-23 14:21:23

Linux文件

2009-10-22 09:20:37

Linux系統(tǒng)網(wǎng)絡操作系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人网综合在线 | 国产精品一区二区无线 | 天堂综合网 | 亚洲成人精品在线 | 国产999在线观看 | 国产精品呻吟久久av凹凸 | 亚洲精品乱码久久久久久蜜桃 | 日韩有码一区 | 一区二区在线观看免费视频 | 天天影视亚洲综合网 | 精品91视频 | 亚洲国产免费 | 一区二区三区免费 | 久久精品亚洲一区 | 亚洲精品自在在线观看 | 91av视频在线 | 欧美一级在线 | 国产精品我不卡 | 97视频在线观看网站 | 日韩视频一区 | 久久国产精品久久久久久久久久 | 日韩在线视频一区二区三区 | 欧美黑人激情 | 中文字幕精品一区 | 极品销魂美女一区二区 | 成人精品鲁一区一区二区 | 伊人久久免费 | 成人做爰9片免费看网站 | 国产美女精品视频免费观看 | 日韩三级电影一区二区 | 亚洲一区高清 | 四虎永久影院 | 精品三级| 一区视频 | 精品一区二区三区日本 | 欧美日韩亚洲二区 | 久久久久久久久久久久久久av | 精品国产一区二区三区久久影院 | 精品日韩在线观看 | 色精品| 国产视频久 |