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

旅館前から祖納港方面
与那国島 (No. 2 – 到着) の続きです。与那国には 2012 年現在ホテルはなく、すべて民宿的な旅館です。素泊まりが多い中で今回は食事にも力を入れている 旅の館 阿檀 にしました。
魚河岸フライ定食 (2014/01/14)
記事では 築地食堂 源ちゃん (海老かき揚げとお刺身定食) から 1 ヵ月空いていますが、3 日後にまた訪れています。この日は 2013 年最後の出勤日で、取引先の方がご挨拶に来た後、ランチに同行いた
海老かき揚げとお刺身定食 (ご飯追加)
築地食堂 源ちゃん (デミグラスハンバーグと海老フライ定食) での驚きと満足感から、日を空けずに再び訪れました。神保町店は B1F ですが、降りる手前の看板です。元気があって良いですね。ところで &q
スミノフ フローズン シトラスダイキリ (3)
駅前のスーパーで、ある日 "スミノフ フローズン シトラスダイキリ" を見つけました。"スミノフ® フローズン シトラスダイキリ / ピニャコラーダ"
国道 58 号
4, 5 年程前の沖縄出張時に 国道 58 号 は "ごーぱち" と呼ぶか "ごっぱち" と呼ぶかで本島のどこ出身かが大体分かると聞いた話をふと思い出しました。
特製つけ麺 (中盛 300g)
道の塩 (特製塩らーめん) で、期せずして 道の塩 にめぐり合った 1 週間後に 道 を訪れました。ディズニーランドのアトラクション同様の覚悟で、11:30 の開店に 10:00 に訪れると、すでに
デミグラスハンバーグと海老フライ定食
世間はクリスマスイブでチキン真っ盛りですが、この日のランチはなぜか無性にハンバーグが食べたくなりました。ザ・ハンバーグ (300g) も考えましたが、沖縄出張 (No. 24 – きょんた
カツカレー
"3500 円のカレー" で賑やかな世間を尻目に、庶民のカレーを食べに行きました。有名な キッチン南海 の神保町店です。小川町のオフィスそばにもありますが、本当かどうかは別にして店
沖縄だより + お刺身 (東急ストア)
7 月に入ると、facebook 沖縄ユーザーグループ で "沖縄だより" の写真を見かけ始めました。しかしながら、少し前に似たパッケージを見た覚えがあるなと疑問に思って調べたとこ
Valid HTML5 Valid CSS3 Another HTML Lint