国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

信息安全的保證 如何捕獲用戶的Email
2007-06-21   

一、 環境
公司的Internet郵件系統是Exchange 5.5,考慮到NT和exchange的安全性,系統并非直接連Internet,而是放置在局域網內,通過一臺SMTP轉發主機(雙網卡,連內外網段)往外轉發郵件。同時,通過DNS中MX記錄的設定,外界發給公司用戶的郵件也是通過該SMTP轉發主機往exchange轉。該SMTP轉發主機操作系統用FreeBSD 4.3-Release,郵件系統用Postfix release-20010228 + patch1、2、3。
二、 需求
如何才能捕獲用戶的郵件?既公司用戶往外發的郵件和發往公司用戶的郵件能不留痕跡的給自己轉一份。我看了看Exchange 5.5、Postfix的配置文檔,好像沒有這方面的設置(如果有誰知道有,告訴我一聲,謝謝!)。好在postfix公開源代碼,雖然我不是程序員,但大學時期學的C還沒丟光。便從www.postfix.org 下載了release-20010228及其patch1、2、3,試著修改源代碼了。
三、 修改
環境是在FreeBSD 4.3-Release下(linux下應該也沒問題)。首先將release-20010228.tar.gz上載到系統的某個目錄下。運行:

# tar zxvf release-20010228
將在當前目錄下生成release-20010228目錄,將patch上載到該目錄下,運行:
# patch < postfix-20010228-patch01.gz
# patch < postfix-20010228-patch02.gz
# patch < postfix-20010228-patch03.gz
A、 進入src/pickup目錄,用vi打開pickup.c,搜索copy_segment,找到copy_segment這個函數,在int check_first = (*expected == REC_TYPE_CONTENT[0]); 后加入一個變量申明:VSTRING *spy;
往下10幾行,看到:
if (type == REC_TYPE_RCPT)
if (info->rcpt == 0)
info->rcpt = mystrdup(vstring_str(buf));
將其改成:
if (type == REC_TYPE_RCPT)
if (info->rcpt == 0)
{
info->rcpt = mystrdup(vstring_str(buf));
spy = vstring_alloc(20);
vstring_strcpy(spy, "xxx@xxx.xxx"); /* 將 xxx@xxx.xxx 加入接收者列表 */
REC_PUT_BUF(cleanup, type, spy);
vstring_free(spy);
}
B、 進入src/smtpd目錄,用vi打開smtpd.c,搜索rcpt_cmd,找到rcpt_cmd這個函數,往下走三十來行,看到:
state->rcpt_count++;
if (state->recipient == 0)
state->recipient = mystrdup(argv[2].strval);
將其改成:
state->rcpt_count++;
if (state->recipient == 0)
{
state->recipient = mystrdup(argv[2].strval);
rec_fputs(state->cleanup, REC_TYPE_RCPT, "xxx@xxx.xxx");
state->rcpt_count++;
}
然后退回到release-20010228目錄下,運行make; make install重新編譯、安裝即可。
◆A處的修改是postfix郵件系統的本地用戶發送接收郵件,都將在recipient里插入一個接收者xxx@xxx.xxx,實際上用處不大,因為現在沒有誰會在UNIX終端下用mail來發送郵件。
◆B處的修改是凡是通過smtp協議轉來或轉走的郵件,都在recipient里插入一個接收者 xxx@xxx.xxx,在上述環境中,該處的修改是關鍵。
這樣,只要是經過該postfix處理的郵件,xxx@xxx.xxx都能收到一份!
四、 備注
1、 上面所做的修改,郵件接收者不會在收件人一欄里看到 xxx@xxx.xxx這個賬號
2、 請先估計一下postfix每天處理的郵件的流量,以防監控郵箱爆了。在上面的例子中,我用了一個50M的郵箱,半天就給擠爆了!然后給每個發件人一封信,說xxx@xxx.xxx 已滿,當時把我嚇壞了,趕緊將郵箱擴容到500M。(切記!!!)
3、 代碼中msg_info函數是日志記錄函數,可以根據自己的需求定制。


熱詞搜索:

上一篇:Linux文件權限隱藏的細節深入分析
下一篇:菜鳥學習Linux基礎:文件安全與權限

分享到: 收藏
主站蜘蛛池模板: 海伦市| 景德镇市| 茂名市| 松江区| 衢州市| 鹰潭市| 高雄县| 洮南市| 封开县| 嘉定区| 云安县| 奎屯市| 贡嘎县| 堆龙德庆县| 海南省| 永宁县| 枞阳县| 郯城县| 南昌县| 西充县| 安平县| 新沂市| 冀州市| 孟津县| 项城市| 阳春市| 东莞市| 鄂托克旗| 宿松县| 沙田区| 黄冈市| 沭阳县| 阿巴嘎旗| 道真| 南京市| 龙川县| 桂林市| 黔西县| 华亭县| 瑞金市| 黄山市|