摘要:不光是用于產(chǎn)品向客戶的通知服務(wù)更多的是用在企業(yè)內(nèi)部的信息工具,比如我們就有等等非常多的開源工具,都需要配置來實現(xiàn)內(nèi)部信息的聯(lián)動。
背景
smtp 是一種常見的服務(wù),提供了程序自動化郵件外發(fā)的可能。不光是用于產(chǎn)品向客戶的通知服務(wù);更多的是用在企業(yè)內(nèi)部的信息工具,比如我們就有 sentry / confluence / zulip 等等非常多的開源工具,都需要配置 smtp 來實現(xiàn)內(nèi)部信息的聯(lián)動。
當前最簡單的郵箱使用方式是使用開放的郵箱服務(wù),比如現(xiàn)在很多小型企業(yè)在使用的企業(yè)郵箱,可以配置一個專門的賬號來提供發(fā)信服務(wù)。但是,這種方式存在非常大的安全隱患。
直接使用公開的賬號,很容易帶來安全問題:
自動化發(fā)信的程序需要用戶名和密碼,這些信息需要存儲在代碼或者配置中
有經(jīng)驗的程序員知道將敏感信息分離,并且存儲在代碼庫外;然而新員工,或者安全意識不強的同事很容易將這些信息入庫
更糟糕的是,即使三令五申,有些程序員還是會無意的把代碼放到 github 上,這些是公開可以訪問的
然后就炸了
當郵箱賬號一泄露(一般 smtp 賬號同樣能登陸郵件賬戶或者使用 pop3 協(xié)議),郵件里面隱藏的一些敏感信息(尤其是 confluence 的通知郵件)會帶來更多的泄露,嚴重的可能會影響到我們競選總統(tǒng)。
一種解決方案是,加強所謂的安全流程,同時通過一些工具來驗證輔助(比如大家都在做的 github 掃描),但這種方式過于被動,而且無法從根本上來解決問題。技術(shù)上的問題,還得尋求技術(shù)方案來解決。
解決方案其實傳統(tǒng)的工具就可以解決這個問題,我們就采用了 postfix 作 smtp 中轉(zhuǎn):
配置 postfix 作為 smtp replay 服務(wù),將發(fā)信方與真正的郵件服務(wù)器隔離開來
發(fā)信方與 postfix 使用公司內(nèi)部賬號(甚至無賬號)進行內(nèi)網(wǎng)通信,這樣即使賬號泄露,也無法用來登陸郵箱獲取信息;同時,由于 postfix 是內(nèi)部的服務(wù),可以更靈活的配置防火墻
postfix 和 smtp 服務(wù)之間仍然使用 smtp 賬號,但這里只有系統(tǒng)管理員才需要知道賬戶,相對安全。另外,還需要進行自動刪信,禁用 pop3,微信登陸等手段來加強,這個 163 郵箱,qq 郵箱都有不同的配置,請自行設(shè)置
說白了,就是靠代理解耦來解決問題。熟悉我們的人估計一看就明白,因為我們很多問題都是靠這種方式來解決。下面簡要描述下配置供參考。
sudo vim /etc/postfix/main.cf #####以下是main.cf配置內(nèi)容 relayhost = [$SMTP_HOST]:25 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous #配置重寫規(guī)則,強制修改發(fā)送郵件地址,防止smtp服務(wù)拒收郵件 ender_canonical_maps = pcre:/usr/local/etc/postfix/sender_canonical_map #####以上是main.cf配置內(nèi)容 sudo vim /etc/postfix/sender_canonical_map #####以下是main.cf配置內(nèi)容 /.*/ 發(fā)信smtp用戶名 #####以上是main.cf配置內(nèi)容 sudo vim /etc/postfix/sasl_passwd #####以下是sasl_passwd配置內(nèi)容 [$SMTP_HOST]:25 用戶名:密碼 #####以下是sasl_passwd配置內(nèi)容 sudo postmap /etc/postfix/sasl_passwd sudo service postfix resart # done自動化集成
添加自己的 smtp 中轉(zhuǎn)服務(wù),還可以配置無賬號登陸的方式,這樣在命令行中調(diào)用服務(wù)將更加簡單,這也是我們搭建 postfix 的另外一個原因。這里介紹兩種方式:
1、通過 curl 命令發(fā)送郵件最新版的 curl 命令支持 smtp / smtps , 不過發(fā)型版自帶的比較老,需要自己下載最新版本進行編譯安裝,使用的話相對簡單。
/usr/local/bin/curl -s -v --url "smtp://xxxx:25" --mail-from "[email protected]" --mail-rcpt "[email protected]" --upload-file mail.txt # content of mail.txt From:[email protected] To:[email protected] Subject: curl發(fā)送郵件標題 xxxxx2、通過傳統(tǒng)的mailx命令來發(fā)送郵件
其實依舊是相對傳統(tǒng)的命令,比如 mailx 就能滿足我們的需要。不過安裝起來略顯麻煩,需要在每個發(fā)行版找各自合適的包,比如 ubuntu 就應該安裝 heirloom-mailx ,使用起來則更加簡單:
echo "test" |mail -S smtp=xxxx -r [email protected] -s subject [email protected]
上面一條命令就可以將信息通過郵件進行發(fā)送。
我們更加傾向于采用第二種,因為比較簡單:這使得我們在大量的腳本中能很方便的集成郵件通知功能。
本文描述了通過 postfix 做 smtp relay 的方式來解決賬號泄露的風險,這也再一次驗證了兩點:
代理是王道,幫懶人快速解決問題。
技術(shù)遇到的問題必須用技術(shù)來解決,這比所謂的架構(gòu) / 流程要靠譜的多。
陸文,豈安科技聯(lián)合創(chuàng)始人,首席產(chǎn)品技術(shù)官
曾擔任PayPal資深高級工程師。參與豈安科技所有產(chǎn)品線的架構(gòu)和設(shè)計,帶領(lǐng)團隊在數(shù)據(jù)挖掘、多媒體分析、跨數(shù)據(jù)中心分布式系統(tǒng)、高性能實時大數(shù)據(jù)計算、海量數(shù)據(jù)采集等領(lǐng)域進行前沿研究和產(chǎn)品化,推動豈安成為國內(nèi)領(lǐng)先的大數(shù)據(jù)解決方案提供商。
反爬蟲
來源:www.bigsec.com
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40622.html
摘要:阿里云服務(wù)器支持全球多個地區(qū)節(jié)點,可支持小型電商的出海業(yè)務(wù),云產(chǎn)品隨時升級擴容,輕松應對高并發(fā),負載均衡一鍵搭建方便靈活,實時防攻擊。為電商企業(yè)保駕護航。? ? ? ?適用于初創(chuàng)電商公司快速搭建平臺,例如電商網(wǎng)站/APP/電子商城,能輕松承受約5~30萬的日均訪問量,支持約300-3000單/天的有效成單量。阿里云服務(wù)器ECS支持全球多個地區(qū)節(jié)點,可支持小型電商的出海業(yè)務(wù),云產(chǎn)品隨時升級擴容...
摘要:合規(guī)在像美國這樣對證券和投資有著嚴格監(jiān)管的國家尤其重要。在美國,需獲得和其他監(jiān)管機構(gòu)批準的許可。的應用領(lǐng)域資產(chǎn)證券化作為發(fā)展的一個主要拓展點,未來如何能夠成為落地應用是關(guān)鍵節(jié)點。從具體應用領(lǐng)域來看,對資產(chǎn)證券化行業(yè)帶來了許多的變化。 ??近期的區(qū)塊鏈金融創(chuàng)新領(lǐng)域,各種投資手段頻頻上場。風靡一時的穩(wěn)定幣還沒有火爆太長時間,STO便橫空出世,占據(jù)了各大頭條的眼球。幾乎在一瞬間,STO成為區(qū)...
閱讀 2666·2021-09-09 09:33
閱讀 2821·2019-08-30 15:54
閱讀 2879·2019-08-30 14:21
閱讀 2366·2019-08-29 17:15
閱讀 3591·2019-08-29 16:13
閱讀 2770·2019-08-29 14:21
閱讀 3435·2019-08-26 13:25
閱讀 2036·2019-08-26 12:14