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)
Google Analytics のトラフィック サマリーを見ていると、"マクドナルド スクランブルエッグ" というキーワードが目に付き始めると同時に、最寄りの 綾瀬店 のたれ幕に
ソーキそばセット
うちなぁ料理と古酒家 ニライカナイ (やさいそばセット) から 2 日と空けずに再訪しました。今回も過去 2 回同様 13:30 頃に訪れましたが、今日はほぼ満席でした。雨上がりでしたので、普段程には
ESXi 5.1 ? Install or Updrade (F1 Details)
VMware ESXi 5.1 Install (ESXi Found – RAID アレイ初期化) の続きです。ハードディスク 1 本目 (#0) を初期化改めて Adaptec RAI
肉カレーうどん (大盛)
記事の投稿は 1 年以上空きましたが、その後も定期的に通っています。いつもたいてい 14 時を過ぎたあたりに訪れますが、やや早く着いてしまうともう 14 時前だというのにこの行列。この日は 30 人近
FreeBSD Logo
OpenSSH 6.7p1 にアップデートする前後で躓いた点を整理します。(OpenSSL 1.0.1j との組み合わせです)makeFreeBSD 9.1-RELEASE (amd64) で試しまし
Pioneer BDR-XS05J (1)
VAIO Fit 13A (リカバリーメディアの作成) の続きです。VAIO Fit 13A はディスプレイサイズが 13.3inch ながらバッテリー込みで 1.31kg ですから、当然の様に DV
マックチャオ
マクドナルド 懐かしのメニュー (フレッシュマック) の続きです。価格は単品で 700 円 ?発売時期は 1991 年 12 月頃 ?チャーハンは共通でマックチャオ / エビチャオとおかずが選べるスク
超クリーミー泡サーバー (12)
新開発 ! 超クリーミー泡サーバー (Part 5) の続きです。せっかくですから、旧バージョンのクリーミー生サーバーと並べてみました。デザイン的には超クリーミー泡サーバーの方が好みではあります。果た
与那国島 (4)
与那国島 (No. 1 – 出発) の続きです。さて、到着しました。予想していたより湿気もなく、日射しは強いけど涼しい感じです。手荷物受取場のゲートがあるすぐ右側に、見慣れたポスター。20
やさいそばセット
うちなぁ料理と古酒家 ニライカナイ (ニライカナイそばセット) の初挑戦から日を空けず、前回同様 13:30 頃再び訪れました。前回は壁際の席で正面に液晶テレビが見える位置でしたが、今回はその席より
Valid HTML5 Valid CSS3 Another HTML Lint