pleskサーバとSSL

すっかり放置気味のFOX通信ですが、、、久々に書いてみたり。
いや、単なる技術的覚書なんだけど(苦笑)
 #なので全然興味のない方はスルーでお願いします

Twitterにはそれなりにつぶやいてるんだけどねぇ。。。
t2bから反映されなくなってログインもできなくなっちゃったから、
こっちにTwitter反映出来なくって、、、

と、言い訳はさておき、SSLの話ね(すぐ話がズレるからな…)
SSL証明書が最近2048ビットじゃないと更新やら新規やらの手続きができなくなっちゃったので、KEYもCSRも全部作り直しでまーめんどい。

しかも古いタイプのコンパネ(cobalt系。派生のblueonyxも含む)使ったサーバなんかだと、コンパネからだと1024ビットしか作れないもんだから、
しゃーないからシェルでopensslコマンド使ってkeyだのcsrを作らんといかんのだな。

でも、今回はcobalt系は関係なくて、pleskのお話。

pleskを使ったサーバだと、一応コンパネから2048ビットのkeyとcsrを作れるんだけど、
これがまたちと…いや、かなり手順がめんどくさい。
だもんで、来年の更新時期になったら絶対また忘れてる(笑)ので、一応覚書書いとこうかなーと。

あ、もう今年2048ビットで作ったから、来年からはCSR流用できるんだった。。。
ま、いいや、一応書いとこ。

サーバーコンパネ用の証明書作成・登録

  1. pleskにログイン。
  2. システム→サーバ→証明書に移動
  3. 「証明書の追加」をクリック。証明書名は適当にわかり易い名前でOK
    1. プリファレンスの所でビット数を2048に変更(デフォルトは1024)
    2. 都道府県とかはCSRで使う情報なので、当然英語表記で入れます
    3. ドメイン名はSSLで使うコモンネーム(更新だったら今までのものでOK)
    4. メールアドレス入れたら「リクエスト」をクリック
    5. 下の方の「証明書」「秘密鍵」のとこに生成されたテキストが表示されるので、とりあえずCSRをコピー。
  4. SSL業者のとこで新規購入なり更新手続きなりをして、証明書を入手。
  5. 入手したら、SSL証明書とCA証明書をコンパネから登録。(ファイルアップロードでも、テキストコピペでもどっちでもOK、但しこの時、中間とルート証明書はひとつのファイルにまとめとく必要あり)

ここまでやっても、よーやくサーバー上にSSL証明書が乗っかった状態。まだまだ実際には適用されてないです。
 #あーめんどくさ
  シェルでやった方がよっぽど楽な気がすんのは気のせいか???

  1. 証明書の一覧に戻ったら、新しく登録した証明書を選択して「セキュアコントロールパネル」をクリック(これでようやくコンパネに適用)
  2. 続けて「webサイトでのデフォルトを指定する」をクリック。(これで、バーチャルホストの共有SSLとして使える)
  3. サーバ管理画面の「IPアドレス」に移動して、SSL証明書を古い1024ビットから新しい2048ビットに切り替える(これやらないと、折角更新しても古い証明書を見続けちゃうという残念仕様)
     #これ忘れると、うっかり有効期限切れて警告出まくりっつー悲しい事に…
      多分ここでapacheに適用すんだろうなー

バーチャルホスト側のSSL設定

サーバーのホスト名とSSLのコモンネームが別で、
コモンネームの方はバーチャルホストに設定してる場合、
バーチャルホスト側にもSSLを設定してあげる必要があります。

ということでドメイン→該当ドメイン(コモンネーム)→証明書に移動。
ここでうっかり新規追加しようとすると、またCSRから作らないといけないので、そこは無視。
「証明書に適合する秘密鍵を検索する」
ってとこで、入手済みの証明書をアップロードすると、CSR抜きで秘密鍵とかCA証明書とか、さっきコンパネ用に設定したものが自動反映されるて終了。
 #こっちは割と楽なんだ

ここまででweb系のSSLは終了なんだけど…問題はpopとimapとsmtp用のSSLなのである…

POP over SSL用の設定

これ、コンパネじゃできねーんだよぉ………………
 #初めてこのサーバーでSSL更新した時に、このせいで有効期限切れ警告出ちゃってお客さんに怒られたorz

つーことで、まずシェルログインして、以下の3つを今回取得した証明書と差し替え。

/usr/share/courier-imap/imapd.pem
/usr/share/courier-imap/pop3d.pem
/var/qmail/control/servercert.pem

この時、pemファイルは

  • プライベートキー
  • プライマリ証明書
  • 中間証明書
  • ルート証明書

の内容を全部含んだファイルにしないとダメ。

でもって、当然置き換えたら、imapもpopもqmailも全部再起動。
 #ぶっちゃけリロードでもいいような気もしなくもないけど、怖いので一応再起動

あとは念のための証明書の期限の確認…なんだけど、
普通にコモンネームのサーバーでメールアクセスしても証明書は見えないのだよな…
 #実はここでまたしばらくはまった、、、

ただ、同居してる他のドメインがあるなら実はとっても話が簡単だった事に実は今日気がついた。
要は、コモンネームが違うドメインでPOP over SSLでアクセスすれば、
メーラーが証明書の警告出すから、そこで証明書を表示して有効期限を確認すればよかった、というオチ、、、
 #多分これは他のpopサーバーの確認にも応用できると思われ

あーもう。
先週の金曜日、夜中に何時間これで悩んだことか…
気がついた時には嬉しかったけど、なんかちょっと悔しかったり。
でもまあ、お客さんに怒られる要素潰したからいっか。
ということで長々と自分の覚え書き用に書いてみました。
画像が無いから、これでもまだ短い方なのよね(^^;)
 #さすがに仕事で使ってるサーバのコンパネの画像なんぞ使えんがな
  モザイク入れる手もあるけど果てしなくめんどくさいし・・・

今後役に立つことがあるかどうかは…わかりませぬ(^^;)