iT邦幫忙

0

限制外網寄信

觀念有點混亂了,所以來請教一下。
有台 mail server 躲在防火牆後面,運作一直蠻順的,只是之前一直被人嚐試從外網連進來寄信,請問要如何修改,才能禁止從外網來收發信,只允許從內網利用 mail client 來收發信。
這台主機上也架有 web 版的 mail client,讓外網的人可以利用這個介面來收發信。

謝謝!

zyman2008 iT邦大師 6 級 ‧ 2018-06-15 13:47:59 檢舉
你這台mail server只給員工收發信件用, 還是也兼著當Internet inbound SMTP server ?
canchang iT邦新手 4 級 ‧ 2018-06-15 16:42:23 檢舉
如果我沒有會意錯的話,這台同時也是 Internet inbound SMTP server。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
msnman
iT邦研究生 1 級 ‧ 2018-06-15 14:07:14

mynetworks_style = host >>>只能由內網寄信,外網寄信只能寄給本機帳號,無法轉寄。
mynetworks = /etc/postfix/access >>>允許寄信的IP或網段加入access的最後面
pop收信都要驗證,所以只要帳號密碼OK,就不容易被存取。如果不想讓外網存取,就直接在IPtables擋本機連到外網的IP的110port。
web方式發EMAIL最好還是關閉,因為WEB登入發信,等於是本機發信,沒辦法擋。

看更多先前的回應...收起先前的回應...
canchang iT邦新手 4 級 ‧ 2018-06-15 16:56:37 檢舉

他們的設定
mynetworks_style 沒有設定
mynetworks = 127.0.0.1, 192.168.0.0/16
另外有 WEB 介面允許從外部收發信。
現在的困境是因為有看到有人進外部試圖連進來發信,不知道是否有辦法阻隔這件事,不允許從外部不論是直接 telnet 25 port 來發信,或是使用 mail client 來發信。

另外,就我認知,以上兩條設定,就 POSTFIX 的說明,如果設定了 networks 就會忽略 networks_style,不知道是否有誤。
謝謝!

msnman iT邦研究生 1 級 ‧ 2018-06-15 17:03:43 檢舉

最主要因素在於你的WEB介面,一旦有一個人的帳號被攻破,整台主機就被人轉寄垃圾信。你防火牆可以使用DNAT改用別的PORT登入WEB可能比較安全,而且要登入本機443PORT加密。再觀察看看有沒有被TEST。

comhlp iT邦新手 4 級 ‧ 2018-06-15 17:42:56 檢舉

我無記錯的話 透過網頁寄件 SENDER IP 判斷為該網頁的伺服器,所以只要把SMTP_RELAY 只開放該IP及POSTFIX自身就夠了, 如果公司內有人要用其它MAIL CLIENT 去收MAIL才需要加內聯網段

msnman iT邦研究生 1 級 ‧ 2018-06-15 22:55:47 檢舉

問題就出在你外網的員工可以透過WEB上網收發信。

0
comhlp
iT邦新手 4 級 ‧ 2018-06-15 15:19:32

先講講你的MAIL SERVER 是啥? POSTFIX? EXHANGE? DOMINO? 如ZYMAN所講這台MAIL SERVER 是否兼當Internet inbound SMTP server, 如是..靠FIREWALL解決就比較難 如不是兼當Internet inbound SMTP server,
FIREWALL SET條RULE就解決了,

NOT ALLOW SMTP FROM WAN TO LAN

看更多先前的回應...收起先前的回應...
canchang iT邦新手 4 級 ‧ 2018-06-15 16:43:17 檢舉

不好意思,沒說清楚,這台是 POSTFIX 。
同時也是 Internet inbound SMTP server。
謝謝!

comhlp iT邦新手 4 級 ‧ 2018-06-15 17:11:45 檢舉

基本就把SMTP RELAY 設成不同模式(如指定IP RANGE)(最好關掉,即只有HOST)

然後設寄件者WHITE LIST 把公司所有的電郵帳號加進白名單中 設定方法GOOGLE搜一下就有 除了這兩個設定 其它就不要想太多了...SET得太安全又會變成什麼郵件也收不到.....

還有一個方法 我不知道你的POSTFIX是直接用EXTERNAL IP 還是 用IP MAPPING的方法建立, 如後者可考慮

給這台MAIL SERVER 設兩個假IP(A & B) SMTP INBOUND就 MAP去 A IP

然後內聯的人就用B IP作SMTP SERVER

SMTP RELAY ALLOW B IP ONLY

如果你防火牆有MAIL PROTETCION的功能 其實也遠比以上的方法快捷方便...只是通常有這功能的都價值不非

comhlp iT邦新手 4 級 ‧ 2018-06-15 17:28:34 檢舉

當然A 跟 B的SNAT 也要指向同一1EXTERNAL IP

canchang iT邦新手 4 級 ‧ 2018-06-18 21:43:25 檢舉

不好意思,有點迷糊了。
networks = 127.0.0.1, 192.168.0.0/16
是否代表只會幫這兩個「網段」轉信?如果從外部 telnet 25 port 進來可以發信,是否表示是因為 127.0.0.1 的關係,我只是確認一下。
有沒有辦法擋住從外網 telnet 25 port 進來?
另外如果主機設兩個 IP,一個給內網用,一個給外網用,但是外網那個不加進 networks 的設定裡,然後只要對外去 SNAT ,是否就可以擋住外面進來發信?對內的 IP 應該可以不用 SNAT 外部的 IP 吧?

comhlp iT邦新手 4 級 ‧ 2018-06-19 11:02:03 檢舉

POSTFIX會被當成JUNK MAIL MACHINE,通常有兩個途徑, 一就是透過SMTP_RELAY功能 用其它MAIL CLIENT/SCRIPT 發出JUNK MAIL, 通常這個可以靠調整一些authentication / RESTRICTION 去解決, 第二種比較難解決,就是透過遠端登入模仿成DOMAIN成員再由HOST本身發出,進入時未必是使用25 PORT,尤其你本身支援WEB MAIL,因為MAIL由HOST本身發出,AUTH機制上會有盲點, 所以如果你HOST上本身設兩個IP 就可以控制出入 A IP負責接入及回應的(出), B IP就負責內到外的寄出,但由於很多大企業SMTP SERVER都會AUDIT SMTP發出的來源IP,所以才需要用SNAT,如果你B IP不做SNAT 根本就過不了對家SMTP的AUDIT / 當然如果你全公司SERVER 都是用同一EXTENAL IP外接的話就沒有這個需要......

127.0.0.1 是指HOST本身 人家TELNET進來不關這個事

基本上你暫時設好SENDER 的白名單應該可以止痛一下

始終SMTP是一個開放的端口 你不能阻止人來"摸" 你只能阻止人家不能"摸進來"

但老實說 以現今世界的SPAM MAIL量 一間中小企要自己HOSTMAIL SERVER 實在吃力不討好

canchang iT邦新手 4 級 ‧ 2018-06-19 13:57:09 檢舉

「127.0.0.1 是指HOST本身 人家TELNET進來不關這個事」這個我知道,如果只打算以 WEB 介面來提供服務的話,則只要設定這個就好了,對吧?
「始終SMTP是一個開放的端口 你不能阻止人來"摸" 你只能阻止人家不能"摸進來"」現在苦惱的就是這個,所以意思是,沒有辦法阻止外網 telnet 25 port ,只能在帳號認證上下手?
另外,針對您提出的一個辦法很好奇,就是內外 IP,如果原本的 192.168.0.0/16 改成 192.168.1.0/24 ,然後對內 IP 設成 192.168.1.25,然後對外 IP 設成 192.168.2.25 ,然後由對外 IP 去做 SNAT ,這樣可行嗎?是否可以再擋掉一些 mail 呢?

comhlp iT邦新手 4 級 ‧ 2018-06-19 16:14:25 檢舉

對外對內兩個IP也要做SNAT 因為對家SMTP反解你的SMTP SERVER的DOMIAN NAME 如發現跟你MX RECORD不同的IP 就不跟你溝通了或判斷你為JUNK, 分開兩個IP做 防火牆就可多做一點東西 也比較容易監控 ...

如有資源,你乾脆分開兩台SERVER 一台只做SMTP OUT, RELAY FOR LAN ONLY ,本來那台POSTFIX只FOR INBOUND,RELAY FOR HOST ONLY, 然後 BLOCK ALL SENDER, WEB PORTAL 改一改 SMTP REDIRECT去SMTP OUT 那台, FORCE 兩台MAIL SERVER 一定要THROUGH GATEWAY (FIREWALL) 溝通, (不同網段即可)

那你就可以用FIREWALL把SMTP OUT ONLY 那台設成由外對內不能摸的狀態
甚或你可以監控兩台SERVER的連線 中間再用FIREWALL做攔截

分開兩台SERVER做 STEP比較麻煩 但相對清析一點 而且比較容易ROLL BACK

comhlp iT邦新手 4 級 ‧ 2018-06-19 16:37:43 檢舉

分開兩台做應該是最切底的了 假設A SERVER 負責INBOUND MAIL, B SERVER負責SMTP OUT, WAN TO B 及 A TO B之間的連線可以靠FIREWALL來保護, 那你擔心就只有A 台被利用 SEND OUT, 因為A台必需對外的SMTP PACKET 有回應 所以不能用FIREWALL BLOCK TCP PORT 25, 那你可以透過POSTFIX本身的SMTP RESTRICTION, FILTERING的調控來阻止A台自身發出MAIL, 萬一還是控制不了, 還有一個最後手段 (但這個我未試過) 要其它POSTFIX的高手指正, 我記得POSTFIX 寄出MAIL前應該要CACHE在某一個FOLDER , MAIL QUEUE之類,必要時你把這個FOLDER的權限改一改, A機就不會發出任何MAIL了

canchang iT邦新手 4 級 ‧ 2018-06-19 17:28:09 檢舉

謝謝!
再來思考一下怎麼調整。

canchang iT邦新手 4 級 ‧ 2018-06-20 22:41:44 檢舉

不好意思,最後再問一次問題。
如果 networks = 127.0.0.1 的話,是否代表只接受本機寄信,不接受外部使用 mail client 寄信?
另外,如果這樣設定,如果是 telnet 25 port 進來的,還是會幫忙寄信嗎?
因為己經迷糊了。

comhlp iT邦新手 4 級 ‧ 2018-06-21 16:07:23 檢舉

TELNET 25 PORT進來 寄信就= HOST自身發出 所以還是會"寄"

0
nicelink001
iT邦新手 4 級 ‧ 2018-06-19 10:52:46

看資訊應該是可以由外部寄信進來,所以 SMTP 有開 ,所以外部利用SMTP 寄信是正常的。
然而收信只能用 web及 內部收信。
開門做生意,不開 port 是不可能的,除非在前面加個 proxy 擋信除了內部 domain 以外都 拒收。

canchang iT邦新手 4 級 ‧ 2018-06-19 11:27:53 檢舉

現在想達成的目標是:內部可以用 mail client 收發信,外部只能利用 web 介面收發信,外部無法直接 telnet 25 port 進到 mail server 。
不知道要怎麼修改設定來達成以上三項目標?特別是最後一項。

通常是安裝 SPAM 讓外面連 (proxy) , 確定是內部信再轉寄到 mail server , 內部直連 mail server 寄信 (建議加 SSL ) , 外部 web 介面連 mail server 。

我要發表回答

立即登入回答