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

デスクトップ (VAIO Type X)
去年までデータセンター作業用に使用していた VAIO Type X は、現在サブマシンとして継続利用しています。電源は On にしたままですが、ふと使用する際にディスプレイを開けると、デスクトップアイ
サーモン西京焼 (1)
いさば (サバ) から時間を空けずに訪れました。今日こそは、気にはなりつつも試していなかったサーモン西京焼 + 納豆 + のりで豪華ランチ (?) と決め込んで訪れました。地下の入口に下る途中に、おそ
radserv ope 04
これは、radserv X (T8100) のハードディスクの換装作業のショットです。納品時は 1TB x 2 でしたが、2TB x 2 に換装しています。では、手術風に。正中切開します。 
VAIO Fit 13A (5)
VAIO Fit 13A (モデル決定) の続きです。02/26 22:20 頃ソニーストアで申し込みましたが、02/28 の午前中には配送されました。2014/02/26 22:21 [ソニーストア
今帰仁城跡 (1)
沖縄本島 (No. 11 – 首里ほりかわ) の続きです。首里城には 2 度行ったことがありますが、沖縄には城跡が点在すると聞いています。今回は中城城跡と今帰仁城跡を訪れてみました。いずれ
コントロールパネル (更新後)
今回は Windows の話ですが、Firefox を 13.0.1 の最新版に更新した後、ふと気が付くと YouTube の動画が再生出来なくなる現象に出くわしました。INTERNET Watch
琥珀ヱビス + 超クリーミー泡サーバー
普段は ザ・プレミアム・モルツ を好んで飲みつつ、たまに YEBISU ヱビスビール を飲むことがありますが、秋はさらに楽しみが増えて 琥珀ヱビス が発売されます。最初の新発売が 4, 5 年前と思っ
高速船ニューくだか (5)
沖縄本島 (No. 15 – 天神矢 ふたたび) の続きです。4 年程前に初めて久高島を訪れた際の景色は 景色 (久高島) で掲載しましたが、この時は慌てて飛び乗るくらいにギリギリで最後の
Drive Network Core (WS-C3750E-48TD-E)
現在の Drive Network のスタイルを 2004/01 から担当。Drive the Future のキャッチコピーの元、お客様のビジネスを支援する IT サービスの提供を続けています。舞台
猫丸庵 メニュー (2)
沖縄本島 (No. 51 – コッコロコハウス) の続きです。約 1 年半前に沖縄入りした際、沖縄本島 (No. 1 – 猫丸庵 〜 根夢) で通り過ぎることはありましたが、今
Valid HTML5 Valid CSS3 Another HTML Lint