作者 主題: 關於 Postfix ,不設定sasl_auth 認證,也可偽造成內部發信者發信的問題..  (閱讀 6047 次)

0 會員 與 1 訪客 正在閱讀本文。

bruce_wu

  • 憂鬱的高中生
  • ***
  • 文章數: 91
    • 檢視個人資料
目前使用 postfix + dovecot 架設 Mail Service

posfix 也設定了使用  sasl_auth 認證 寄信

且也也禁止了非認可的位置  Relay 信件

到這裡都沒問題 使用 Outlook 要透過這台 Mail Server 寄信到 該 Mail Server Domain 以外的收件者時 必須要設定「我的伺服器需要認證」,才能信信件寄出

但問題來了,當我不啟用 「我的伺服器需要認證」,我可以寄信給這台伺服器內的其他收件者

但這麼一來就有漏洞了,廣告信件可以鑽這一個漏洞偽造城內部的發信者,發信給內部的用戶,請問這一個問題該如何解決呢?謝謝!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
relay 跟 smtp in 是不一樣的。
這也是很多剛開始接觸 mail server 的朋友最常搞混亂的地方。

bruce_wu

  • 憂鬱的高中生
  • ***
  • 文章數: 91
    • 檢視個人資料
喔!

那麼我上訴所說的這一個漏洞該如何防範呢?

TKS!

movis

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
這種情況需要的是防垃圾信的機制,如Spamassassin...

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
呵。這不是漏洞啊。
smtp 協定是不需要 auth 的。

bruce_wu

  • 憂鬱的高中生
  • ***
  • 文章數: 91
    • 檢視個人資料
喔!其實我認定這樣就算漏洞囉!

因為我只要偽裝成為該SERVER DOMAIN的寄信者,就可以寄信給該MAIL SERVER上的所有用戶了

P.S1. 我的系統有裝 MailScanner + Spamassassin ,但效果是不錯,可是每天還是會約有5~10封檔不掉的,利用 WebMain 將廣告信宜給專門存檔廣告信的檔 後 ,給 Spamassassin  學習了,但這類行的廣告信每天還是都會有

P.S.2 透過 http://phorum.study-area.org/viewtopic.php?t=24898&highlight=ostfix+%E5%82%BB%E7%93%9C%E7%AF%87 中所提的部分
使用 smtpd_data_restrictions 來避免誤判率 透過 header-local 、header-auth 、header-remote 這三個檔案來增加 header 加以判斷,但這一端我有疑問:
A.當我本身透過這題機器來發送信件時,檔頭確實會多出
X-TeaTime-Auth-LOCAL: LOCAL
X-TeaTime-Auth-SASL: SASL
這兩項,所以沒問題
B.當我使用其他免費帳號寄信給這一台伺服器帳的使用者,檔頭會多出
X-TeaTime-Auth-LOCAL: LOCAL
X-TeaTime-Auth-SASL: SASL
X-TeaTime-Auth-NONE: NONE
這三項,那這樣就不對了,存別處寄來的信件怎麼也會有
X-TeaTime-Auth-LOCAL: LOCAL
X-TeaTime-Auth-SASL: SASL
這兩項呢?

那這樣不就有跟沒有一樣了嗎?
真是很疑惑!

感謝賜教!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
只要你的機器有接受 smtp ,不需要偽裝也能大搖大擺明目張膽的寄給你機器上所有帳號啊。

如果每一封進來的信都要密碼,
那一個新的客戶怎找你做生意?
先打電話問你密碼,再發信過來?
這個羅輯你先想清除,再看是否是 bug 。

我第一個回應已經指出:你對 relay 跟 smtp in 不清楚。

bruce_wu

  • 憂鬱的高中生
  • ***
  • 文章數: 91
    • 檢視個人資料
大大您所說的我清楚
1. relay 就是透過該伺服器,將信件轉寄到該伺服器以外的地方去
2. smtp in 就是進來的信件,基本上沒有設定檔掉的話,當然別人寄信到我的伺服器上的收件人,信件要收下來囉!

對於上述的 PS1 及 PS2  有較大的疑問,尤其是 2

anderson1127

  • 訪客
引述: "bruce_wu"
喔!其實我認定這樣就算漏洞囉!



這算漏洞!?  那全世界的Mail Server都是漏洞囉.....  :-?

說來說去,只能說你的認知是錯的, 要防SPAM 手法很多種, 去爬文吧!!

bruce_wu

  • 憂鬱的高中生
  • ***
  • 文章數: 91
    • 檢視個人資料
感謝賜教!

但我目前問題來了!

1.我自己架設的 Mail Service 假設有一帳號為 bruce@xxx.xxx
  當我從外部任何一處使用 Outlook不設定 「我的伺服器需要認證」
   狀況:a. 寄信改不同網域的用戶 假設為 jack@yyy.yyy
               信件會寄不出去,這想的通,有設定 sasl_auth 認證 寄信
                    將「我的伺服器需要認證」設定上後即可寄出。
               
                b. 寄信同網域的用戶 假設為  simon@xxx.xxx
                「我的伺服器需要認證」是沒有打勾(沒使用)的喔
                信件可以正常寄出 (也就是說我只要有內部的人員名單)
                     那我就可以寄信給他們囉!

所以有辦法讓 狀況 B 也是要勾選 「我的伺服器需要認證」才讓信件可以寄出

anderson1127

  • 訪客
引述: "bruce_wu"


所以有辦法讓 狀況 B 也是要勾選 「我的伺服器需要認證」才讓信件可以寄出


抱歉!! 沒有辦法 , 因為沒有一台SMTP Server會去拒絕寄進來的信 !!

目前只有往外寄信,才會要求 「我的伺服器需要認證」 !!

如果你認為真的不妥 , 行 !! Postfix source code is always opened for you !!

自己改吧!!

不然,到Postfix 去查看Document吧!!

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5394
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
看起來像是在說:

如果寄信的 email 是自己人, 要寄給自己人時, 要認證才能寄出.
如果寄信的 email 不是自己人, 要寄給自己人時, 是不用認證就可以寄. (如果這個也要認證... 那回到上頭有人提的, 如果是新的客戶要寄信給你們時, 是不是要先打個電話跟你們要認證的方式才可以寄? 這與目前 email 的運作不相容, 你必須開發新的系統來用... 且... 每個要寄信給你們的人都要用這個系統才可以)

你如果不覺得這個邏輯有問題. 那... 去把 postfix 文件看仔細一點吧. postfix 本身就應該可以做出類似的設定.

PS. 我記得這之前有人問題, 我也說過方法, 在這邊翻一下舊文章應該看的到. 只是... 如果那天有那個大頭, 出差在外, 使用外頭的 smtp 伺服器寄信給公司員工, 卻寄不進去時, 不知道會不會發生什麼事.

tcwy

  • 憂鬱的高中生
  • ***
  • 文章數: 93
  • 性別: 男
    • 檢視個人資料
有人要 辣正 了