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

タコライス 材料 (S&B タコスシーズニング)
沖縄で最後にタコライスを食べたのが 沖縄本島 (No. 19 – タコス屋 <Tacos-ya>) で 3 ヶ月前になります。その間、東京の沖縄料理店でも 2 回程食べましたが
タコライス + オニオンリング
沖縄本島 (No. 38 – 肴家あうん) の続きです。翌日のランチは、沖縄本島 (No. 19 – タコス屋 <Tacos-ya>) 以来、5 ヶ月ぶりに タコス
わかめうどん (冷 + 野菜天盛)
沖縄出張から戻って、久しぶりに丸香 (まるか) のうどんが食べたくなりました。4 月以降ほぼ来た覚えがないので、まずは春先から復活するぶっかけ (冷) で私も復活します。半年ぶりですが、記憶にある味と
タコライス 材料 (OLD EL PASO タコ・シーズニング)
自宅 de タコライス (OLD EL PASO タコ・シーズニング Part 2) の続きです。沖縄本島 (No. 42 – 払い戻し) で年内最後の沖縄旅行が中止となったので、久しぶり
Herb
Why rose ? で紹介した Herb とは意味合いが違いますが、先月社内横断プロジェクト Herb を決起しました。社内に限らず、自分の過去在籍した会社でも同様でしたし、また現在お付き合いのある
カツカレー
"3500 円のカレー" で賑やかな世間を尻目に、庶民のカレーを食べに行きました。有名な キッチン南海 の神保町店です。小川町のオフィスそばにもありますが、本当かどうかは別にして店
パワーストーン
与那国島から帰ってきた 10/08 (与那国島 (No. 15 ? また来るさ)) は昼過ぎの到着でしたので、ホテルのチェックインまで時間が空くこともあり、以前の仕事仲間と南部にランチに行きました。移
しょうぶ沼公園 (2)
8 ヶ月ぶりの沖縄旅行の翌週は、自宅近所の しょうぶ沼公園 を散策しました。ちょうど しょうぶまつり が開催されていた時期で、今までも開催自体は知っていましたが訪れたことはありませんでした。お祭り広場
波ぬ花 (5)
17:30 にスタートした 沖縄本島 (No. 48 – ルフージュ) でエンジンがかかった後は、同じく栄町通りそばの 波ぬ花 を訪れました。2 件目で 19:00 とは私には珍しい行動パ
特製塩らーめん (1)
都内で評価の相当高いつけ麺 道 が隣駅にあって以前から気になっていたため、一度日曜日に訪れてみたものの、あまりの長蛇の列に退散しました。今回は平日で 11:30 開店の 30 分程前に着けば、大して並
Valid HTML5 Valid CSS3 Another HTML Lint