亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Sendmail + SASL + TLS (原創,使用Sendmail 8.1

系統 2387 0
http://www.chinaunix.net 作者: marion ??發表于:2007-05-11 15:42:28

本文系作者原創,轉載請保留出處:http://marion.cublog.cn?????
謝謝!

注:本文是另一篇文章“配置簡單帶認證的Sendmail服務器”續篇,請見http://marion.cublog.cn

[color=Orange][font=黑體][size=3]STARTTLS介紹[/size][/font][/color]

[color=Red]一、SMTP和STARTTLS[/color]
?
SMTP協議默認使用明文在網絡傳送用戶名和密碼,這是十分危險的。為此,sendmail使用TLS來解決這個潛在的危險問題。TLS不僅可以用來加密用戶名和密碼,還可以加密傳送信件的內容。Sendmail使用starttls命令來啟動一個SMTP會話加密進程(TLS會話)。Micorsoft的outlook軟件和其它的許多MUA也支持STARTTLS。
?
STARTTLS能實現什么樣的功能?
1.實現對一次E-MAIL通訊中server端以及client端彼此身份的校驗;
2.加密傳輸信件(身份不能確認的情況下亦可以實現);
3.認證轉發;
?
由于SMTP是一個存儲轉發協議,并且一封電子郵件的轉交投遞可能會涉及到多臺SMTP服務器,因此,一個MUA就算能夠通過認證并把E-MAIL加密傳輸至將要經過的第一臺SMTP服務器,讓最終用戶的SMTP通過發送端的身份認證,并認為信件傳送過程中沒有被篡改也是不太可能的。故而,RFC文件聲明說一個實現公共Email的SMTP服務器是不必苛求于在傳送郵件中實現上述功能的。不過,對于一個私有網絡中的郵件傳輸來講,能夠以要求必需提供有效證書來實現嚴格的身份認證和加密傳輸,因為我們可以將證書部署到需要傳送EMAIL服務的每個客戶端。
?
當然,盡管基于TLS的SMTP服務所提供的功能不像基于SSL的HTTP服務那樣完美,但在服務器和客戶端之間的一次認證會話間加密傳輸用戶名和密碼卻是完全可以實現的。
?
[color=Red]二、STARTTLS的工作方式:[/color]
?
1.sendmail作為服務端
?
在一次SMTP會話中,客戶端(可能是其它的SMTP服務器,也可能是一個終端用戶的MUA)通過EHLO命令來探測服務器是否支持STARTTLS。如果服務器支持此種方式,客戶就把STARTTLS列入可以使用的命令列里面。此時,客戶端便可以通過STARTTLS命令來和服務器建立STARTTLS話,服務器以“準備好啟動TLS”來回應客戶端。
?
如果客戶端能夠提供一個SSL證書,Sendmail將會從中提取出有關CA的信息并和自己信任的CA列表進行比較,并嘗試將證書中的common?name和客戶端的主機名加以比較。同時,Sendmail還將會檢查客戶端的證書是否已經存在于自己的訪問數據庫中。如果一切順利通過,Sendmail將繼續后面的會話。實際使用中,即使Sendmail無法驗證客戶端的證書,它也會接受客戶端會話。我們可以在TLS日志中找到有關的詳細信息,如果驗證順利進行,將會出現類同“verify=OK"之類的日志記示,否則,則可能顯示為“verify=FAIL”或者“verify=NO”。
?
在無法驗證客戶端身份的情況下,Sendmail也將嘗試實現信件加密傳送。此時,日志中如果記錄有類同“ciper=DHE-RSA-AES256-SHA,bit=128/128"的信息,表示加密成功實現。加密協商會話成功實現后,服務器端可能會使用基于PLAIN或者LOGIN的SMTP?AUTH方式來驗證身份,此時,STARTTLS將會把用戶各和密碼加密傳送,從而在很大程度保證了會話的安全性。
?
2.Sendmail作為客戶端
?
當Sendmail服務器為最終用戶或者其它的Sendmail轉發信件時,它將作為一臺客戶端與其它的SMTP服務器通信。此時,如果服務端支持STARTTLS,即使雙方沒有配置證書的情況下,Sendmail(前提是也支持STARTTLS)仍將通過STARTTLS命令與其建立通信會話。其過程類同前面所述。
?
日志中將會記錄類同“STARTTLS=client”(客戶端)或者“STARTTLS=server”(服務端)以及有關版本號、校驗方式、加密方式和加密位數等信息。
[font=黑體][color=Orange][size=3]?
安裝過程[/size][/color][/font]
?
本文將以RedHat9.0為例
?
[color=Red]一、啟用cyrus-sasl[/color]?

本文使用系統自帶的saslauthd認證服務,請檢查你的系統是否已經安裝如下軟件,如果沒有的話,請自行安裝
?
1.#?rpm?-aq?|grep?cyrus-sasl

????cyrus-sasl-devel-2.1.10-4
????cyrus-sasl-2.1.10-4
????cyrus-sasl-plain-2.1.10-4
????cyrus-sasl-md5-2.1.10-4
?
2.新建/usr/local/lib/sasl2/Sendmail.conf,添加如下內容:
???pwcheck_method:?saslauthd
???mech_list:?login?plain?digest-md5
?
3.啟動服務
??#service?saslauthd?start
??#chkconfig?--level?35?saslauthd?on

?
[color=Red]二、安裝openssl0.98e[/color]
?
1.下載相關軟件包至/usr/local/src目錄?
??http://www.openssl.org/source/openssl-0.9.8e.tar.gz

2.安裝
?
#cd?/usr/local/src
#tar?zxvf?openssl-0.9.8e.tar.gz
#cd?openssl-0.9.8e
#./config?shared?zlib
#make?
#make?test
#make?install
mv?/usr/bin/openssl?/usr/bin/openssl.OFF
mv?/usr/include/openssl?/usr/include/openssl.OFF
ln?-s?/usr/local/ssl/bin/openssl?/usr/bin/openssl
ln?-s?/usr/local/ssl/include/openssl?/usr/include/openssl
?
?
3.配置庫文件搜索路徑
??#echo?"/usr/local/ssl/lib"?>>?/etc/ld.so.conf
??#ldconfig?-v
?
4.查看openssl的版本號,以驗正是否安裝正確
#openssl?version?-a
OpenSSL?0.9.8e?23?Feb?2007
built?on:?Sat?Mar?24?21:24:41?CST?2007
platform:?linux-elf
options:??bn(64,32)?md2(int)?rc4(idx,int)?des(ptr,risc1,16,long)?idea(int)?blowfish(idx)?
compiler:?gcc?-fPIC?-DOPENSSL_PIC?-DZLIB?-DOPENSSL_THREADS?-D_REENTRANT?-DDSO_DLFCN?-DHAVE_DLFCN_H?-DL_ENDIAN?-DTERMIO?-O3?-fomit-frame-pointer?-Wall?-DOPENSSL_BN_ASM_PART_WORDS?-DOPENSSL_IA32_SSE2?-DSHA1_ASM?-DMD5_ASM?-DRMD160_ASM?-DAES_ASM
OPENSSLDIR:?"/usr/local/ssl"

[color=Red]三、安裝Sendmail-8.14.0[/color]
?
1.下載相關軟件包至/usr/local/src目錄
ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.0.tar.gz
?
2.先檢查本機是否已經開啟了MTA,若有,先關閉并卸載它們,如:

#service?sendmail?stop
#rpm?-e?sendmail
?
3.?安裝:

解壓原碼包?
#cd?/usr/local/src
#tar?zxvf?sendmail.8.14.0.tar.gz
#cd?sendmail-8.14.0
?
編輯site.config.m4文件
#vi?devtools/Site/site.config.m4
添加:
APPENDDEF(`confENVDEF',`-DSASL=2')
APPENDDEF(`conf_sendmail_LIBS',`-lsasl2')
APPENDDEF(`confINCDIRS',`-I/usr/local/ssl/include')dnl
APPENDDEF(`conf_sendmail_ENVDEF',`-DSTARTTLS')
APPENDDEF(`conf_sendmail_ENVDEF',`-D_FFR_SMTP_SSL')
APPENDDEF(`conf_sendmail_LIBS',`-lssl?-lcrypto?-L/usr/local/ssl/lib')
?
編譯并安裝
#sh?Build
#mkdir?-pv?/usr/man/man{1,8}
#sh?Build?install

?
拷貝cf目錄至/usr/share/sendmail?
#mkdir?-pv?/usr/share/sendmail
#cp?-a?cf?/usr/share/sendmail
#cd?cf/cf
#cp?generic-linux.mc?sendmail.mc
?
編輯sendmail.mc文件,添加如下內容:
?
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
FEATURE(`access_db')dnl
define(`confAUTH_MECHANISMS',`A?p?y')dnl
define(`confAUTH_MECHANISMS',`LOGIN?PLAIN?DIGEST-MD5')dnl
TRUST_AUTH_MECH(`LOGIN?PLAIN?DIGEST-MD5')dnl
define(`confCACERT_PATH',`/etc/mail/certs')dnl
define(`confCACERT',`/etc/mail/certs/cacert.pem')dnl
define(`confSERVER_CERT',`/etc/mail/certs/mysmtp.pem')dnl
define(`confSERVER_KEY',`/etc/mail/certs/mysmtp.pem')dnl
define(`confCLIENT_CERT',`/etc/mail/certs/mysmtp.pem')dnl
define(`confCLIENT_KEY',`/etd/mail/certs/mysmtp.pem')dnl
dnl?define(`confTLS_SRV_OPTIONS',`V')dnl
FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`Port=25,Name=MTA,M=Ea')dnl
DAEMON_OPTIONS(`Family=inet,Port=465,Name=MTA-SSL,M=s')dnl
?
安裝sendmail.cf及submit.cf文件
#make?install-cf
#cp?sendmail.mc?/etc/mail
?
添加必須的用戶組(redhat9.0上,已經存在此用戶和組)
#groupadd?–g?51?-r?smmsp
#useradd?–u?51?-r?-g?smmsp?-s?/sbin/nologin?smmsp?
?
添加必要的配置文件
#cd?/etc/mail
#touch?aliases?access??virtusertable

添加接收郵件的域
#echo?"benet.org">local-host-names
#echo?"mail.benet.org">>local-host-names

配置轉發域(此步為常規步驟,為本機配置郵件轉發許可)
#echo?"localhost??RELAY"?>>?access
#echo?"127.0.0.1??RELAY"?>>?access

生成相應的數據庫文件
#makemap?hash?access.db?<?access
#?makemap?hash?virtusertable?<?virtusertable
?
改變相關目錄的權限,以保證安全(RedHat?9.0上已經設置正確)
#mkdir?-pv?/var/spool/{mail,mqueue,clientqueue}
#chmod?775???????/var/spool/mail
#chown?root.mail?/var/spool/mail
?
#chmod?755???????/var/spool/mqueue
#chown?root.mail?/var/spool/mqueue
?
#chmod?770?????????/var/spool/clientmqueue
#chown?smmsp.smmsp?/var/spool/clientmqueue
?
chmod?4555??????/usr/sbin/sendmail
chown?root.smmsp?/usr/sbin/sendmail
?
[color=Red]四、為TLS生成證書:[/color]
?
#cd?/etc/mail/certs/
?
生成CA的簽名及證書
#?openssl?req?-new?-x509?-keyout?cakey.pem?-out?cacert.pem?-days?3650
Generating?a?1024?bit?RSA?private?key
...............................++++++
.....++++++
writing?new?private?key?to?'cakey.pem'
Enter?PEM?pass?phrase:??????<----此處輸入CA密碼
Verifying?-?Enter?PEM?pass?phrase:????<----重復上個密碼
-----
You?are?about?to?be?asked?to?enter?information?that?will?be?incorporated
into?your?certificate?request.
What?you?are?about?to?enter?is?what?is?called?a?Distinguished?Name?or?a?DN.
There?are?quite?a?few?fields?but?you?can?leave?some?blank
For?some?fields?there?will?be?a?default?value,
If?you?enter?'.',?the?field?will?be?left?blank.
-----
Country?Name?(2?letter?code)?[AU]:CN????<----此處為國家名
State?or?Province?Name?(full?name)?[Some-State]:HA????<----此處為地域(?。┟?
Locality?Name?(eg,?city)?[]:ZZ????<----此處為城市名
Organization?Name?(eg,?company)?[Internet?Widgits?Pty?Ltd]:BENET??<----此處為單位名
Organizational?Unit?Name?(eg,?section)?[]:????<----此處為部門名
Common?Name?(eg,?YOUR?name)?[]:????<----此處為你的名字或服務器的名字,也可省略
Email?Address?[]:redhat@benet.org????<----此處為管理郵件
?
生成Sendmail的證書
#?openssl?req?-nodes?-new?-x509?-keyout?mysmtp.pem?-out?mysmtp.pem?-days?3650
Generating?a?1024?bit?RSA?private?key
..++++++
...................................++++++
writing?new?private?key?to?'mysmtp.pem'
-----
You?are?about?to?be?asked?to?enter?information?that?will?be?incorporated
into?your?certificate?request.
What?you?are?about?to?enter?is?what?is?called?a?Distinguished?Name?or?a?DN.
There?are?quite?a?few?fields?but?you?can?leave?some?blank
For?some?fields?there?will?be?a?default?value,
If?you?enter?'.',?the?field?will?be?left?blank.
-----
Country?Name?(2?letter?code)?[AU]:CN
State?or?Province?Name?(full?name)?[Some-State]:HA
Locality?Name?(eg,?city)?[]:ZZ
Organization?Name?(eg,?company)?[Internet?Widgits?Pty?Ltd]:BENET
Organizational?Unit?Name?(eg,?section)?[]:
Common?Name?(eg,?YOUR?name)?[]:
Email?Address?[]:redhat@benet.org
?
查看證書內容
#?openssl?x509?-noout?-text?-in?mysmtp.pem
Certificate:
????Data:
????????Version:?3?(0x2)
????????Serial?Number:
????????????e7:3a:cf:c4:2c:e9:71:8f
????????Signature?Algorithm:?sha1WithRSAEncryption
????????Issuer:?C=CN,?ST=HA,?L=ZZ,?O=BENET/emailAddress=redhat@benet.org
????????Validity
????????????Not?Before:?Mar?24?14:19:21?2007?GMT
????????????Not?After?:?Mar?21?14:19:21?2017?GMT
????????Subject:?C=CN,?ST=HA,?L=ZZ,?O=BENET/emailAddress=redhat@benet.org
????????Subject?Public?Key?Info:
????????????Public?Key?Algorithm:?rsaEncryption
????????????RSA?Public?Key:?(1024?bit)
????????????????Modulus?(1024?bit):
????????????????????00:f6:17:f8:27:be:9b:c6:b9:b0:b3:0b:0c:62:c1:
????????????????????7e:cd:19:80:62:b4:83:91:ec:a3:b1:83:df:77:6f:
????????????????????12:83:56:94:6c:e3:e0:5a:a7:20:75:60:d3:92:00:
????????????????????18:9a:e5:fc:3a:27:93:bc:10:60:4b:f3:d1:b4:43:
????????????????????5c:af:17:f9:de:72:04:3a:8e:12:f1:19:c5:11:28:
????????????????????9c:08:f6:fe:b0:db:e6:c5:8c:c1:c8:d2:86:f2:0a:
????????????????????d7:b3:a3:e3:08:d0:5b:8c:5a:03:d7:87:0d:4e:56:
????????????????????62:2b:54:3c:f7:ea:70:03:53:96:4d:bc:ac:f8:de:
????????????????????cd:2b:87:6f:24:79:d0:8b:a3
????????????????Exponent:?65537?(0x10001)
????????X509v3?extensions:
????????????X509v3?Subject?Key?Identifier:?
????????????????C7:1B:1C:D0:58:B2:A7:19:7F:F1:8C:DB:D0:C9:49:24:A4:BA:B3:FA
????????????X509v3?Authority?Key?Identifier:?
????????????????keyid:C7:1B:1C:D0:58:B2:A7:19:7F:F1:8C:DB:D0:C9:49:24:A4:BA:B3:FA
????????????????DirName:/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
????????????????serial:E7:3A:CF:C4:2C:E9:71:8F
????????????X509v3?Basic?Constraints:?
????????????????CA:TRUE
????Signature?Algorithm:?sha1WithRSAEncryption
????????a5:c0:58:52:f4:db:76:78:d3:05:d3:36:a9:7e:ef:05:4a:01:
????????93:3f:64:48:8a:66:36:20:25:c1:b2:93:b6:a4:05:1b:6e:55:
????????c6:21:ec:70:a1:41:d8:0f:cd:46:d6:8f:f2:e8:48:c2:0d:5f:
????????9e:2f:dd:af:61:f6:ca:08:16:20:7c:b5:e6:38:58:d8:e7:cd:
????????92:d9:35:00:93:70:5d:04:d0:4c:d0:33:e6:49:18:30:a7:1b:
????????0e:3b:d0:3f:82:ce:6e:03:da:96:32:7b:8a:69:9e:8e:0b:8b:
????????ab:ea:9a:40:c8:b3:a8:f5:62:a5:0e:ab:bf:24:47:aa:02:ef:

????????61:0f
?
?
修改證書權限,如果沒有此步驟,啟動sendmail時會報starttls啟動錯誤
#chmod?400?mysmtp.pem
?
[color=Orange]五、啟動并驗正Sendmail[/color]
?
1.執行如下命令,查看sendmail是否sasl2方式的身份認證(按我們如上的步驟編譯安裝,sendmail是支持此認證的)及starttls:

#?sendmail?-d0.1?-bv?root
Version?8.14.0
?Compiled?with:?DNSMAP?LOG?MATCHGECOS?MILTER?MIME7TO8?MIME8TO7
????????????????NAMED_BIND?NETINET?NETUNIX?NEWDB?PIPELINING?[color=Orange]SASLv2?[/color]SCANF
????????????????[color=Orange]STARTTLS[/color]?USERDB?XDEBUG
?
============?SYSTEM?IDENTITY?(after?readcf)?============
??????(short?domain?name)?$w?=?mail
??(canonical?domain?name)?$j?=?mail.benet.org
?????????(subdomain?name)?$m?=?benet.org
??????????????(node?name)?$k?=?mail.benet.org
========================================================
root...?deliverable:?mailer?local,?user?root
?
請查看執行結果中是否顯示為橙色字體的部分。如果有,則可進行以下步驟,否則,請檢查前面的編譯安裝過程是否有遺漏或錯誤之處,或者查看日志以檢查錯誤之所在。也可以運行如下命令仔細檢查問題所在。

#sendmail?-O?loglevel=14?-bs

2.啟動sendmail,

#sendmail?-bd?-q30m
?
注:Sendmail的命令參數的含義如下:
???-b:指定Sendmail在后臺運行,并且監聽端口25的請求。
???-d:指定Sendmail以Daemon方式運行(守護進程)。
???-q:當Sendmail無法將郵件成功地發送到目的地時,它會將郵件保存在隊列里。該參數指定郵件在隊列里保存的時間。例子里的30m表示保留30分鐘。

3.查看Sendmail對于認證及TLS的支持是否已經打開

#?telnet?localhost?25
Trying?127.0.0.1...
Connected?to?localhost.
Escape?character?is?'^]'.
220?mail.benet.org?ESMTP?Sendmail?8.13.8/8.13.8;?Sun,?25?Mar?2007?01:46:08?+0800
[color=Blue]ehlo?localhost[/color]????<--此句為輸入的命令
250-mail.benet.org?Hello?localhost.localdomain?[127.0.0.1],?pleased?to?meet?you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
[color=Orange]250-AUTH?LOGIN?PLAIN?DIGEST-MD5[/color]
[color=Orange]250-STARTTLS[/color]
250-DELIVERBY
250?HELP
?
請注意查看輸出中有沒有類同橙色的兩行。

[color=Red]六、開啟基于SSL的IMAP服務[/color]

1.檢查是否已經安裝imap軟件包,如果沒有,請自行安裝
#rpm?-qa?|grep?imap
imap-2001a-18
imap-devel-2001a-18

2.開啟imaps服務
#chkconfig?imaps?on
#?chkconfig?--list?imaps
imaps???????????on

3.重新啟動xinetd服務
#service?xinet.d?restart

4.查看是否已經監聽相應的993端口:
#netstat?-tnlp?|grep?:993
tcp????????0??????0?0.0.0.0:993?????????????0.0.0.0:*???????????????LISTEN??????32477/xinetd?

[color=Red]七、驗正[/color]

1.使用outlook客戶端登錄,測試發信情況,注意如下設置:


Sendmail + SASL + TLS (原創,使用Sendmail 8.14.0和openssl0.98e) ?
Sendmail + SASL + TLS (原創,使用Sendmail 8.14.0和openssl0.98e) ?

2.查看日志

#tail?/var/log/maillog
Mar?25?03:58:55?mail?sendmail[1962]:?STARTTLS=server,?relay=[192.168.1.100],?version=TLSv1/SSLv3,?verify=NO,?cipher=RC4-MD5,?bits=128/128
Mar?25?03:58:55?mail?sendmail[1962]:?AUTH=server,?relay=[192.168.1.100],?authid=redhat,?mech=LOGIN,?bits=0
Mar?25?03:58:55?mail?sendmail[1962]:?l2OJwsnF001962:?from=<[email]redhat@benet.org[/email]>,?size=1700,?class=0,?nrcpts=1,?msgid=<003601c76ed5$6a012da0$6400a8c0@microsofde20f2>,?proto=ESMTP,?daemon=MTA-SSL,?relay=[192.168.1.100]
Mar?25?03:58:55?mail?sendmail[1963]:?l2OJwsnF001962:?to=<[email]root@benet.org[/email]>,?ctladdr=<[email]redhat@benet.org[/email]>?(500/500),?delay=00:00:00,?xdelay=00:00:00,?mailer=local,?pri=31953,?dsn=2.0.0,?stat=Sent



[color=Red]八、在本機命令行模式測試通過TLS發送郵件[/color]

#?[size=2]openssl?s_client?-connect?localhost:465[/size]

CONNECTED(00000003)
depth=0?/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
verify?error:num=18:self?signed?certificate
verify?return:1
depth=0?/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
verify?return:1
---
Certificate?chain
?0?s:/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
???i:/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
---
Server?certificate
-----BEGIN?CERTIFICATE-----
MIIC6zCCAlSgAwIBAgIJAOc6z8Qs6XGPMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkNOMQswCQYDVQQIEwJIQTELMAkGA1UEBxMCWloxDjAMBgNVBAoTBUJFTkVU
MR8wHQYJKoZIhvcNAQkBFhByZWRoYXRAYmVuZXQub3JnMB4XDTA3MDMyNDE0MTky
MVoXDTE3MDMyMTE0MTkyMVowWDELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkhBMQsw
CQYDVQQHEwJaWjEOMAwGA1UEChMFQkVORVQxHzAdBgkqhkiG9w0BCQEWEHJlZGhh
dEBiZW5ldC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAPYX+Ce+m8a5
sLMLDGLBfs0ZgGK0g5Hso7GD33dvEoNWlGzj4FqnIHVg05IAGJrl/Donk7wQYEvz
0bRDXK8X+d5yBDqOEvEZxREonAj2/rDb5sWMwcjShvIK17Oj4wjQW4xaA9eHDU5W
YitUPPfqcANTlk28rPjezSuHbyR50IujAgMBAAGjgbwwgbkwHQYDVR0OBBYEFMcb
HNBYsqcZf/GM29DJSSSkurP6MIGJBgNVHSMEgYEwf4AUxxsc0Fiypxl/8Yzb0MlJ
JKS6s/qhXKRaMFgxCzAJBgNVBAYTAkNOMQswCQYDVQQIEwJIQTELMAkGA1UEBxMC
WloxDjAMBgNVBAoTBUJFTkVUMR8wHQYJKoZIhvcNAQkBFhByZWRoYXRAYmVuZXQu
b3JnggkA5zrPxCzpcY8wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCl
wFhS9Nt2eNMF0zapfu8FSgGTP2RIimY2ICXBspO2pAUbblXGIexwoUHYD81G1o/y
6EjCDV+eL92vYfbKCBYgfLXmOFjY582S2TUAk3BdBNBM0DPmSRgwpxsOO9A/gs5u
A9qWMnuKaZ6OC4ur6ppAyLOo9WKlDqu/JEeqAu9hDw==
-----END?CERTIFICATE-----
subject=/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
issuer=/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
---
Acceptable?client?certificate?CA?names
/C=CN/ST=HA/L=ZZ/O=BENET/emailAddress=redhat@benet.org
---
SSL?handshake?has?read?1291?bytes?and?written?270?bytes
---
New,?TLSv1/SSLv3,?Cipher?is?DHE-RSA-AES256-SHA
Server?public?key?is?1024?bit
Compression:?NONE
Expansion:?NONE
SSL-Session:
????Protocol??:?TLSv1
????Cipher????:?DHE-RSA-AES256-SHA
????Session-ID:?F388B5DE25A652FDF29ED31D619913BFC0F9ED2F3B0FE005F22E1872715A4260
????Session-ID-ctx:?
????Master-Key:?15DE2147783606658382F967CADCD824E416E0FDCA1ECCCD459926C10668072DDC127C68033BD81DEC8FE55EFCEA8C57
????Key-Arg???:?None
????Start?Time:?1174755830
????Timeout???:?300?(sec)
????Verify?return?code:?18?(self?signed?certificate)
---
220?localhost.localdomain?ESMTP?Sendmail?8.14.0/8.14.0;?Sun,?25?Mar?2007?01:03:50?+0800
[color=Orange]mail?from:root@benet.org[/color]????[color=Blue]<----發信人[/color]
250?2.1.0?[email]root@benet.org[/email]...?Sender?ok
[color=Orange]rcpt?to:redhat@benet.org[/color]????[color=Blue]<----收信人[/color]
250?2.1.5?[email]redhat@benet.org[/email]...?Recipient?ok
[color=Orange]data[/color]??????????????????????????????????????[color=Blue]<----信件正文開始的命令[/color]354?Enter?mail,?end?with?"."?on?a?line?by?itself
[color=Purple]This?is?a?test!![/color]????????????????????????[color=Blue]<----信件內容[/color]
[color=Orange].[/color]????????????????????????????????????????????[color=Blue]<----信件正文編輯結束命令,此時將會發送郵件[/color]
250?2.0.0?l2OHAIra032556?Message?accepted?for?delivery
[color=Orange]quit[/color]???????????????????????????????????????[color=Blue]<----退出命令[/color]
221?2.0.0?localhost.localdomain?closing?connection
closed


后記:本文是作者在成功實驗的基礎上過程總結,其中還有著許多不成熟的地方,比如沒有為outlook生成一個Windows可以識別的證書并導入等等。希望各位有興趣的朋友給與補充,以作學習交流之用。謝謝!

[ ?本帖最后由?marion?于?2007-3-26?07:06?編輯? ]



? marion 回復于:2007-03-26 10:07:42

很少有朋友使用這種方式么?


? abel 回復于:2007-03-26 10:20:07

引用: 原帖由? marion ?于?2007-3-26?10:07?發表
很少有朋友使用這種方式么??


這就不知了,一般?RH?預設安裝的?sendmail?基本上都有?complier?with?SSL
而一般的?qmail/postfix?就不知了

starttls?對於進出中國的?mail?其實是有幫助的,只是多數人恐怕對這磈不夠了解
而且對?ssl?懷有恐懼?(就是了解的太少的恐懼)


? marion 回復于:2007-03-26 10:24:15

或許我也知道的不夠多,謝謝abel兄的指點。繼續學習……


? sosogh 回復于:2007-03-26 20:39:34

樓主?真有心??頂


? marion 回復于:2007-03-27 18:41:36

正在測試使用Sendmail+MailScanner+Clamav和Sendmail+Mimedefang+Spamassassin,歡迎這方面有經驗的朋友來交流一下.


? abel 回復于:2007-03-27 23:16:42

引用: 原帖由? marion ?于?2007-3-27?18:41?發表
正在測試使用Sendmail+MailScanner+Clamav和Sendmail+Mimedefang+Spamassassin,歡迎這方面有經驗的朋友來交流一下.?


我會建議你用?mimedefang?solution,?若你對?perl?熟的話,若不熟那就前者吧
我目前用的方案是後者


? marion 回復于:2007-03-28 10:11:29

引用: 原帖由? abel ?于?2007-3-27?23:16?發表

我會建議你用?mimedefang?solution,?若你對?perl?熟的話,若不熟那就前者吧
我目前用的方案是後者?


再謝abel兄的關注及指點!
在Sendmail?SASL?TLS的基礎出上已經測試成功MIMEdefang+Spamassassin+Clamav,整理后貼上來,望能再得到兄之指教,先附上日志。并歡迎各位來討論指正。

#tail?/var/log/maillog
Mar?25?09:34:01?mail?sendmail[1833]:?AUTH=server,?relay=[192.168.1.175],?authid=redhat,?mech=LOGIN,?bits=0
Mar?25?09:34:01?mail?sendmail[1833]:?l2P1Y0Yp001833:?from=<[email]redhat@benet.org[/email]>,?size=1206,?class=0,?nrcpts=1,?msgid=<001701c770db$ddf2e3e0$af01a8c0@dellfe18970b3a>,?proto=ESMTP,?daemon=MTA-SSL,?relay=[192.168.1.175]
Mar?25?09:34:01?mail?mimedefang.pl[1746]:?MDLOG,l2P1Y0Yp001833,mail_in,,,<[email]redhat@benet.org[/email]>,<[email]root@benet.org[/email]>,defangfang?
Mar?25?09:34:01?mail?sendmail[1833]:?l2P1Y0Yp001833:?Milter?delete?(noop):?header:?X-Spam-Score
Mar?25?09:34:01?mail?sendmail[1833]:?l2P1Y0Yp001833:?Milter?add:?header:?X-Scanned-By:?MIMEDefang?2.61?on?192.168.1.66
Mar?25?09:34:01?mail?imapd[1837]:?imaps?SSL?service?init?from?192.168.1.175
Mar?25?09:34:01?mail?sendmail[1836]:?l2P1Y0Yp001833:?to=<[email]root@benet.org[/email]>,?ctladdr=<[email]redhat@benet.org[/email]>?(500/500),?delay=00:00:00,?xdelay=00:00:00,?mailer=local,?pri=31504,?dsn=2.0.0,?stat=Sent
Mar?25?09:34:01?mail?imapd[1837]:?Login?user=redhat?host=[192.168.1.175]

[ ?本帖最后由?marion?于?2007-3-28?10:17?編輯? ]


? marion 回復于:2007-03-29 21:17:53

說明一下,本文章可以跟后來的那篇名稱更長的文章一起看。
正在學習abel兄的pam_mysql,有興趣的朋友過來交流一下。


? marion 回復于:2007-04-20 09:05:54

測試使用MailScanner,有哪位朋友已經成功實現且有現成的經驗之作嗎?貼出來學習一下。


? diocorns 回復于:2007-05-11 15:42:28

這種方式對于有安全性要求的搭建還是很有用的,今晚試一下




原文鏈接: http://bbs.chinaunix.net/viewthread.php?tid=914758
轉載請注明作者名及原文出處

Sendmail + SASL + TLS (原創,使用Sendmail 8.14.0和openssl0.98e)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久久久国产一级毛片高清版 | 国产成人精品区在线观看 | 久久精品国产99国产精品澳门 | 日本特级全黄一级毛片 | 欧洲亚洲综合一区二区三区 | 国产精品国产福利国产秒拍 | 久久精品99精品免费观看 | 香蕉毛片 | 国产精品suv一区二区 | 欧美另类黑人巨大videos | 欧美成人午夜视频 | 日韩在线无 | 99在线免费观看视频 | 夜夜躁狠狠躁日日躁2021 | 久久精品国产影库免费看 | 九九影视网 | 欧美国产日韩一区二区三区 | 欧美色综合高清免费 | 国内精品影院久久久久 | 亚洲视频一二三 | 国内精品久久久久久网站 | 亚洲欧美一区二区久久 | 天天做天天玩天天爽天天 | 欧美99视频 | 久久66久这里精品99 | 亚洲日本中文字幕在线 | 日本免费一区视频 | 精品久久国产视频 | 天天伊人网 | 国产亚洲欧美日韩国产片 | 久久国产一久久高清 | 欧美精品成人一区二区视频一 | 狠狠色噜噜狠狠狠合久 | 九九成人 | 久久青草国产精品一区 | 天天干夜夜爱 | 欧美日韩亚洲国产综合 | 性一级录像| 国产高清视频免费 | 欧美性白人顶级hd | 99爱视频精品免视看 |