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

東京タワー (10)
景色 (東京タワー Part 1) の続きです。エレベータは大展望台 2F に直行しますが、1F もありますので移動しました。階段で降りましたが、降りてすぐに目に入ったピンキーな光景に少々驚きました。
小石川後楽園 (3)
東京メトロ後楽園駅から目白通りに突き当たる道を進んでいく光景が、秋になると黄色に染まります。これは 2011/12/12 の撮影です。私の住まいの綾瀬はここから電車で 20 分弱程度の距離ですが、この
リブロースステーキ 500g (2)
いきなり ! ステーキ (乱切りカットステーキ 300g) でランチメニュー以外の計り売りのメニューを見て以来、いつリブロースステーキを試すかと思いつつも 2 ヶ月弱が過ぎ、ようやくタイミングが訪れま
jQuery Logo
Drive Network のホームページ では、CSS のみで何とか対応しましたが、まだ意図する 100% の動作ではありません。(そもそも入れ子が複雑)とあるサービス向けにまた同様の動作を実現させ
Drive Network Philosophy
DKIM とは DomainKeys Identified Mail の略で 送信ドメイン認証 の技術の 1 つです。Drive Network では、dkim-milter のバージョンが 0.5
琥珀ヱビス + 超クリーミー泡サーバー
普段は ザ・プレミアム・モルツ を好んで飲みつつ、たまに YEBISU ヱビスビール を飲むことがありますが、秋はさらに楽しみが増えて 琥珀ヱビス が発売されます。最初の新発売が 4, 5 年前と思っ
ニューヨークステーキ L (1)
沖縄本島 (No. 46 – うるり クラッシュスィーツ) を朝食にした沖縄入り 2 日目のランチは、那覇に宿泊している上にニクの日だけに ジャッキー ステーキハウス と決めていました。1
釜上げ (中盛 + ちくわ天)
うどん 丸香 (きつねうどん・釜上げ) で初めて "かけうどん用のトッピング" 以外の天婦羅を試しました。おそらく "classic (定番の焼ちくわ)" です
八重山そば (大) + 八重山飯
沖縄本島 (No. 6 – 打ち上げ) の続きです。05:00 頃までは起きていた気がしますが、普通通り目が覚めてお昼前にはお泊り宅を後にしました。この後半分はいつものメンバーとは離れても
煮込み開始直前 (3)
ハッシュ・ド・ビーフの作り方 (No. 3) の続きです。煮込み最後はローリエを 2, 3 枚入れてよくかき混ぜ、2, 3 時間煮込む。適当にかき回せつつ。です。すべての材料を寸胴に移した状態で、ほぼ
Valid HTML5 Valid CSS3 Another HTML Lint