linux系统管理员讲义(4)
| access | 定�哪些�域或ip �的信可以被接受,哪些不行,�某�主�一直�我�寄出垃圾�件,我�可以使用此�制�阻�它,通常access �同��查收信人�寄信人的�件地址,只要其中一�符合就算是比�成功,新版sendmail 推出後大幅�充access 的功能,�得relay-domains 有�多�(有�被淘汰的感�),但其�它�各有各的好� |
| relay-domains | 定�哪些�域或ip 可以要求寄信,如果您要允�使用者透�其它 ISP使用 MUA�上伺服器寄信,您必�先�� ISP 的IP ��加到���定��,�access 不同的是���不用��成db �料�,�定上也比��易 |
| domaintable | 用��生�域名���,通常是��校的�域名�改��,�了�使用�地址的信件也能正常�送,因此才�定 |
| local-host-names | 定�主�的所有�名 |
| mailertable | 定�分信路由,把收到的信依照�件地址�式的比�,分�外��信程式�理或�送��信主��理 |
| virtusertable | 定�如何�送要����域或��使用者的信件,��信件���送�某�真�存在的�� ,主要用��多�不同�域可以使用同一台�件主�,�ISP 公司��很需要 |
| genericstable | 由於8.12 版的sendmail 已不再接受�件地址不完整的信件(例如:shane@my_hostname),因此��不完整的名�必�改�成合法的名�, ���案用�定�要把哪些名�改�哪一�名�,它也可以用�改�@ 前面的��名�,作此用途�其作用�userdb 相同 |
| userdb | �本�是mail gateway �,透����可以得知哪些使用者是位於哪一台�件主�上,分信��分��主�,而非分到本�的/var/spool/mail 中,��功能也可以用aliases �成 |
| aliases | ���也是用�作�件�寄,一般拿�作�名��或�寄清���用,事�上sendmail 上的�寄�制很多,而且只要稍微修改�定也都能彼此取代,但我���明白其原始��的用意,�量不要去混用它�,以避免�寄���於��,造成事後除�的痛苦 |
以上�定�均�放在/etc/mail 目�,其中access 、domaintable、mailertable、virtusertable、genericstable 等五�案必���料��至�料��才能�sendmail 引用,我�使用以下指令��行:
makemap hash /etc/mail/access < /etc/mail/access(前一��案是指access.db 省略了附加�名,後一�是指�文字�的access )
userdb 必�以btree 建立索引才能sendmail 引用,我�使用以下指令��行:
makemap btree /etc/mail/userdb < /etc/mail/userdb.txt
使用MX ����化�寄地址
希望��件寄出�能�直接使用�域名�而非主�名��寄信,例如:shane@spps.tp.edu.tw,�必�修改/etc/mail/sendmail.mc 中的Masquerade �定,修改成:
FEATURE(always_add_domain)dnlJDuLinux联盟
FEATURE(`masquerade_entire_domain')dnlJDuLinux联盟
FEATURE(`masquerade_envelope')dnlJDuLinux联盟
FEATURE(`allmasquerade')dnlJDuLinux联盟
MASQUERADE_DOMAIN(`spps.tp.edu.tw')dnlJDuLinux联盟
MASQUERADE_AS(spps.tp.edu.tw)dnl
要�寄到shane@spps.tp.edu.tw 的信件能正�分信,除了在/etc/mail/sendmail.mc 需包含FEATURE (`relay_based_on_MX') �定外,�必�在DNS 中加入MX ��,由於加入DNS ��後必�等三天才能生效(DNS ��值未修改的�),因此不用急著去��!
��考下�,MX��中�包含三��位,首先是�件�送的目的地(以�域名��判�),接著指定要�理信件的伺服器,最後是�先�,�字越小越�先。一般�念中��MX ��是用���方寄信�我��查�用的,��念�不完全正�,事�上�我�的�件主���寄信�也�去查�MX ��,以便得知是否要�信件���某台特定主�由它�一�信,���制是用��作mail gateway ,�用�����理解sendmail.mc 中跟MX 相�的��,���念才不���!


�作Mail Gateway
使用MX ��最主要的目的,是要�作Mail Gateway ,�化�寄地址只能算是副�品,假�校��有�台�件主�mail.spps.tp.edu.tw 和stu.spps.tp.edu.tw ,�在已�在DNS �加入MX ��,�spps.tp.edu.tw 的�件交�主���mail.spps.tp.edu.tw ,所有寄到s61533@ spps.tp.edu.tw 的信件都�由mail.spps.tp.edu.tw �接收,��stu.spps.tp.edu.tw 上的使用者就�法享受�化�寄地址的便利了!
解�的方法就是�mail.spps.tp.edu.tw 成�stu.spps.tp.edu.tw 的mail gateway ,首先在mail.spps.tp.edu.tw 主�上�spps.tp.edu.tw 加入到/etc/local-host-names ,也可以修改sendmail.cw 或直接在sendmail.mc 加入Cwlocalhost mail.spps.tp.edu.tw spps.tp.edu.tw ,�些做法�果都相同,��sendmail 就�把要�s61533@ spps.tp.edu.tw 的信件��本��件,但是要怎�把信件�送到stu.spps.tp.edu.tw 上呢?�修改/etc/mail/userdb.txt ,如下:
s61533 s61533@stu.spps.tp.edu.tw
�好後不要忘�要用makemap btree �建立userdb.db �,��功能也可以用virtusertable 、genericstable、aliases �做,但建�不要��做,因��出���需要除����很痛苦!
到��已�解�了收信的��,寄信的��稍微有�麻�:首先�在stu.spps.tp.edu.tw 主�上�定Smart Host ,�在sendmail.mc 加入 define(`SMART_HOST', `mail.spps.tp.edu.tw')、MASQUERADE_DOMAIN(`spps.tp.edu.tw') 和MASQUERADE_AS(spps.tp.edu.tw) ,��所有�stu.spps.tp.edu.tw 寄出的信件��被�送到mail.spps.tp.edu.tw ,同��使用�化的�寄地址�寄信。不要忘�sendmail ����relay ,因此�stu.spps.tp.edu.tw 把信件�送�mail.spps.tp.edu.tw ��被拒收,��我�必�修改mail.spps.tp.edu.tw 的�定�stu.spps.tp.edu.tw 主��放relay 才行,�放relay 可以直接把stu.spps.tp.edu.tw 的ip 直接�入/etc/relay-domains 中,或是使用access �控制,也可以直接在sendmail.mc 加入RELAY_DOMAIN(`stu.spps.tp.edu.tw'),�些做法�果是相同的。
使用mail gateway 最大的好�是可以�一�信,�垃圾信或病毒信的工作只要在mail gateway 上�定就可以了,不用同�去修改下��件主�,�一���器很多的�,工作���很重。
使用postfix 取代sendmail
由於sendmail �去的名�很不好,因此也有些版本的Linux 直接以postfix 取代sendmail ,Red Hat 公司也感�到�股潮流不可�,因此也提供postfix �sendmail 的 ���制,在Red Hat Linux 上要�sendmail ��成postfix 是很容易的,直接�入redhat-switchmail 指令,然後��要��的MTA 即可,��後不要忘���的服�停掉,���新的服�,例如:
service sendmail stopJDuLinux联盟
service postfix start
postfix 的���是在/etc/main.cf 和/etc/master.cf ,�自行�考postfix 相�系�文件�行�定。
如何防止垃圾�件
在 sendmail 上,防止垃圾�件�寄的��,可以透�以下四��制��整:
- ��不作�信,�句��,寄信人或收信人其中之一必�是�自本�的Domain Name 才受理
- �寄信人的�址�行DNS 查�
- 透�/etc/mail/a ccess.db�行存取控管
- 透�信件��的特徵比�,���垃圾�件
以上四�方法其�很�防止垃圾�件的攻�,原因是新一代的�告信�信程式,早已���些措施�出��的策略,例如:
- �寄信人地址��成�自本��域
- 寄信�本��域的使用者,同��要大量�信的�象使用BCC ��以�密副本方式�送
- 使用��的IP 位址�寄信,以�避DNS 反查(缺�是����法��是否交寄成功)
- 透�socket proxy 交寄�件�躲避防火�稽核
- 透�後�程式�防火��模�合法使用者交寄�件
就是因��告信�信程式「道高一尺,魔高一丈」,因此造成系管�人人自危,�提供�件服��畏途。事�上sendmail ��的送信�制是造成垃圾�件之所以�以�防的主因,然而�些送信�制�於�件的�送�理又是不可或缺的,想要�底阻�垃圾�件,不能不了解sendmail 的送信�制,在前��小�已���交代sendmail �可以使用的功能和微���,�者特�整理下表��助大家了解sendmail 到底在做些什�事:
| 工作�容 | �理步� | 相�功能�� |
| 信件���位剖析 | �查���位是否完整 | 略 |
| 改�寄信人�位JDuLinux联盟 (check_mail) | 是否需要改�domain | always_add_domainJDuLinux联盟 local_no_masqueradeJDuLinux联盟 limited_masqueradeJDuLinux联盟 masquerade_entire_domainJDuLinux联盟 accept_unresolvable_domains |
| 是否需要改�username | ldap_routingJDuLinux联盟 accept_unqualified_senders | |
| �查寄信人�域是否完整 | nocanonify | |
| �查寄信人�域是否存在 | nodns | |
| 改�收信人�位JDuLinux联盟 (check_rcpt) | 是否需要改�domain | domaintabJDuLinux联盟 allmasqueradeJDuLinux联盟 local_no_masqueradeJDuLinux联盟 use_cw_file |
| 是否需要改�username | virtusertableJDuLinux联盟 genericstableJDuLinux联盟 redirectJDuLinux联盟 userdb | |
| �查收信人�域是否完整 | nocanonify | |
| �信存取控制�查JDuLinux联盟 (check_relay) | 如何�行�信存取控制�查 | promiscuous_relayJDuLinux联盟 delay_checks |
| �查哪些domain 可以Relay | relay-domainsJDuLinux联盟 accessJDuLinux联盟 relay_entire_domainJDuLinux联盟 relay_hosts_onlyJDuLinux联盟 relay_based_on_MXJDuLinux联盟 relay_mail_fromJDuLinux联盟 relay_local_fromJDuLinux联盟 blacklist_recipientsJDuLinux联盟 dnsblJDuLinux联盟 enhdnsblJDuLinux联盟 lookupdotdomain | |
| �查哪些user 可以Relay | use_ct_fileJDuLinux联盟 blacklist_recipients | |
| 是否通����� | auth_options | |
| �送信件 | �待寄信件�入mail queue | 略 |
| 分信�理 | �本�的信件要如何�行分信 | mailertable |
| 是否���信箱 | aliases | |
| 是否需要�信 | .forward |
利用access.db ��寄要求�行存取控管是sendmail �最重要的功能之一,�底下�例�介�access 的�定方法:
| spammer@aol.com REJECTJDuLinux联盟 cyberspammer.com REJECTJDuLinux联盟 TLD REJECTJDuLinux联盟 192.168.212 REJECTJDuLinux联盟 IPv6:2002:c0a8:02c7 RELAYJDuLinux联盟 IPv6:2002:c0a8:51d2::23f4 REJECT | 核�寄信人或收信人信箱是否�spammer@aol.com JDuLinux联盟 核�寄信人或收信人�域是否�cyberspammer.com JDuLinux联盟 核�寄信人或收信人�域是否�TLD ��的名�JDuLinux联盟 核�提出寄信要求的IP 是否�192.168.212 ��JDuLinux联盟 核�提出寄信要求的IP 是否�ipv6 格式JDuLinux联盟 核�提出寄信要求的IP 是否�ipv6 格式中的子�域 |
除了使用REJECT �拒��信要求外,也可以使用RELAY �接受�信要求,如果想�被拒��信的�域中某些��仍然可以�信,或是某�被拒�的�段中的某�IP 允��信,���情形下可以�定成OK ,�似的情形下想�某��段中的某�IP 或某��域中的某台主�不要�行比�,�可以使用SKIP ,DISCARD 用��信件完全��,�REJECT 不同的是�不��生退信通知,ERROR 也是用�REJECT �信,但是可以指定退信通知的�息�容,�用�例如下:
cyberspammer.com ERROR:550 "We don't accept mail from spammers"JDuLinux联盟
okay.cyberspammer.com OKJDuLinux联盟
sendmail.org RELAYJDuLinux联盟
128.32 RELAY
使用access 除了���本比�外,�可以指定比��位,事�上使用��方式�比�,�於防止垃圾�件更�有效,�例��:
mail.spps.tp.edu.tw RELAY
�����允�假冒寄信人地址�user@mail.spps.tp.edu.tw 的信件,能�成功透�本��行�寄,如果改�:
To:mail.spps.tp.edu.tw RELAYJDuLinux联盟
Connect:192.57 RELAY
�保�只有收信人地址是user@mail.spps.tp.edu.tw 的信件,本�才接受,另配合ip 的比���校��器可以正常寄信,由於限定比���者(Connect)的ip ,所以即使把寄信人地址改�user@[192.57.1.2] ,本��是��掉不Relay ,�比起��的�式比��得更�底。更��的�用如下面的例子:
From:spammer@some.dom REJECTJDuLinux联盟
To:friend.domain RELAYJDuLinux联盟
Connect:friend.domain OKJDuLinux联盟
Connect:from.domain RELAYJDuLinux联盟
From:good@another.dom OKJDuLinux联盟
From:another.dom REJECT
��用 FEATURE(`delay_checks') ���,可以附加以下����:
FEATURE(`delay_checks', `friend')JDuLinux联盟
FEATURE(`delay_checks', `hater')
��候在access.db �,就可以使用下列�法�宣告垃圾�件的同路人,sendmail ��在退信通知中,提示�方�件主�遭人利用�信的�息,底下�法分�是比��寄地址、使用者名�和�域名�。
Spam:abuse@my.domain FRIENDJDuLinux联盟
Spam:abuse@ FRIENDJDuLinux联盟
Spam:spam.domain FRIEND
想要完全防堵垃圾�件,最有效的方法就是使用SMTP AUTH 功能,�你�用此功能後,如果�方能通���密���,就可以取得Relay 的�限,但透�其他方式Relay 仍然是被接受的,例如:通�access.db 的�查、透�relay-domains 的宣告、透�MX ��或通�trusted-user 的宣告......等等。因此想�底防�垃圾�件,第一件事就是必�把其他功能��或做最大限制,�者的做法是:
- 不使用MX ��
- trusted-user 和relay-domains 保持�空
- access 中�包含127.0.0.1 RELAY 、localhost RELAY 和localhost.localdomain RELAY 三行
- �定���制�,不�放LOGIN 和PLAIN
在���格的限制下,�校老�不管在家�寄信或在�校寄信(透�WEB 介面除外),都必�修改outlook express 的�定,�定如下:

| access | 定�哪些�域或ip �的信可以被接受,哪些不行,�某�主�一直�我�寄出垃圾�件,我�可以使用此�制�阻�它,通常access �同��查收信人�寄信人的�件地址,只要其中一�符合就算是比�成功,新版sendmail 推出後大幅�充access 的功能,�得relay-domains 有�多�(有�被淘汰的感�),但其�它�各有各的好� |
| relay-domains | 定�哪些�域或ip 可以要求寄信,如果您要允�使用者透�其它 ISP使用 MUA�上伺服器寄信,您必�先�� ISP 的IP ��加到���定��,�access 不同的是���不用��成db �料�,�定上也比��易 |
| domaintable | 用��生�域名���,通常是��校的�域名�改��,�了�使用�地址的信件也能正常�送,因此才�定 |
| local-host-names | 定�主�的所有�名 |
| mailertable | 定�分信路由,把收到的信依照�件地址�式的比�,分�外��信程式�理或�送��信主��理 |
| virtusertable | 定�如何�送要����域或��使用者的信件,��信件���送�某�真�存在的�� ,主要用��多�不同�域可以使用同一台�件主�,�ISP 公司��很需要 |
| genericstable | 由於8.12 版的sendmail 已不再接受�件地址不完整的信件(例如:shane@my_hostname),因此��不完整的名�必�改�成合法的名�, ���案用�定�要把哪些名�改�哪一�名�,它也可以用�改�@ 前面的��名�,作此用途�其作用�userdb 相同 |
| userdb | �本�是mail gateway �,透����可以得知哪些使用者是位於哪一台�件主�上,分信��分��主�,而非分到本�的/var/spool/mail 中,��功能也可以用aliases �成 |
| aliases | ���也是用�作�件�寄,一般拿�作�名��或�寄清���用,事�上sendmail 上的�寄�制很多,而且只要稍微修改�定也都能彼此取代,但我���明白其原始��的用意,�量不要去混用它�,以避免�寄���於��,造成事後除�的痛苦 |
以上�定�均�放在/etc/mail 目�,其中access 、domaintable、mailertable、virtusertable、genericstable 等五�案必���料��至�料��才能�sendmail 引用,我�使用以下指令��行:
makemap hash /etc/mail/access < /etc/mail/access(前一��案是指access.db 省略了附加�名,後一�是指�文字�的access )
userdb 必�以btree 建立索引才能sendmail 引用,我�使用以下指令��行:
makemap btree /etc/mail/userdb < /etc/mail/userdb.txt
使用MX ����化�寄地址
希望��件寄出�能�直接使用�域名�而非主�名��寄信,例如:shane@spps.tp.edu.tw,�必�修改/etc/mail/sendmail.mc 中的Masquerade �定,修改成:
FEATURE(always_add_domain)dnlJDuLinux联盟
FEATURE(`masquerade_entire_domain')dnlJDuLinux联盟
FEATURE(`masquerade_envelope')dnlJDuLinux联盟
FEATURE(`allmasquerade')dnlJDuLinux联盟
MASQUERADE_DOMAIN(`spps.tp.edu.tw')dnlJDuLinux联盟
MASQUERADE_AS(spps.tp.edu.tw)dnl
要�寄到shane@spps.tp.edu.tw 的信件能正�分信,除了在/etc/mail/sendmail.mc 需包含FEATURE (`relay_based_on_MX') �定外,�必�在DNS 中加入MX ��,由於加入DNS ��後必�等三天才能生效(DNS ��值未修改的�),因此不用急著去��!
��考下�,MX��中�包含三��位,首先是�件�送的目的地(以�域名��判�),接著指定要�理信件的伺服器,最後是�先�,�字越小越�先。一般�念中��MX ��是用���方寄信�我��查�用的,��念�不完全正�,事�上�我�的�件主���寄信�也�去查�MX ��,以便得知是否要�信件���某台特定主�由它�一�信,���制是用��作mail gateway ,�用�����理解sendmail.mc 中跟MX 相�的��,���念才不���!


�作Mail Gateway
使用MX ��最主要的目的,是要�作Mail Gateway ,�化�寄地址只能算是副�品,假�校��有�台�件主�mail.spps.tp.edu.tw 和stu.spps.tp.edu.tw ,�在已�在DNS �加入MX ��,�spps.tp.edu.tw 的�件交�主���mail.spps.tp.edu.tw ,所有寄到s61533@ spps.tp.edu.tw 的信件都�由mail.spps.tp.edu.tw �接收,��stu.spps.tp.edu.tw 上的使用者就�法享受�化�寄地址的便利了!
解�的方法就是�mail.spps.tp.edu.tw 成�stu.spps.tp.edu.tw 的mail gateway ,首先在mail.spps.tp.edu.tw 主�上�spps.tp.edu.tw 加入到/etc/local-host-names ,也可以修改sendmail.cw 或直接在sendmail.mc 加入Cwlocalhost mail.spps.tp.edu.tw spps.tp.edu.tw ,�些做法�果都相同,��sendmail 就�把要�s61533@ spps.tp.edu.tw 的信件��本��件,但是要怎�把信件�送到stu.spps.tp.edu.tw 上呢?�修改/etc/mail/userdb.txt ,如下:
s61533 s61533@stu.spps.tp.edu.tw
�好後不要忘�要用makemap btree �建立userdb.db �,��功能也可以用virtusertable 、genericstable、aliases �做,但建�不要��做,因��出���需要除����很痛苦!
到��已�解�了收信的��,寄信的��稍微有�麻�:首先�在stu.spps.tp.edu.tw 主�上�定Smart Host ,�在sendmail.mc 加入 define(`SMART_HOST', `mail.spps.tp.edu.tw')、MASQUERADE_DOMAIN(`spps.tp.edu.tw') 和MASQUERADE_AS(spps.tp.edu.tw) ,��所有�stu.spps.tp.edu.tw 寄出的信件��被�送到mail.spps.tp.edu.tw ,同��使用�化的�寄地址�寄信。不要忘�sendmail ����relay ,因此�stu.spps.tp.edu.tw 把信件�送�mail.spps.tp.edu.tw ��被拒收,��我�必�修改mail.spps.tp.edu.tw 的�定�stu.spps.tp.edu.tw 主��放relay 才行,�放relay 可以直接把stu.spps.tp.edu.tw 的ip 直接�入/etc/relay-domains 中,或是使用access �控制,也可以直接在sendmail.mc 加入RELAY_DOMAIN(`stu.spps.tp.edu.tw'),�些做法�果是相同的。
使用mail gateway 最大的好�是可以�一�信,�垃圾信或病毒信的工作只要在mail gateway 上�定就可以了,不用同�去修改下��件主�,�一���器很多的�,工作���很重。
使用postfix 取代sendmail
由於sendmail �去的名�很不好,因此也有些版本的Linux 直接以postfix 取代sendmail ,Red Hat 公司也感�到�股潮流不可�,因此也提供postfix �sendmail 的 ���制,在Red Hat Linux 上要�sendmail ��成postfix 是很容易的,直接�入redhat-switchmail 指令,然後��要��的MTA 即可,��後不要忘���的服�停掉,���新的服�,例如:
service sendmail stopJDuLinux联盟
service postfix start
postfix 的���是在/etc/main.cf 和/etc/master.cf ,�自行�考postfix 相�系�文件�行�定。
如何防止垃圾�件
在 sendmail 上,防止垃圾�件�寄的��,可以透�以下四��制��整:
- ��不作�信,�句��,寄信人或收信人其中之一必�是�自本�的Domain Name 才受理
- �寄信人的�址�行DNS 查�
- 透�/etc/mail/a ccess.db�行存取控管
- 透�信件��的特徵比�,���垃圾�件
以上四�方法其�很�防止垃圾�件的攻�,原因是新一代的�告信�信程式,早已���些措施�出��的策略,例如:
- �寄信人地址��成�自本��域
- 寄信�本��域的使用者,同��要大量�信的�象使用BCC ��以�密副本方式�送
- 使用��的IP 位址�寄信,以�避DNS 反查(缺�是����法��是否交寄成功)
- 透�socket proxy 交寄�件�躲避防火�稽核
- 透�後�程式�防火��模�合法使用者交寄�件
就是因��告信�信程式「道高一尺,魔高一丈」,因此造成系管�人人自危,�提供�件服��畏途。事�上sendmail ��的送信�制是造成垃圾�件之所以�以�防的主因,然而�些送信�制�於�件的�送�理又是不可或缺的,想要�底阻�垃圾�件,不能不了解sendmail 的送信�制,在前��小�已���交代sendmail �可以使用的功能和微���,�者特�整理下表��助大家了解sendmail 到底在做些什�事:
| 工作�容 | �理步� | 相�功能�� |
| 信件���位剖析 | �查���位是否完整 | 略 |
| 改�寄信人�位JDuLinux联盟 (check_mail) | 是否需要改�domain | always_add_domainJDuLinux联盟 local_no_masqueradeJDuLinux联盟 limited_masqueradeJDuLinux联盟 masquerade_entire_domainJDuLinux联盟 accept_unresolvable_domains |
| 是否需要改�username | ldap_routingJDuLinux联盟 accept_unqualified_senders | |
| �查寄信人�域是否完整 | nocanonify | |
| �查寄信人�域是否存在 | nodns | |
| 改�收信人�位JDuLinux联盟 (check_rcpt) | 是否需要改�domain | domaintabJDuLinux联盟 allmasqueradeJDuLinux联盟 local_no_masqueradeJDuLinux联盟 use_cw_file |
| 是否需要改�username | virtusertableJDuLinux联盟 genericstableJDuLinux联盟 redirectJDuLinux联盟 userdb | |
| �查收信人�域是否完整 | nocanonify | |
| �信存取控制�查JDuLinux联盟 (check_relay) | 如何�行�信存取控制�查 | promiscuous_relayJDuLinux联盟 delay_checks |
| �查哪些domain 可以Relay | relay-domainsJDuLinux联盟 accessJDuLinux联盟 relay_entire_domainJDuLinux联盟 relay_hosts_onlyJDuLinux联盟 relay_based_on_MXJDuLinux联盟 relay_mail_fromJDuLinux联盟 relay_local_fromJDuLinux联盟 blacklist_recipientsJDuLinux联盟 dnsblJDuLinux联盟 enhdnsblJDuLinux联盟 lookupdotdomain | |
| �查哪些user 可以Relay | use_ct_fileJDuLinux联盟 blacklist_recipients | |
| 是否通����� | auth_options | |
| �送信件 | �待寄信件�入mail queue | 略 |
| 分信�理 | �本�的信件要如何�行分信 | mailertable |
| 是否���信箱 | aliases | |
| 是否需要�信 | .forward |
利用access.db ��寄要求�行存取控管是sendmail �最重要的功能之一,�底下�例�介�access 的�定方法:
| spammer@aol.com REJECTJDuLinux联盟 cyberspammer.com REJECTJDuLinux联盟 TLD REJECTJDuLinux联盟 192.168.212 REJECTJDuLinux联盟 IPv6:2002:c0a8:02c7 RELAYJDuLinux联盟 IPv6:2002:c0a8:51d2::23f4 REJECT | 核�寄信人或收信人信箱是否�spammer@aol.com JDuLinux联盟 核�寄信人或收信人�域是否�cyberspammer.com JDuLinux联盟 核�寄信人或收信人�域是否�TLD ��的名�JDuLinux联盟 核�提出寄信要求的IP 是否�192.168.212 ��JDuLinux联盟 核�提出寄信要求的IP 是否�ipv6 格式JDuLinux联盟 核�提出寄信要求的IP 是否�ipv6 格式中的子�域 |
除了使用REJECT �拒��信要求外,也可以使用RELAY �接受�信要求,如果想�被拒��信的�域中某些��仍然可以�信,或是某�被拒�的�段中的某�IP 允��信,���情形下可以�定成OK ,�似的情形下想�某��段中的某�IP 或某��域中的某台主�不要�行比�,�可以使用SKIP ,DISCARD 用��信件完全��,�REJECT 不同的是�不��生退信通知,ERROR 也是用�REJECT �信,但是可以指定退信通知的�息�容,�用�例如下:
cyberspammer.com ERROR:550 "We don't accept mail from spammers"JDuLinux联盟
okay.cyberspammer.com OKJDuLinux联盟
sendmail.org RELAYJDuLinux联盟
128.32 RELAY
使用access 除了���本比�外,�可以指定比��位,事�上使用��方式�比�,�於防止垃圾�件更�有效,�例��:
mail.spps.tp.edu.tw RELAY
�����允�假冒寄信人地址�user@mail.spps.tp.edu.tw 的信件,能�成功透�本��行�寄,如果改�:
To:mail.spps.tp.edu.tw RELAYJDuLinux联盟
Connect:192.57 RELAY
�保�只有收信人地址是user@mail.spps.tp.edu.tw 的信件,本�才接受,另配合ip 的比���校��器可以正常寄信,由於限定比���者(Connect)的ip ,所以即使把寄信人地址改�user@[192.57.1.2] ,本��是��掉不Relay ,�比起��的�式比��得更�底。更��的�用如下面的例子:
From:spammer@some.dom REJECTJDuLinux联盟
To:friend.domain RELAYJDuLinux联盟
Connect:friend.domain OKJDuLinux联盟
Connect:from.domain RELAYJDuLinux联盟
From:good@another.dom OKJDuLinux联盟
From:another.dom REJECT
��用 FEATURE(`delay_checks') ���,可以附加以下����:
FEATURE(`delay_checks', `friend')JDuLinux联盟
FEATURE(`delay_checks', `hater')
��候在access.db �,就可以使用下列�法�宣告垃圾�件的同路人,sendmail ��在退信通知中,提示�方�件主�遭人利用�信的�息,底下�法分�是比��寄地址、使用者名�和�域名�。
Spam:abuse@my.domain FRIENDJDuLinux联盟
Spam:abuse@ FRIENDJDuLinux联盟
Spam:spam.domain FRIEND
想要完全防堵垃圾�件,最有效的方法就是使用SMTP AUTH 功能,�你�用此功能後,如果�方能通���密���,就可以取得Relay 的�限,但透�其他方式Relay 仍然是被接受的,例如:通�access.db 的�查、透�relay-domains 的宣告、透�MX ��或通�trusted-user 的宣告......等等。因此想�底防�垃圾�件,第一件事就是必�把其他功能��或做最大限制,�者的做法是:
- 不使用MX ��
- trusted-user 和relay-domains 保持�空
- access 中�包含127.0.0.1 RELAY 、localhost RELAY 和localhost.localdomain RELAY 三行
- �定���制�,不�放LOGIN 和PLAIN
在���格的限制下,�校老�不管在家�寄信或在�校寄信(透�WEB 介面除外),都必�修改outlook express 的�定,�定如下:

西门子冰洗在华06年可能首次出现亏损
linux系统管理员讲义(2)
linux系统管理员讲义(10)
以淘汰��安� Linux 做�伺服器分享 ADSL 的��
Linux IP Routing
linux系统管理员讲义(3)
Rhel AS4 server sendmail配置,带SMTP认证
SAMBA
linux系统管理员讲义(7)
�易 Mail Server 架� -- Postfix �定
1、本文系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容
邮件服务器运行原理
第三章�架� SAMBA
Mail � DNS 系�的相�性
利用 Postfix 抵�垃圾信
单片红外线传感控制器ZH9576及应用
Linux ���身份管理二
Sendmail relay规则及配置文件用法
�件伺服器(Postfix)
Sendmail Relay 规则及配置文件用法详解
X Window 程式设计入门(1)
中糖集团收购酒鬼酒事宜收官
架� PPP
电风扇“鸡肋”变“鸡腿”上演热销戏
fuse-convmvfs 0.2 released!
如何进入到嵌入式系统开发行业
ST啤酒花:关于重组进展情况公告
洗衣机能效标识贴标启动双桶无一级品
Sendmail + Domain Key �作
青岛啤酒营销管理总部崔虹在答辩