#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/]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS