Home » FreeBSD » Disable SSLv3 (bsdftpd-ssl) (Tag: )

Disable SSLv3 (bsdftpd-ssl)

2014/12/23 20:48

POODLE (Padding Oracle On Downgraded Legacy Encryption) と呼ばれる攻撃方法を回避するために、SSL 3.0 の無効化が推奨されました。

apache, sendmail 等メジャーなプログラムはその方法が多く掲載されていますが、マイナーな FTP サーバプログラム bsdftpd-ssl 1.1.0 における無効化の方法を記載します。

調べた限りでは、apache, sendmail 等と異なり設定ファイルでの調整では無効化出来ませんでした。そのため、ソースファイルを修正して再度コンパイルします。

ポイントは sslapp.c で SSL 2.0, 3.0 の無効を明言することです。

ログファイルや ftps コマンドでのプロンプトでは、SSLv3, TLSv1 どちらのバージョンでも TLSv1/SSLv3 と表記されるため、ftpd.c, util.c の修正により明示することが可能です。

# diff update/ftpd.c bsdftpd-ssl-1.1.0/ftpd/
4773c4773
<                       SSL_get_version(ssl_con), SSL_CIPHER_get_name(ssl_cipher), ssl_bits);
---
>                       ssl_version, SSL_CIPHER_get_name(ssl_cipher), ssl_bits);

# diff update/sslapp.c bsdftpd-ssl-1.1.0/ssl/
137,138c137
<     /* SSL_CTX_set_options(ssl_ctx, SSL_OP_ALL); */
<     SSL_CTX_set_options(ssl_ctx, SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
---
>     SSL_CTX_set_options(ssl_ctx, SSL_OP_ALL);

# diff update/util.c bsdftpd-ssl-1.1.0/ftp/
1002c1002
<                           SSL_get_version(ssl_con), SSL_CIPHER_get_name(ssl_cipher),
---
>                           ssl_version, SSL_CIPHER_get_name(ssl_cipher),

sslapp.c で意図的に無効化することで挙動の確認を取りました。まずは TLSv1 を無効化して、SSLv2, SSLv3 が有効化されている状態です。

SSL_CTX_set_options(ssl_ctx, SSL_OP_ALL | SSL_OP_NO_TLSv1);

# /var/log/xferlog

Dec 23 09:47:40 hs ftpd[47022]: TLS/SSL SUCCEEDED WITH hs (FTP-TLS, SSLv3, cipher AES256-SHA, 256 bits)

# ftps

Connected to hs.drive.ne.jp.
220 Drive Network FTP Server Ready
Name (hs:adn):
234 AUTH TLS command successful.
[SSLv3, cipher AES256-SHA, 256 bits]

次に、本来の措置 SSLv2, SSLv3 を無効化した場合です。

SSL_CTX_set_options(ssl_ctx, SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3)

# /var/log/xferlog

Dec 23 09:54:52 hs ftpd[6198]: TLS/SSL SUCCEEDED WITH hs (FTP-TLS, TLSv1, cipher AES256-SHA, 256 bits)

# ftps

Connected to hs.drive.ne.jp.
220 Drive Network FTP Server Ready
Name (hs:adn):
234 AUTH TLS command successful.
[TLSv1, cipher AES256-SHA, 256 bits]

Random Select

手打ち生麺 沖縄そば定食
以前から興味があった "手打ち生麺 沖縄そば定食" を試してみようと突然思い立ち、1 週間ぶりに訪れました。うちなぁ料理と古酒家 ニライカナイ (ソーキそばセット) で投稿した 0
名護の湧水 (2)
伊江島 (No. 5 – また来るさ) の続きです。本部港を出て、当初は名護市で有名な カレーと珈琲の店 たんぽぽ を訪れる予定でした。伊江島でのランチがかなり遅めだったこともあり、お腹が
箱盛り鮮魚刺し
浜比嘉島 (No. 2 – 比嘉集落) の続きです。浜比嘉島を 1 時間程度の滞在で済ませた理由は、前々から行きたくてもなかなか機会がなかった 産地直送仲買人 目利きの銀次 新都心店 に予
絆道 (2)
2014/04 頃から facebook 沖縄ユーザーグループ に自ら投稿する様になり、翌 5 月中旬にはとても気の合う友達が出来ました。非公開のグループを作成して沖縄に関すること以外でも語り合う中で
Herb
技術職に限らず、仕事において自分の実力がどれ程のものかが気になっていることが多いでしょう。どんな職場でもスキルやキャリアがアップがすることが、モチベーションの 1 つになるかと思います。スキルやキャリ
中華せいろ (上)
オフィスのある御茶ノ水・神田エリアは、カレーやラーメンの激戦区ですが、銀座にも私用で月に 2, 3 回は必ず訪れています。ランチ時であれば大抵 いさば (日本一美味しいサバの塩焼き) に入ってしまいま
波ぬ花 (5)
17:30 にスタートした 沖縄本島 (No. 48 – ルフージュ) でエンジンがかかった後は、同じく栄町通りそばの 波ぬ花 を訪れました。2 件目で 19:00 とは私には珍しい行動パ
氷ぜんざい (2)
瀬底島 (No. 2 – 瀬底ビーチ) の続きです。曇天ではあるものの瀬底ビーチを独り占めした後は、以前から予定していた 新垣ぜんざい屋 に向かいます。が、12:00 の開店まで時間がある
Drive Network Philosophy
Drive Network の メールゲートウェイ 構成図 には、FallbackMX (Gateway4) という役割を持つサーバが存在します。メールの再送構成図では、Gateway3 がインターネ
もも ? (4)
10/09 から開始した本来の沖縄出張で、土・日を迎えることになりました。かねてからチームの K 君の飼い猫 "もも" に会ってみたいと思っていました。沖縄にも猫カフェがいくつかあ
Valid HTML5 Valid CSS3 Another HTML Lint