限制某些使用者使用 smtp auth relay( For postfix)

通常而言,為了怕spam,smtp service是不提供relay的。
可是為了便利,smtp with SASL/TLS 已經成為一種基本的要求。

這樣只要使用者提供主機上的username/password,就可以利用該機器來relay信件。

不過有的時候,我們希望只讓某些人用smtp auth,或是只讓某些人從某些IP上來relay,或是不讓某些人用smtp auth……

作法:

main.cf:
smtpd_sender_restrictions = hash:/usr/local/etc/postfix/access

然後在/usr/local/etc/postfix/access下加入對應的access rule:
(這裡的user,並不是指mail From的user,而是指smtp auth的login user name,例如使用者pipperl,主機serv.idv.tw,信件From: spamuser123@abc.com.tw)

如:
/usr/local/etc/postfix/access:
pipperl@ REJECT sorry, we don’t provide smtp service for you

這樣一來,pipperl這個user就不能用smtp auth上來,然後用mail from: spamuser123@abc.com.tw 的信件來發spam了…..

如果有把mail帳號開給朋友(ex:pop3),又不想開smtp auth給他的話,可以參考看看……

最後記得下:
/usr/local/sbin/postmap access
/usr/local/sbin/postfix reload

就搞定了。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

%d 位部落客按了讚: