Sendmail的设定 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- Sendmail的设定 (http://www.webasp.net/article/12/11084.htm) |
| -- 作者:未知 -- 发布日期: 2004-06-11 |
|
Sendmail 的设定 一. 8.8.x 版本的设法 RedHat 安装完成之後, sendmail 已大致上就绪, 只要再加点修改, 便可以开始运作. 对於 Mail Server 而言, 最重要的工作是: 能正常送信收信. ◎ 防止 SPAM 的几个主要的设定档都在 /etc/mail 目录中. 共有几个重要的档案, 您必须以 root 身份来修改才行. deny 记录哪些邮址将被拒绝收件, 格式如下 修改之後, 需作成 deny.db 资料库档, 才能生效. ip_allow 哪些 ip 位址的机器可以使用本机来 relay您可以将贵校 domain IP 放进来, 例如: 原文: 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 哪些机器或网域允许由本机来送达?! 原文: file containing names we relay to
makemap hash deny < /etc/mail/deny 请 man 一下 makemap 指令, 大略看一下其说明. ◎ 上述四个档案修改之後, 必须先停止 sendmail 的运作(stop), 再重新启动 sendmail(start), 操作的方法如下: /etc/rc.d/init.d/sendmail stop /etc/rc.d/init.d/sendmail start 於是, 刚刚的修改正式生效. ◎ 修改 /etc/aliases, 以防止 root 帐号被人用 Mail bomb 攻击. 1. 增加一位仅具普通权限的 user, 如 rletter. 此 user 受 quota 的限制. 2. 在 /etc/aliases 中加入: root: rletter 则 mail 给 root 的 email 都会转给 rletter, 因为 rletter 是普通 user, 受 quota 修改完 /etc/aliases 之後, 记得要执行一次 newaliases. 以下是 mail 给 root 的情形, 但却是由 rletter 收的 head 表: Return-Path: 以下是被拒绝收信的情形: ----- The following addresses had permanent fatal errors -----
----- Original message follows ----- Return-Path: 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 当你执行 make 时, 其实, 它是按 Makefile 中的规则来处理的, 我们来看一下它的内容: all: virtusertable.db access.db domaintable.db mailertable.db %.db : %
当设定档的时间日期比资料档还要新时(表示设定档有改变了), 才会产生新的资料档.
relay test 信件内容 , 红色数字编号表示解读信件传递的过程) Return-Path:
安全问题: 如何作匿名信件? 一位网管人员, 应该要知道最基本的搞怪技巧, 如此, 才能魔高一尺, 道高一丈. 方法如下: 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 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: 虽然寄信人可以伪造, 但 sendmail 还是会在 header 中记录下连线当时的主机IP,因此, (作者:skyside) |
| webasp.net |