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

フレッシュマック
マクドナルド 懐かしのメニュー (スーパーマック) の続きです。価格は単品で 380 円。発売時期は 1991 年 6 月頃 ?専用胚芽入りバンズ・ハム 3 種類・トマト・フレッシュオニオン・カラシマ
パワーストーン
与那国島から帰ってきた 10/08 (与那国島 (No. 15 ? また来るさ)) は昼過ぎの到着でしたので、ホテルのチェックインまで時間が空くこともあり、以前の仕事仲間と南部にランチに行きました。移
しゃぶしゃぶ温野菜 (6)
3 月に入り暖かく感じる日も出始めて来たため、寒いうちに訪れたいと思っていた しゃぶしゃぶ温野菜 に久しぶりに行く機会が持てました。土曜日の 19:00 頃から開始したかったので、事前に予約しておきま
FreeBSD Logo
Migrate 32bit to 64bit (FreeBSD, PostgreSQL) に続いて、単なるデータコピーで移行が完了しないケースに 1 つに GDBM (GNU dbm) があります。現
豚骨塩 チャーシューメン (1)
哲麺 (豚骨味噌 白髪ネギラーメン 味こいめ 脂あっさり) に続いて、今度は豚骨塩に挑戦です。普段はカウンターの奥側の席が多いですが、入口近くには不思議な絵柄の貼り紙が目に付きました。2014/11/
つけ麺 中盛 (330g)
先日自宅からデータセンターに向かう途中、JR 御茶ノ水駅から丸ノ内線御茶ノ水駅に乗り継いだところ、丸ノ内線が停電事故により振替輸送を実施とアナウンスが聞こえて来ました。振替輸送された方が遠回りになるど
一度は食べていただきたい燻製チーズ (3)
自宅でお酒を飲む時のおつまみにチーズは良く食べますし、ストックしている時もあります。最寄りのスーパーやコンビニエンスストアで色々な製品を見かける中、なとりの 一度は食べていただきたい シリーズはひと味
ワイルドハンバーグ 300g (1)
いきなり ! ステーキ (ワイルドステーキ 300g) でデビューした いきなり ! ステーキ で、今度はランチメニューのワイルドハンバーグを試すべく再び小川町店を訪れましたが、まだ 13 時過ぎで何
朝日レストラン (18)
沖縄出張 (No. 34 – 朝日レストラン Part 1) の続きです。B (小) 150g 1 人分はすでに終わり、サービスメニュー 3 人分 900g のお肉がこれから焼かれます。ま
純生讃岐うどん (9)
うどん本陣 山田家 (純生讃岐うどん Part 1) の続きです。1 回目初回は冷やかけうどんをイメージしたので、だしは先に用意して冷ましておきました。実はうどん用のどんぶりがないので、片手ハンドルの
Valid HTML5 Valid CSS3 Another HTML Lint