Centos

同時從 root@server.myserver.com 獲得相同的電子郵件。不確定它來自哪裡

  • July 7, 2020

我創建了一個 AIDE 腳本,它能夠監控我的主機中的文件更改,當文件發生更改時,它會發送有關更改的警報電子郵件。在我看來,我認為劇本沒有問題。所以還是和大家分享一下吧:

這是我的 git repo 中的腳本:

AIDE 腳本 Cron 作業

為了執行這個腳本,我讓 cronjob 每 20 分鐘執行一次: */20 * * * * root /usr/local/bin/maxicron/aide/maxiaide cron > /dev/null

該腳本在提供警報消息方面做得很好,但最近我注意到我不斷收到來自該腳本的相同電子郵件,該腳本具有相同的日期和時間(04-07-2020 5:43am),內容相同。附件大到22MB。有時我一次收到近十幾封郵件。

截屏:

在此處輸入圖像描述

當我在文本編輯器中查看附件時,我在腳本“文件數據庫必須有一個 db_spec 規範”的日誌文件中看到以下錯誤:

在此處輸入圖像描述

在此處輸入圖像描述

因此,這意味著警報由於錯誤而沒有完成腳本。

我現在禁用 cronjob 2 天,但我仍然收到這封電子郵件。另外,我檢查了我沒有執行此腳本的 cronjob。我檢查了郵件隊列exim -bp,在 exim 中沒有發現郵件隊列。現在,腳本沒有執行,但我仍然收到這封警報電子郵件。在您看來,這封電子郵件實際上來自哪裡?我如何調試電子郵件的來源,我認為它不是來自腳本,因為腳本不再執行。這太奇怪了

所有日誌文件似乎都沒有提供任何線索,並且由於該電子郵件的時間和日期已經過時,因此電子郵件直接進入了最後一個列表,而不是郵箱的頂部列表。

我用的是centOS 8,exim,dovecot,roundcube,apache_nginx,AIDE版本是0.16

由於來自 AIDE 的關於 db_spec 的問題,所以我發現 exim 試圖重新發送大附件很多天。(我認為可能是磁碟讀取的隨機錯誤或 AIDE 讀取 AIDE 數據庫的方式)。AIDE 的 db_spec 錯誤意味著數據庫是空的(但實際上不是)。AIDE 沒有完成腳本並導致腳本發送大附件(沒有來自 aide.conf 的任何過濾器),因此 exim 在重試發送帶有大附件的電子郵件時遇到了麻煩,並且卡住了很多天。因此,我發現它位於 exim 郵件輸入文件夾之一中。手動清除輸入文件夾和垃圾郵件,它就消失了:

service exim stop
rm -fvr /var/spool/exim/input
service exim restart

引用自:https://serverfault.com/questions/1024124