メールサーバー間通信内容暗号化(OpenSSL+qmail+Courier-IMAP)の構築

ホームへ戻る

合計:
昨日:
今日:

更新日:07/5/26

メールの送受信を行う場合、通常は、暗号化されていない。せめて、メールサーバーとクライアント間だけでも暗号化しようというのがねらいである。サーバー間を暗号化する場合は、今のところ有償となるようである。無料のものが出たらぜひ、構築していきたいと思っている。前提として、メールサーバー(qmail)が構築済みであること。  
   
◆tcpserverのSSL対応 <<TOP
qmailでは、tcpserverをSSLに対応させることでSSL通信が可能となる。  

@、まず、qmailを停止する。そうしないと暗号化できない。

[root@server ~]# /etc/rc.d/init.d/qmail stop ← qmailの停止
Shutting down qmail

[root@server ~]# 

A、tcpserverのSSL対応

ucspi-tcpの最新版は、ここから、tcpseverのSSLのpatchは、ここを確認してください。


[root@server ~]# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz ← ucspi-tcpのダウンロード
--13:06:20--  http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
cr.yp.to をDNSに問いあわせています... 131.193.36.21
cr.yp.to|131.193.36.21|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 53019 (52K) [application/x-gzip]
Saving to: `ucspi-tcp-0.88.tar.gz'

100%[=====================================================>] 53,019      78.6K/s   in 0.7s   

13:06:21 (78.6 KB/s) - `ucspi-tcp-0.88.tar.gz' を保存しました [53019/53019]

[root@server ~]# wget http://www.nrg4u.com/qmail/ucspi-tcp-ssl-20050405.patch.gz
         ↑ ucspi-tcpのssl対応patchをダウンロードする

--16:50:57--  http://www.nrg4u.com/qmail/ucspi-tcp-ssl-20050405.patch.gz
www.nrg4u.com をDNSに問いあわせています... 62.48.2.2
www.nrg4u.com|62.48.2.2|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 13173 (13K) [application/x-gzip]
Saving to: `ucspi-tcp-ssl-20050405.patch.gz'

100%[=====================================================>] 13,173      21.7K/s   in 0.6s   

16:50:59 (21.7 KB/s) - `ucspi-tcp-ssl-20050405.patch.gz' を保存しました [13173/13173]

[root@server ~]# tar zxvf ucspi-tcp-0.88.tar.gz ← 展開
    ・
    ・
    ・
ucspi-tcp-0.88/warn-shsgr
ucspi-tcp-0.88/x86cpuid.c

[root@server ~]# gunzip ucspi-tcp-ssl-20050405.patch.gz ← パッチの解凍

[root@server ~]# mv ucspi-tcp-ssl-20050405.patch ucspi-tcp-0.88 ← パッチをucspi-tcpの解凍先へ移動

[root@server ~]#  cd ucspi-tcp-0.88 ← ucspi-tcpの解凍先へ移動

[root@server ucspi-tcp-0.88]# patch < ucspi-tcp-ssl-20050405.patch ← パッチの施工
patching file FILES
patching file Makefile
patching file TARGETS
patching file addcr.1
patching file argv0.1
patching file date@.1
patching file delcr.1
patching file error.h
patching file finger@.1
patching file fixcrio.1
patching file hier.c
patching file http@.1
patching file mconnect.1
patching file recordio.1
patching file tcp-environ.5
patching file tcpcat.1
patching file tcpclient.1
patching file tcprules.1
patching file tcprules.c
patching file tcprulescheck.1
patching file tcprulescheck.c
patching file tcpserver.1
patching file tcpserver.c
patching file who@.1

[root@server ucspi-tcp-0.88]# make ← ucspi-tcpのコンパイル
    ・
    ・
    ・
nroff -man delcr.1 > delcr.0
nroff -man argv0.1 > argv0.0
nroff -man recordio.1 > recordio.0

[root@server ucspi-tcp-0.88]# /bin/cp -r tcpserver /usr/local/bin ← SSL対応のtcpseverを上書きする

[root@server ucspi-tcp-0.88]# make cert ← サーバー証明書の作成
openssl req -new -x509 -nodes \
        -out cert.pem -days 366 \
        -keyout cert.pem
Generating a 1024 bit RSA private key
..........................................................................++++++
.........................................................++++++
writing new private key to 'cert.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) [GB]:JP ← 国名応答
State or Province Name (full name) [Berkshire]:Kanagawa ← サーバーの所在地(都道府県)
Locality Name (eg, city) [Newbury]:Kawasaki ← サーバーの所在地(市町村)応答
Organization Name (eg, company) [My Company Ltd]:arisonsvr.org ← サーバー名応答
Organizational Unit Name (eg, section) []: ← 空エンター
Common Name (eg, your name or your server's hostname) []:mail.arisonsvr.org ← メールサーバー名応答
Email Address []:postmaster@arisonsvr.org ← メールサーバー管理者応答

[root@server ucspi-tcp-0.88]# cp cert.pem /var/qmail ← サーバー証明書をqmailインストールディレクトリへコピー

cp: `/var/qmail/cert.pem' を上書きしてもよろしいですか(yes/no)? y ← 旧バージョンに上書き

[root@server ucspi-tcp-0.88]# chmod 600 /var/qmail/cert.pem ← root以外参照できないようにパーミッション変更

[root@server ucspi-tcp-0.88]# cd ← rootに移動

[root@server ~]# rm -rf ucspi-tcp-0.88 ← 展開したucspi-tcpディレクトリを削除

[root@server ~]# rm -f ucspi-tcp-0.88.tar.gz ← ダウンロードしたucspi-tcpを削除

[root@server ~]# 

 

 
   
  <<TOP
   

 

<<TOP
   
  <<TOP
   
  <<TOP
   
  <<TOP