Ubuntu
阻止來自本地主機外部的 SMTP 連接
我有一個網站需要發送電子郵件以確認訂單並提醒訂閱使用者某些事件。出於任何其他原因,我不需要通過伺服器發送電子郵件,所以我想阻止本地主機之外的任何人甚至連接到埠 25 進行 SMTP。我試過這樣做:
sudo iptables -A INPUT -p tcp -s 0.0.0.0 --dport 25 -j DROP
但我仍然可以遠端登錄到埠 25 並從另一台電腦鍵入 SMTP 命令。我究竟做錯了什麼?另外,有沒有更好的方法來實現我想要的?澄清一下:我想要的是一台可以發送電子郵件(通過 SMTP)的機器,但只有那些來自機器上執行的腳本的機器。並且任何配置都必須通過重新啟動“生效”。
我在 Ubuntu (Hardy) 上使用 Postfix。
我認為,如果您不想接收來自外部的電子郵件,我認為更好的解決方案是在
master.cf
文件替換中準確地告訴 postfix:smtp inet n - n - - smtpd
這通常是第一個非註釋行,但您的里程可能會有所不同,具體取決於您擁有的後綴是否由您的供應商修改,其中:
127.0.0.1:smtp inet n - n - - smtpd
我相信你不想要這個
-s 0.0.0.0
條款。您只是拒絕來自 0.0.0.0 地址的訪問。你可能需要類似的東西:
sudo iptables -A INPUT -p tcp -s 127.0.0.0/8 --dport 25 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 25 -j DROP
這將接受來自本地主機的任何傳入連接(即來自環回範圍 - 127.0.0.1-127.255.255.255)並丟棄所有其他連接。