之前已經知道日誌中心會有紀錄,但是不足以統計分析,現在要取出這些紀錄,並且存放分析,當然不可能每天去做這件事情,所以還要能持續的更新資訊。
在Linux系統上,Log紀錄理當都會存放在 /var/log/ ,所以跳到該目錄看看。
該目錄有許多 log檔案,從名稱跟內容查看,大概可以確定紀錄在auth.log檔案內
參考文章,利用python來持續取出auth.log內容,並作分析
需要使用 pip 安裝 inotify ,然後依樣畫葫蘆監聽auth.log的紀錄並分析
#監聽log的部分
while 1:
for event in i.event_gen():
line = fd.readline()
if not line:
# 类似select,inotify也有一个超时时间,如果超时时间内没有发生写入,则我们仍然会读到一个空结果
continue
elif "pam_unix" in line and "failure" in line:
item = analysis1(line)
if item['uid'] != "0":
print(json.dumps(item))
continue
elif "pam_syno_log_fail" in line:
item['uid'] = analysis2(line,item['sshd'])
print(json.dumps(item))
continue
#因為從log看,連線的使用者與IP資訊,分別記錄在不同line,但是sshd會是一致的,所以analysis1用來拆解第一段,analysis2用來拆解第二段
如此,再加上把資料 Insert into DB,就有資料可以進行分析了.