I Love FX
    キャッシング
    --------(--)

    スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。
    2010-11-27(Sat)

    XAMPP Mercury/32メールサーバの設定(SSL化)

    Mercury/32メールサーバのSSL化

    STARTTLS をサポートしていないメーラーのために、SMTP/POP3/IMAP4 over SSL を実現します。

    (SSLトンネル/SSLラッパー stunnelの利用)
    SSLトンネルとかSSLラッパーと呼ばれるソフトウエアがあります。
    これはSSL化していないサーバと併用する一種のプロキシーサーバです。

    ・動作イメージとしては、以下のようになります。
    ユーザー <= (SSL) => SSLトンネル/SSLラッパー <= (平文) => サーバ

    この目的で使えそうなフリーソフトを調べてみますと過去には幾つかのソフトウエアがあったのですが、確実にメールサーバにつかえるソフトに "stunnel" が有ります。

    SSLトンネル/SSLラッパーの動作は、単に平文をSSLに変換するだけですので複数組のポートが設定可能であれば、いわゆるhttpサーバを対象としたツールも流用可能と考えられます。

    この代換え可能なソフトウエアの中で、"pound" と言うロードバランサとして使える興味深いツールも有りました。

    ロードバランサは、集中するサーバへをアクセスを複数のサーバに分散させる仕組みで、検索エンジンやYahoo!オークション・2チャンネルなどでは必須な技術となります。いずれ機会がありましたら、"pound"を使ったロードバランサも試してみたいと考えています。

    以上から、ここでは "Stunnel" を使いSSL化を実現します。

    Stunnel -- Universal SSL Wrapper

    Stunnelは、非SSLプロトコルを扱うサービス(POP・IMAP・LADAPなど)を元のサービスに手を加える無くSSL化できる、いわゆる”ユニバーサルSSLラッパ”と呼ばれるソフトウエアです。
    なお、GPL(GNU General Public License)で提供されてるオープンソフトウェアです。

    1. Stunnelのダウンロード

    【Stunnel-4.x最新版(2010.11.25)】
    Windows用のプログラムは、 "http://www.stunnel.org/download/binaries.htmlStunnel サイト" からダウンロードします。
    現在(2010年11月25日)最新のプログラムファイルは、以下のバージョンとなります。
    705871 Sep 19 14:01:34 2010 stunnel-4.34-installer.exe

    Stunnel01

    2. Opensslのダウンロード

    XAMPPをインストールした時点で「OpenSSL」がインストールされているはずですが、上手く動作しない場合は下記からダウンロードし再インストールします。(2101.12.26修正)
    OpenSSL v1.0.0b Light

    Openssl

    OpenSSL v1.0.0b Light をインストールします。

    3. Stunnelのインストール

    (1) ダウンロードしたファイルをダブルクリックしインストールを開始します。
    (2) ライセンス内容を読み [I Agree] をクリックします。

    Stunnel03

    (3) インストールするコンポーネントの選択:そのまま [Next] をクリックします。

    Stunnel04

    (4) インストールするフォルダの選択
    そのまま [Install] をクリックしても良いのですが、私はXAMPPと同じフォルダである "D:\xampp\stunnel" にインストールしました。

    Stunnel05


    4. Stunnelの設定

    Stunnelの設定は、テキストファイルである "stunnel.conf" を編集することで行います。
    編集は以下の手順で,"stunnel.conf" を呼び出します。
    スタート > プログラム > stunnel > Edit stunnel.conf

    Stunnel08

    変更箇所は、サーバー認証書(cert)と、その対になる鍵(key)です。
    サーバー認証書(cert)は、先に "FTPS" で作成した認証書ファイル (certificate.crt) を使用します。
    その対となる鍵ファイル (private.key) も同様です。


    "-------"で囲った範囲を重ね書きした上で、あなたのサーバでの正しいサーバー認証書/鍵ファイルのフルパスに書き換えて下さい。

    ↓↓↓↓↓↓↓ ここから ↓↓↓↓↓↓↓
    ------------------------------------------------------------------
    ; Sample stunnel configuration file by Michal Trojnara 2002-2006
    ; Some options used here may not be adequate for your particular configuration

    ; 証明書/キーは、サーバ・モードでは必須、クライアントモードではオプションとなる
    ; デフォルトの証明書の使用はテスト時のみで実稼動時には使用しないこと。
    ;cert = stunnel.pem ------------- サーバ証明書
    ;key = stunnel.pem ------------- 秘密キー 
    cert = D:\xampp\certifications\certificate.crt
    key = D:\xampp\certifications\private.key


    ; パフォーマンスチューニング
    socket = l:TCP_NODELAY=1
    socket = r:TCP_NODELAY=1

    ; Eudoranoのバグ回避策
    ;options = DONT_INSERT_EMPTY_FRAGMENTS

    ; 証明書検証オプション(デフォルトは検証しない。)
    ;verify = 2
    ; Don't forget to c_rehash CApath
    ;CApath = certs

    ; 証明書の検証に使う ルートCA証明書ファイル名(これを使う方が簡単)
    ;CAfile = certs.pem

    ; Don't forget to c_rehash CRLpath
    ;CRLpath = crls

    ; Alternatively you can use CRLfile
    ;CRLfile = crls.pem

    ; ログファイルを記録する。Max = 7 :全て
    ;debug = 7
    ;output = D:\stunnel.log

    ; クライアントモード時:yes
    ;client = yes

    ; サービスレベルの設定
    ; accept:stunnel が 接続を待ち受けるホスト名またはアドレスとポート。
    ; connect:stunnel が接続する各SSL対応サーバのホスト名またはアドレスとポート番号。

    [pop3s]
    accept = 995
    connect = localhost:110

    [imaps]
    accept  = 993
    connect = localhost:143

    [ssmtp]
    accept  = 465
    connect = localhost:25

    ;[https]
    ;accept  = 443
    ;connect = localhost:80
    ;TIMEOUTclose = 0

    ; vim:ft=dosini
    ------------------------------------------------------------------
    ↑↑↑↑↑↑↑ ここまで ↑↑↑↑↑↑↑

    以上で、設定は終了です。

    5. Stunnelの起動

    ・下図で、 "Run stunnel" ① をクリックして起動します。
    ・常時サーバーとして動作させる場合は、Stunnelを "Service Install" ② でサービスとしてインストールした後、"Service Start" をクリックして起動します。

    Stunnel09


    6. 各サーバーSTARTTLSの無効化

    各サーバのSTARTTLSのチェックを外し無効化します。

    (1) SMTPサーバのSTARTTLS無効化
    SMTP非SSL

    (2) POP3サーバのSTARTTLS無効化
    POP3非SSL

    (3) IMAP4サーバのSTARTTLS無効化
    IMAP4非SSL

    以上の再設定を行い、Mercury/32を再起動します。


    7. StunnelによるSSL化の確認

    例によってMozilla Thunder birdで行います。

    (1) POP3サーバの設定変更
    ポート番号を、995 (IMAP4の場合は、993) に、[接続の保護] を、SSL/TSLに変更します。
    Thunderbird10


    (2) SMTPサーバの設定変更
    ポート番号を、465 に 、[接続の保護] を、SSL/TSLに変更します。
    Thunderbird11

    以上で、メーラの設定が終了しました。

    実際にメールサーバとして運用するには、外部から直接、ポート25・110・143 にアクセスできないように、同ポートを閉じておく必要が有ります。

    ↓の評価ボタンを押してランキングをチェック!
    素晴らしい すごい とても良い 良い
    関連記事

    コメントの投稿

    管理者にだけ表示を許可する

    コメント

    最新記事
    カテゴリ
    応援クリック
    お役に立てました? クリックしてね。
    人気ブログランキングへ にほんブログ村 IT技術ブログ Webサイト構築へ
    にほんブログ村

    FC2Blog Ranking

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
    お知らせ
    0円/100円 PCはいかが?



    サイドビジネスはいかが?

    太り気味なあなたに!

    検索フォーム
    RSSリンクの表示
    リンク
    FC2サービス
    ログ ホームページ
    お勧めお小遣い稼ぎサイト
    マクロミルへ登録
    5百-千円/月稼げます。
    討論会参加で3万円も

    ここから申し込むと
    250p貰えます
    無料ゲームで稼げる&高還元率ポイントサイト│ドル箱
    Pt獲得チャンス多い

    Pt獲得チャンス多い
    MicroAd
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。