#author("2017-01-01T20:53:08+09:00","default:auth_user","auth_user") *POP/IMAP Configuration Manual [#r14dce3f] RIGHT:POP/IMAP最新バージョン RIGHT:2005/2/5現在 RIGHT:WU-IMAP imap-2004c1 RIGHT:OpenSSL openssl-0.9.7e *目次 [#r3283d4a] #contents **opensslの導入 [#l07b43c7] 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の導入 [#q893a5e6] ファイルをダウンロードしてから展開する。 ***UW-IMAPの展開 [#lcc2c129] tar zxvf imap-2004a.tar.Z cd imap-2004a ***Makefileの編集 [#pf5e1bb9] コンパイルする前にMakefileを編集しなければいけない。 以下の二つのファイルを編集する。 編集する部分だけ抜き出す。 vi Makefile -------------------------------------------------- PASSWDTYPE=pam SSLTYPE=unix -------------------------------------------------- vi src/osdep/unix/Makefile -------------------------------------------------- PASSWDTYPE=pam SSLTYPE=unix SSLDIR=/usr/local/ssl SSLCRYPTO=$(SSLLIB)/libcrypto.a -------------------------------------------------- ***コンパイル [#bc1a5674] 編集が終わったらコンパイルをする。 make lrh SSLTYPE=unix コンパイル中にこれでいいか?と聞かれるが”y”を押してコンパイルを続ける。 コンパイル終了後実行ファイルをコピーする cp ipopd/ipop3d /usr/sbin/ cp imapd/imapd /usr/sbin/ これで終わりである。 **xinetdの設定 [#m9ef486e] 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の設定 [#p1755348] 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 **証明書の準備 [#q3a3c358] さて、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を起動してサービスが稼動していることと、ポートが開いていることを確認し、接続すればよい。 *参考リンク [#zd315a49] >> [[UW IMAP:http://www.washington.edu/imap/]]