Postfix

SELinux 正在阻止從 Amavis 回到自身的連接:無法進出?

  • January 2, 2020

在這裡執行一個全新的 CentOS8 安裝,MTA 是連接了 Amavis 的 Postfix。我想讓 Amavis 在(內部)DKIM 簽名後將來自 ORIGINATING 的消息(從埠 587/Postfix 到 10026/Amavis 的傳入送出)注入 Amavis(埠 10024) . 但是埠 10024 已經被分配用於監聽來自 25/Postfix 的傳入 smtp 連接,所以我不能將它添加為 SELinux 配置中的發送埠。

消息流:

  • 25/smtp -> 後綴 -> smtp-amavis/10024
  • 10024 -> Amavis:掃描 -> 10025
  • 10025 -> 後綴 -> 傳遞
  • 587/送出 -> 後綴 -> smtp-amavis/10026
  • 10026 -> Amavis 發起:掃描和 DKIM 標誌 -> smtp-amavis/10024

我遇到的問題是 SELinux 不允許我在埠 10024(Amavis 到 Amavis)將來自最後一個流的消息回饋到 smtp-amavis,因為該埠已被分配用於接收:

[root@services amavisd]# semanage port -l | grep 1002
amavisd_recv_port_t            tcp      10026, 10024
amavisd_send_port_t            tcp      10027, 10025
spamd_port_t                   tcp      783, 10026, 10027

有趣的是,當我分別添加到 amavisd_recv_port_t 和 amavisd_send_port_t 時,SELinux 並沒有抱怨埠 10026、10027 已經分配給 spamd:

[root@services amavisd]# semanage port -lC
SELinux Port Type              Proto    Port Number
amavisd_recv_port_t            tcp      10026
amavisd_send_port_t            tcp      10027

我怎樣才能解決這個問題?因為 SELinux 也不允許我添加 10024 作為發送埠:

[root@services amavisd]# semanage port -a -t amavisd_send_port_t -p tcp 10024
ValueError: Port tcp/10024 already defined

還是我完全走錯了路,並且送出的消息根本不應該通過埠 10024 回饋到 Amavis(這使得這是一個 Amavis 而不是 SELinux 問題)?最初,Amavis 配置將送出的消息轉發到埠 10027 以供 OpenDKIM 進行(外部)DKIM 簽名,如您在此處看到的:

# forward to a smtpd service providing DKIM signing service
#forward_method => 'smtp:[127.0.0.1]:10027',
forward_method => 'smtp:[127.0.0.1]:10024',

所以最後一個流程最初是:

  • 10026 -> Amavis 發起:掃描 -> OpenDKIM@10027:簽名 -> 傳遞

但是 OpenDKIM 還不能用於 CentOS8(以前是通過 EPEL 儲存庫),而且 Amavis 現在支持我正在嘗試使用的內部 DKIM 簽名服務。

所以我看到有兩種方法:

  • 配置 SELinux,以便它可以將來自送出流的 DKIM 簽名消息送回基本的 smtp 流(假設這個有點循環的設置有效)
  • 保留原始的 Amavis 配置,這意味著必須在埠 10027 後面有一個服務來傳遞傳出(即送出的)消息

走哪條路,怎麼做?

事實證明,我監督了最明顯的解決方案(遵循不正確的線上配方):將 Amavis ORIGINATING 流送回埠 10025 以通過 Postfix 傳遞(從而在 Amavis 單獨處理後匯集 25/smtp 和 587/submission 流)。這也規避了 SELinux 問題,因為不再需要將來自 Amavis 的消息回饋給自身。

所以整個方案現在看起來像這樣:

  • 25/smtp -> 後綴 -> smtp-amavis/10024
  • 10024 -> Amavis:掃描 -> 10025
  • 10025 -> 後綴 -> 傳遞
  • 587/送出 -> 後綴 -> smtp-amavis/10026
  • 10026 -> Amavis 發起:掃描和 DKIM 標誌 -> 10025

引用自:https://unix.stackexchange.com/questions/559839