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

絆道 (2)
2014/04 頃から facebook 沖縄ユーザーグループ に自ら投稿する様になり、翌 5 月中旬にはとても気の合う友達が出来ました。非公開のグループを作成して沖縄に関すること以外でも語り合う中で
VAIO Fit 13A (背面)
Windows 8.1 でステータスバーに詳細表示する OldNewExplorer で "Windows 8.1 であれば Classic Shell を入れる程不便は感じていない&qu
白身 3 品盛 (真鯛・小庄鯛・天然ヒラメ)
築地食堂 源ちゃん (夜会 Part 1) に続いて、いよいよメインとなるおつまみの登場です。黒板メニューからチョイス。最近やけにカツオが食べたいと思っていた矢先に見つけたので、飛びつきました。オレン
2014/10/10 払い戻し (2)
09/19 – 09/24 はプライベートでは長期滞在に入る沖縄旅行でした。その回とは別に、去年 10 月に伊江島を訪れて 沖縄本島 (No. 6 – 打ち上げ) したメンバー
豚骨醤油 青ネギラーメン (1)
先日、愛知の友達の投稿でネギ入れ放題のラーメンを見てスイッチが入ってしまい、オフィス周辺で調べてはみたものの、調べた限りはカレーとラーメンの聖地 "神保町" でも見当たりません。小
Fruit Salad
48 時間ファスティングダイエット (No. 1) の続きです。2 日目 : 倦怠感・眠気は普通に戻る午前中を境に、前日のとにかくだるくて眠い感じはほぼなくなり、普段と変わらなくなりました。この日の酵
海鮮天丼 (3)
ここ最近の出張では必ず訪れるランチスポットの 1 つが 海鮮食堂 太陽 (ティーダ) です。片手で収まらない程来ているのに、今だ "エビだけ天丼" しか食べたことがないことにふと気
ぶっかけ (冷)
実は 1 人で食べに行って、自分のお金でうどんを食べることは今までありませんでした。小さい頃のトラウマなのでしょうか、どうもうどんが好きになれず、断然そば派。つけ麺もうどんの面影があるので挑戦に二の足
東京タワー (10)
景色 (東京タワー Part 1) の続きです。エレベータは大展望台 2F に直行しますが、1F もありますので移動しました。階段で降りましたが、降りてすぐに目に入ったピンキーな光景に少々驚きました。
チキンカレー
欧風カレー ボンディ と出会って、御茶ノ水・神田神保町界隈では有名なエチオピアも通い出しました。欧風カレー ボンディ (ビーフカレー)欧風カレー ボンディ ("豪快" スペアリブ
Valid HTML5 Valid CSS3 Another HTML Lint