################################################## ##### UPKI サーバ証明書のインストールログ ##### ##### 作成 三上 峻 (2016/01/28) ##### ################################################## 概要 * このドキュメントは https://certs.nii.ac.jp/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=1&item_no=1&page_id=85&block_id=439 にある「UPKI電子証明書自動発行支援システムサーバ証明書インストールマニュアルApache2.0-mod_ssl編」2-5,2-6,2-7と [epcore-ml: 12564] UPKI サーバ証明書について の渡辺健介氏作ドキュメントを参考にして, メールサーバ(pop,imap,smtp) にサーバ証明書を導入するためのものである. * 以下のログはusuzumi での実際の作業である. 0) 準備 + 作業ディレクトリの作成 $ mkdir cert_install $ cd cert_install + 各種証明書の取得 + ホスト証明書の取得 $ scp mikataka@www:~epcore/upki_20160115/usuzumi.cer ./ + 中間CA 証明書の取得 $ wget https://repo1.secomtrust.net/sppca/nii/odca3/nii-odca3sha2.cer + 秘密鍵をサーバから取得(セキュリティの観点から場所を伏せる) $ scp XXXXX/usuzumi.key ./ + 秘密鍵のパスフレーズの消去 + 元ファイルをコピー $ cp usuzumi.key usuzumi_out.key + 秘密鍵のパスフレーズを消去 # openssl rsa -in usuzumi_out.key -out usuzumi_out.key + ホスト証明書の体裁を変える + - 証明書の先頭行と最終行にそれぞれ, -----BEGIN CERTIFICATE----- ...... -----END CERTIFICATE----- を加える - 1 行64 文字(64 bit)となるように改行 + 備忘録 + 秘密鍵の内容を確認するコマンド $ openssl rsa -in XXXXX.key -text + 証明書の内容を確認するコマンド $ openssl x509 -in XXXXX.cer -text 参考:http://chinmai.net/~osakana/tech-memo/wiki.cgi?page=OpenSSL+CSR%2C+%BE%DA%CC%C0%BD%F1%A4%CA%A4%C9%B3%CE%C7%A7%A5%B3%A5%DE%A5%F3%A5%C9 1) imap に証明書 を適用 参考: https://www.digicert.ne.jp/howto/install/install_dovecot.html https://www.digicert.ne.jp/howto/basis/pem-ssl-creation.html ※ dovecot にSSL を適用させるばあいには以下のものが必要 * host 証明書(usuzumi.cer) + 中間証明書(nii-ocda3sha2.key) を結合した証明書 * .pem ファイル * パスフレーズ解除済みの秘密鍵(usuzumi_out.key) + 準備 + imap 用作業ディレクトリの作成 $ mkdir imap + 移動 $ cd imap + 証明書・秘密鍵をコピー $ cp ../*.cer ./ $ cp ../usuzumi_out.key ./ + host 証明書と中間証明書を結合 $ cat usuzumi.cer nii-odca3sha2.cer > dovecot_cer.pem + 証明書・秘密鍵の移動 # cp dovecot_cer.pem /etc/dovecot/dovecot_cer.pem # cp usuzumi_out.key /etc/dovecot/private/dovecot_key.pem # chmod 700 /etc/dovecot/private/dovecot_key.pem + imap 設定ファイルの変更 + /etc/dovecot/conf.d/10-ssl.conf 以下のように変更 ssl_cert = 証明書の表示 => 認証局証明書 => SECOM Trust Systems CO.,LTD. => NII Open Domain CA - G4 が証明書に該当 + 本来の証明書の置き方 上記は本来の証明書の置き方とは異なっていたので以下のように変更 参考:http://up-point-server.info/?p=65 * 結合証明書は不要 # cp usuzumi.cer /etc/dovecot/dovecot.cer # cp nii-odca3sha2.cer /etc/dovecot/ + 上記に合わせて設定を変える + /etc/dovecot/conf.d/10-ssl.conf 以下のように変更 ssl_cert = qmail.pem + root 以外閲覧できないようにする # chmod 700 qmail.pem + ファイルを移動 # cp qmail.pem /var/qmail/server.key/ + qmail のスタートファイルを書き換え + /etc/init.d/qmail 以下の # For SMTP over SSL sh -c " /sbin/start-stop-daemon --start --quiet --user qmaild \ --pidfile /var/run/tcpserver_ssmtp.pid --make-pidfile \ --exec /usr/local/bin/tcpserver-ssl -- -s -HRv -u \ ` id -u qmaild ` -g ` id -g qmaild ` -x /etc/tcp.smtp.cdb \ -n /var/qmail/server.key/cert.pem 0 ssmtp \ /usr/local/bin/rblsmtpd -r bl.spamcop.net \ /var/qmail/bin/qmail-smtpd-auth usuzumi.ep.sci.hokudai.ac.jp \ /bin/checklocalpwd /bin/true 2>&1 \ | /var/qmail/bin/splogger smtpd 3 > /dev/null 2>&1 &" .... # For POP3 over SSL sh -c "/sbin/start-stop-daemon --start --quiet --user root \ --pidfile /var/run/tcpserver_pop3s.pid --make-pidfile \ --exec /usr/local/bin/tcpserver-ssl -- -s \ -n /var/qmail/server.key/cert.pem \ -v -u 0 -g 0 0 pop3s \ /var/qmail/bin/qmail-popup \ usuzumi.ep.sci.hokudai.ac.jp /bin/checkapoppw \ /var/qmail/bin/qmail-pop3d Maildir 2>&1 \ | /var/qmail/bin/splogger pop3d 3 > /dev/null 2>&1 &" を以下に変更(cert.pem => qmail.pem) # For SMTP over SSL sh -c " /sbin/start-stop-daemon --start --quiet --user qmaild \ --pidfile /var/run/tcpserver_ssmtp.pid --make-pidfile \ --exec /usr/local/bin/tcpserver-ssl -- -s -HRv -u \ ` id -u qmaild ` -g ` id -g qmaild ` -x /etc/tcp.smtp.cdb \ -n /var/qmail/server.key/qmail.pem 0 ssmtp \ /usr/local/bin/rblsmtpd -r bl.spamcop.net \ /var/qmail/bin/qmail-smtpd-auth usuzumi.ep.sci.hokudai.ac.jp \ /bin/checklocalpwd /bin/true 2>&1 \ | /var/qmail/bin/splogger smtpd 3 > /dev/null 2>&1 &" .... # For POP3 over SSL sh -c "/sbin/start-stop-daemon --start --quiet --user root \ --pidfile /var/run/tcpserver_pop3s.pid --make-pidfile \ --exec /usr/local/bin/tcpserver-ssl -- -s \ -n /var/qmail/server.key/qmail.pem \ -v -u 0 -g 0 0 pop3s \ /var/qmail/bin/qmail-popup \ usuzumi.ep.sci.hokudai.ac.jp /bin/checkapoppw \ /var/qmail/bin/qmail-pop3d Maildir 2>&1 \ | /var/qmail/bin/splogger pop3d 3 > /dev/null 2>&1 &" + qmail 再起動 # service qmail restart # ps aux | grep qmail + メーラでチェック + POP over SSL, SMTP over SSL 3) Web メールが使えるか試す + Gmail はちゃんとした中間証明書を使うメールサーバは使わせて もらえるはず + 普段Gmail をデフォルトのメーラに使っている人に対応 + 留学生などの対応等が楽になると思われる + 設定 + 「右上の歯車」 => 「設定」=>「アカウントとインポート」=> 「自分のPOP3 メールアカウントを追加」 + 項目を入力 + メールアドレス mondo4@usuzumi.ep.sci.hokudai.ac.jp + パスワード + POP サーバー usuzumi.ep.sci.hokudai.ac.jp + ポート 995 + メールの取得にセキュリティで保護された接続(SSL) を使用する。 チェック + エラーがでた サーバーから返されたエラー: "Connection reset by peer: The other server terminated our connection. Please contact your other email provider for more information." + 外からのアクセスが出来なかった(なぜ?) + もう一度チャレンジ + 取得したメッセージのコピーをサーバーに残す チェック + エラーがでた Connection timed out: There may be a problem with the settings you added. Please contact your other email provider to verify the correct server name and port + 接続がタイムアウト? + usuzumi 側のsyslog を眺める Jan 28 23:19:55 usuzumi pop3d: 1453990795.716528 tcpserver: ok 23839 usuzumi.ep.sci.hokudai. ac.jp:133.50.160.52:995 mail-ob0-f133.google.com:209.85.214.133::35982 Jan 28 23:19:55 usuzumi pop3d: 1453990795.717009 tcpserver: warning: dropping connection, un able to accept SSL connection + 調べたけどよくわからなかった