分享
 
 
 

Sendmail管理

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

# 版权宣告: 1999 Copyright OLS3 All rights reserved.

# 作者: OLS3 (卧龙小三)

# 本讲义仅供台南县 87 学年度网路管理进阶研习班上课之用.

# 学员可保存一份自用, 供日後网管时参考备查.

# 作者保有一切形式的着作权.

# 欲作其它用途者, 需经作者授权同意.

# 未经作者授权同意之前, 请勿转载刊登.

Sendmail 的设定

一. 8.8.x 版本的设法

RedHat 安装完成之後, sendmail 已大致上就绪, 只要再加点修改, 便可以开始运作.

对於 Mail Server 而言, 最重要的工作是:

能正常送信收信.

避免当垃圾信件的中继站.

避免 root 被 mail bomb 攻击.

第 1 个目标应该没问题, 以下将针对第 2 和第 3 个目标进行说明.

◎ 防止 SPAM 的几个主要的设定档都在 /etc/mail 目录中.

共有几个重要的档案, 您必须以 root 身份来修改才行.

deny 记录哪些邮址将被拒绝收件, 格式如下

邮件位址

错误代码

错误讯息

mskuo@ms9.hinet.net 550 REJECT

修改之後, 需作成 deny.db 资料库档, 才能生效.

ip_allow 哪些 ip 位址的机器可以使用本机来 relay您可以将贵校 domain IP 放进来, 例如:

163.26.167第四位数字不加, 表示 167 这个 C class 的所有 IP 机器都可以用这部 mail server 来 relay 信件.

通常设这个档案会比较方便且安全!!!

原文: file containing IP numbers of machines which can use our relay

设了 ip, 则不管那个网域都能 relay to !!

name_allow 哪些网域名称可以使用本机来 relay?!

原文: file containing names of machines which can use our relay

若是设网址, 即 relay_allow 也要设定那些网域可以被允许送件过去!!

relay_allow 哪些机器或网域允许由本机来送达?!

原文: file containing names we relay to

◎ 修改 deny 档之後, 如何作成 deny.db 档呢? 方法如下:

makemap

hash

deny

< /etc/mail/deny

指令

资料档型态

资料库档名

原始ASCII设定档名

请 man 一下 makemap 指令, 大略看一下其说明.

◎ 上述四个档案修改之後, 必须先停止 sendmail 的运作(stop), 再重新启动 sendmail(start), 如此修改才会生效. Sendmail 若只是下 kill -HUP pid , 是不行的喔!

操作的方法如下:

/etc/rc.d/init.d/sendmail stop

此时, 会出现 sendmail 停止运作的讯息.

/etc/rc.d/init.d/sendmail start

此时, 会出现 sendmail 重新启动的讯息.

於是, 刚刚的修改正式生效.

您可以开始发几封 email 来测试一下, 是否能照您设限的方式运作?!

◎ 修改 /etc/aliases, 以防止 root 帐号被人用 Mail bomb 攻击.

1. 增加一位仅具普通权限的 user, 如 rletter. 此 user 受 quota 的限制.

2. 在 /etc/aliases 中加入:

root:

rletter

则 mail 给 root 的 email 都会转给 rletter, 因为 rletter 是普通 user, 受 quota 的限制, 所以 root 便不怕被人用巨量的 mail bomb 攻击.

修改完 /etc/aliases 之後, 记得要执行一次 newaliases.

以下是 mail 给 root 的情形, 但却是由 rletter 收的 head 表:

Return-Path:

Received: from win95.ols3.com.tw ([203.68.102.145])

by test3.tnc.edu.tw (8.8.7/8.8.7) with SMTP id VAA03296

for ; Thu, 15 Jul 1999 21:19:46 +0800

Message-ID: <002301becec5$4e97c140$0236a8c0@ols3.com.tw>

From: "webmaster"

To:

Subject: test aliases

Date: Thu, 15 Jul 1999 21:23:56 +0800

MIME-Version: 1.0

Content-Type: text/plain;

charset="big5"

Content-Transfer-Encoding: 7bit

X-Priority: 3

X-MSMail-Priority: Normal

X-Mailer: Microsoft Outlook Express 5.00.2014.211

X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211

Status:

以下是被拒绝收信的情形:

The original message was received at Thu, 15 Jul 1999 20:38:07 +0800 (CST)

from h150.s188.ts32.hinet.net [163.32.188.150]

----- The following addresses had permanent fatal errors -----

----- Transcript of session follows -----

... while talking to test3.tnc.edu.tw.:

>>> MAIL From: SIZE=158 BODY=8BITMIME

<<< 550 ... REJECT (这就是您在 /etc/deny 中设定的)

^^^^^ ^^^^^^^^

554 ... Service unavailable

----- Original message follows -----

Return-Path:

Received: from win95.ols3.com.tw (h150.s188.ts32.hinet.net [163.32.188.150])

by ms9.hinet.net (8.8.8/8.8.8) with SMTP id UAA13416

for ; Thu, 15 Jul 1999 20:38:07 +0800 (CST)

Message-ID: <001301becebe$21d26fe0$0236a8c0@ols3.com.tw>

From: "OLS3"

To:

Subject: test

Date: Thu, 15 Jul 1999 20:32:36 +0800

MIME-Version: 1.0

Content-Type: text/plain;

charset="big5"

Content-Transfer-Encoding: 8bit

X-Priority: 3

X-MSMail-Priority: Normal

X-Mailer: Microsoft Outlook Express 5.00.2014.211

X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211

test deny.db 的功用.

OLS3

二. 8.9.1 及 8.9.2 的设定:

三. 8.9.3 版本的设定:

控制档:

8.9.3 的设定档有点不同: 主要控制档是 /etc/mail/access.

设定方法:

这个版本预设值是不 relay 任何信件的. 因此, 您应该将自己的网址加入 /etc/mail/access 这个档案.

把允许经由你这台主机 relay 的 domain 设定进去即可.

格式如下:

domain

RELAY

例:

jmjh.tnc.edu.tw

RELAY

那麽

jmjh.tnc.edu.tw 这个网域主机即可使用本机来 relay 信件.

若欲明确拒绝某一个网域的信件, 可以采用以下方式:

foo.com.tw

REJECT

foo.com.tw

550 We do not relay messages for you

设定完之後, 必须将 access 的设定内容转成资料库档才能使设定生效.

方法如下:

在 /etc/mail 目录中执行 make

它会将 ASCII 的设定内容转成 database 格式, 控 sendmail 读取.

当你执行 make 时, 其实, 它是按 Makefile 中的规则来处理的, 我们来看一下它的内容:

all: virtusertable.db access.db domaintable.db mailertable.db

%.db : %

@makemap hash $@ < $<

clean:

@rm -f *.db *~

当设定档的时间日期比资料档还要新时(表示设定档有改变了), 才会产生新的资料档.

例子:

relay test 信件内容 , 红色数字编号表示解读信件传递的过程)

Return-Path:

Received: from hacker.ols3.com.tw (hacker.ols3.com.tw [192.168.54.88])

(4. 由 hacker 这台主机送信过来)

by ols3-note.ols3.com.tw (8.9.3/8.9.3) with ESMTP id LAA00648

(5. 由 ols3-note 这台主机收取)

for ; Sun, 18 Jul 1999 11:52:55 +0800

(6. 由 ols3@ols3-note.ols3.com.tw 这个人收到了)

Received: from win95.ols3.com.tw (win95.ols3.com.tw [192.168.54.2])

(1. 这封信是由 win95.ols3.com.tw 发出的)

by hacker.ols3.com.tw (8.9.3/8.9.3) with SMTP id LAA00982

(2.这封信由 hacker 这台主机收取)

for ; Sun, 18 Jul 1999 11:43:47 +0800

(3.这封信的收信人)

Message-ID: <005001bed0cf$1b97e660$0236a8c0@ols3.com.tw>

From: "OLS3"

To:

Subject: tst

Date: Sun, 18 Jul 1999 11:39:05 +0800

Organization:

MIME-Version: 1.0

Content-Type: text/plain;

charset="big5"

Content-Transfer-Encoding: 7bit

X-Priority: 3

X-MSMail-Priority: Normal

X-Mailer: Microsoft Outlook Express 5.00.2014.211

X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211

Status:

安全问题: 如何作匿名信件?

一位网管人员, 应该要知道最基本的搞怪技巧, 如此, 才能魔高一尺, 道高一丈.

方法如下:

1. 先 telnet 到某一台有跑 sendmail 主机, 并指定连上 port 号 25

telnet hacker.ols3.com.tw 25

该主机会回应自己的 hostname 及所使用的协定. 如下所示:

220 hacker.ols3.com.tw ESMTP Sendmail 8.9.3/8.9.3; Sun, 18 Jul 1999 15:37:13 +08 00

hacker 这台主机回应说它现在正跑 ESMTP (SMTP 的加强版), sendmail 的版本是 8.9.3

2. 伪造自己的 domain

helo fool.com.tw

该主机会回应欢迎的讯息, 如下所示:

250 hacker.ols3.com.tw Hello [192.168.54.4], pleased to me et you

3. 伪造发信人

mail from: jack@fool.com.tw

该主机会回应以下讯息, 表示发信人的位址被接受了.

250 jack@fool.com.tw... Sender ok

4. 指定收信人

rcpt to: ols3@hacker.ols3.com.tw

该主机会回应以下讯息, 表示收信人的位址被接受了.

250 ols3@hacker.ols3.com.tw... Recipient ok

5. 送出信件内容

送出信件内容之前, 应先通知对方:

data

该主机回应如下, 表示你可以开始送出信件内容, 信件结束时用 . 号档结尾符号

354 Enter mail, end with "." on a line by itself

Hi, this is a email test ...

.

该主机回应:

250 PAA01122 Message accepted for delivery

表示信件件已被接收了.

6. 离线

quit

以下是这封信的表头:

Return-Path:

Received: from fool.com.tw (ols3-note.ols3.com.tw [192.168.54.4])

^^^^^^^^^^^^^^^^^^^^^

by hacker.ols3.com.tw (8.9.3/8.9.3) with SMTP id PAA01122

for ols3; Sun, 18 Jul 1999 15:46:01 +0800

Date: Sun, 18 Jul 1999 15:46:01 +0800

From: jack@fool.com.tw

Message-Id: <199907180746.PAA01122@hacker.ols3.com.tw>

Status:

虽然寄信人可以伪造, 但 sendmail 还是会在 header 中记录下连线当时的主机IP,因此,

通常欲寄匿名信的人, 不会真的用他登录上线的那台机器, 他会找一台中继站台来当替死鬼.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有