ucspi-tcp (SSL Patch) と ucspi-ssl (TLS Patch)

FreeBSD

Seichan です.qmail 関連の SSL/TLS 化を考えてます.特に SMTP(submission), POP3, IMAP.

楽ちんぽいのは ucspi-tcp を SSL が扱えるようにする方法だったので色々調べてみた.

sysutil/ucspi-tcp (オリジナル)
WITH_SSL=yes でパッチを当てる事で行ける.tcpserver はそのまま使えるので,tcpserver を使っていて SSL 不要な所はまったく修正が要らず,SSL 化したい所だけ,オプションを追加してやる.

tcpserver に追加するオプションは,
-s SSL を有効
-n CERTFILE 証明書/鍵ファイルを指定
と,これだけ.

ただ,証明書/鍵を1つのファイルに収める必要があるのでその点が微妙?

sysutil/ucspi-ssl-tls (SSL/TLS パッケ)
ucspi-tcp とはまったく別の実装で ucspi-ssl と言う物がある.で,ucspi-ssl に TLS パッチを適用した物が,ucspi-ssl-tls.

こっちも,tcpserver とはまったく別のバイナリ sslserver を使うので,tcpserver を使っていて SSL 化が不要ならそこはいじる必要なし.上のやつより高機能な為,色々面倒な部分も.

とりあえずは tcpserver と記述していた所を sslserver に変更するだけなんだけど,鍵や証明書の指定方法が独自というか djb 的?

複数の環境変数が必要で,

  • CADIR
    • 証明書等を収めているディレクトリ
  • CAFILE
    • CA証明書ファイル
  • CERTFILE
    • サーバ証明書ファイル
  • CIPHERS
    • 使用可能な暗号化スイートを列挙
  • DHFILE
    • 鍵交換ファイル
  • KEYFILE
    • サーバ鍵ファイル

と,色々と準備が多かった.
鍵交換ファイルってなんやねん? ととりあえず調べ,

openssl dhparam -out dh1024.pem 1024

と作ることを知った.

最後に,uw-imap の ipop3d を使ってるわけですが,これ自身 SSL を有効にしてビルドしてれば巣の tcpserver で良い.
証明書/鍵を置く場所が最初から決まっているので,そこに配置してサービスを動作させるだけ.鍵等のファイルが無かったら平文で使える.
初めて知ったよ.

こいつは諸事情で ports から入れていないので,証明書を置く場所が標準とちょっと違うのかな?
Makefile に SSLCERTS=/etc/ssl/certs SSLKEYS=/etc/ssl/private って書いてあったので,それにならってディレクトリ作成.

ファイルはバイナリ名と同一にする必要があるっぽいので,ipop3d を SSL 化する場合は ipop3d.pem というファイル名にする必要があるらしい.

とりあえず,pop3 の SSL 化は完了したんだけど,まだ SSL 状態にはしていない.SMTP(submission) も SSL 化したけど…
いつからスタートしましょうか? > 使っている方.特に,くらとぱぷ

コメント

タイトルとURLをコピーしました