POP/IMAP Configuration Manual

POP/IMAP最新バージョン
2005/2/5現在
WU-IMAP imap-2004c1
OpenSSL openssl-0.9.7e

目次

opensslの導入

POP/IMAP通信は、通信内容を平分で流してしまう。 ということはパスワードも平分で流してしまうためセキュリティ上好ましくない。 よって、POP33SやIMAPS通信にすることで暗号化することができる。 ここではセキュアなPOP/IMAP通信環境を構築していく。

POP3SやIMAPS通信を行うためにはSSLがインストールされていなければならない。 RPMでインストールしてあったのだが、どうもソースも入れておかないと いまいちうまくいかなかったためインストールした。 設定しだいでは必要ないとも思えるが、とりあえず残しておく。

tar zxvf openssl-0.9.7e.tar.gz
cd openssl-0.9.7e
./config
make
make install

UW-IMAPの導入

ファイルをダウンロードしてから展開する。

UW-IMAPの展開

tar zxvf imap-2004a.tar.Z
cd imap-2004a

Makefileの編集

コンパイルする前にMakefileを編集しなければいけない。 以下の二つのファイルを編集する。 編集する部分だけ抜き出す。

vi Makefile
--------------------------------------------------
PASSWDTYPE=pam
SSLTYPE=unix
--------------------------------------------------
vi src/osdep/unix/Makefile
--------------------------------------------------
PASSWDTYPE=pam
SSLTYPE=unix
SSLDIR=/usr/local/ssl
SSLCRYPTO=$(SSLLIB)/libcrypto.a
--------------------------------------------------

コンパイル

編集が終わったらコンパイルをする。

make lrh SSLTYPE=unix

コンパイル中にこれでいいか?と聞かれるが”y”を押してコンパイルを続ける。 コンパイル終了後実行ファイルをコピーする

cp ipopd/ipop3d /usr/sbin/
cp imapd/imapd /usr/sbin/

これで終わりである。

xinetdの設定

POPとIMAPをxinetd経由で起動させる設定を加える。 以下のファイルを作成する。

cd /etc/pam.d
touch pop3s
vi pop3s
--------------------------------------------------
service pop3s
{
        disable = no
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/sbin/ipop3d
        log_on_success          += HOST DURATION
        log_on_failure          += HOST
}
--------------------------------------------------

IMAPSを行う場合には以下のファイルも作成する。

touch imaps
vi imaps
--------------------------------------------------
service imaps
{
        disable = no
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/sbin/imapd
        log_on_success          += HOST DURATION
        log_on_failure          += HOST
}
--------------------------------------------------

”service”の行の記述はこれ変えてはならない。 ”service”で書かれたサービスは”/etc/services”を見て、serviceの行で書かれている内容とポート番号を関連付けるからである。 つまり”service pop”としてしまうと、どのポートをオープンさせればいいのかわからずエラーになる ”service pop3”とすると110番ポートが開き、暗号化通信が行われない。 よってPOPで暗号化通信を行うには”service pop3s”という記述にしておかなければならない。 IMAPについても同様である。

PAMの設定

POP/IMAPでの認証をPAMに代行させる。 PAM認証のための設定を付け加える。

cd /etc/pam.d/
touch pop
vi pop
--------------------------------------------------
#%PAM-1.0
auth       required     pam_stack.so service=system-auth
account    required     pam_stack.so service=system-auth
--------------------------------------------------

touch imap
vi imap
--------------------------------------------------
#%PAM-1.0
auth       required     pam_stack.so service=system-auth
account    required     pam_stack.so service=system-auth
--------------------------------------------------
chmod 644 pop
chmod 644 imap

証明書の準備

さて、SSLで暗号化通信を行うのだから当然証明書が必要になる。 証明書を作成し、設置する必要がある。 証明書はSSLのディレクトリ下にある”certs”ディレクトリに特定のファイル名で保存する。

cd /usr/local/ssl/certs
touch ipop3d.pem
touch imapd.pem

そしてファイルの中に証明書を格納するが、ファイルの中に秘密キーと公開キーの両方を格納する必要がある。 格納のサンプルは以下のとおりである。

-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDHkqs4YDbakYxRkYXIpY7xLXDQwULR5LW7xWVzuWmmZJOtzwlP
7mN87g+aaiQzwXUVndaCw3Zm6cOG4mytf20jPZq0tvWnjEB3763sorpfpOe/4Vsn
VBFjyQY6YdqYXNmjmzff5gTAecEXOcJ8CrPsaK+nkhw7bHUHX2X+97oMNQIDAQAB
AoGBAMd3YkZAc9LUsig8iDhYsJuAzUb4Qi7Cppj73EBjyqKR18BaM3Z+T1VoIpQ1
DeXkr39heCrN7aNCdTh1SiXGPG6+fkGj9HVw7LmjwXclp4UZwWp3fVbSAWfe3VRe
LM/6p65qogEYuBRMhbSmsn9rBgz3tYVU0lDMZvWxQmUWWg7BAkEA6EbMJeCVdAYu
nQsjwf4vhsHJTChKv/He6kT93Yr/rvq5ihIAPQK/hwcmWf05P9F6bdrA6JTOm3xu
TvJsT/rIvQJBANv0yczI5pUQszw4s+LTzH+kZSb6asWp316BAMDedX+7ID4HaeKk
e4JnBK//xHKVP7xmHuioKYtRlsnuHpWVtNkCQQDPru2+OE6pTRXEqT8xp3sLPJ4m
ECi18yfjxAhRXIU9CUV4ZJv98UUbEJOEBtx3aW/UZbHyw4rwj5N511xtLsjpAkA9
p1XRYxbO/clfvf0ePYP621fHHzZChaUo1jwh07lXvloBSQ6zCqvcF4hG1Qh5ncAp
zO4pBMnwVURRAb/s6fOxAkADv2Tilu1asafmqVzpnRsdfBZx2Xt4oPtquR9IN0Q1
ewRxOC13KZwoAWtkS7l0mY19WD27onF6iAaF7beuK/Va
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIECTCCA3KgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBujELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxHzAdBgNVBAoT
FkJsdXJkeWJsb29wIEluZHVzdHJpZXMxFjAUBgNVBAsTDUlTIERlcGFydG1lbnQx
ITAfBgNVBAMTGEJvbWJhc3RpYyBULiBCbHVyZHlibG9vcDEoMCYGCSqGSIb3DQEJ
ARYZYm9tYmFzdGljQGJsdXJkeWJsb29wLmNvbTAeFw0wMDA2MDYwMDUxMTRaFw0x
MDA2MDQwMDUxMTRaMIG6MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
bjEQMA4GA1UEBxMHU2VhdHRsZTEfMB0GA1UEChMWQmx1cmR5Ymxvb3AgSW5kdXN0
cmllczEWMBQGA1UECxMNSVMgRGVwYXJ0bWVudDEhMB8GA1UEAxMYQm9tYmFzdGlj
IFQuIEJsdXJkeWJsb29wMSgwJgYJKoZIhvcNAQkBFhlib21iYXN0aWNAYmx1cmR5
Ymxvb3AuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHkqs4YDbakYxR
kYXIpY7xLXDQwULR5LW7xWVzuWmmZJOtzwlP7mN87g+aaiQzwXUVndaCw3Zm6cOG
4mytf20jPZq0tvWnjEB3763sorpfpOe/4VsnVBFjyQY6YdqYXNmjmzff5gTAecEX
OcJ8CrPsaK+nkhw7bHUHX2X+97oMNQIDAQABo4IBGzCCARcwHQYDVR0OBBYEFD+g
lcPrnpsSvIdkm/eol4sYYg09MIHnBgNVHSMEgd8wgdyAFD+glcPrnpsSvIdkm/eo
l4sYYg09oYHApIG9MIG6MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
bjEQMA4GA1UEBxMHU2VhdHRsZTEfMB0GA1UEChMWQmx1cmR5Ymxvb3AgSW5kdXN0
cmllczEWMBQGA1UECxMNSVMgRGVwYXJ0bWVudDEhMB8GA1UEAxMYQm9tYmFzdGlj
IFQuIEJsdXJkeWJsb29wMSgwJgYJKoZIhvcNAQkBFhlib21iYXN0aWNAYmx1cmR5
Ymxvb3AuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAwEEk
JXpVXVaFTuG2VJGIzPOxQ+X3V1Cl86y4gM1bDbqlilOUdByUEG4YfSb8ILIn+eXk
WzMAw63Ww5t0/jkO5JRs6i1SUt0Oy80DryNRJYLBVBi499WEduro8GCVD8HuSkDC
yL1Rdq8qlNhWPsggcbhuhvpbEz4pAfzPkrWMBn4=
-----END CERTIFICATE-----

このような形でipop3d.pemにもimap.pemにも秘密キーと公開キーを保存すればOK。 秘密キーのパスフレーズを設定しておくと、暗号化が上手く行われないので、あらかじめパスフレーズをクリアーしておくこと。

xinetdを起動してサービスが稼動していることと、ポートが開いていることを確認し、接続すればよい。

参考リンク

UW IMAP


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-01 (日) 20:53:08 (1050d)