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を起動してサービスが稼動していることと、ポートが開いていることを確認し、接続すればよい。 参考リンク † |