Synology 分析試圖連線紀錄並存放到資料庫

之前已經知道日誌中心會有紀錄,但是不足以統計分析,現在要取出這些紀錄,並且存放分析,當然不可能每天去做這件事情,所以還要能持續的更新資訊。

在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,就有資料可以進行分析了.

上一步,Synology NAS 個人雲端試圖連線分析

下一步,Synology 資安風險 分析與呈現Dashboard

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *