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

豚骨味噌 白髪ネギラーメン 味こいめ 脂あっさり (1)
哲麺 (豚骨醤油 青ネギラーメン 味こいめ 脂あっさり) から日を空けずして再び訪れました。いつもの凝り性全開です。3 回目もカウンター席でしたが、後ろ壁側の席が珍しく空席でした。気が付くとサインがた
iPhone 6 Plus (Gold)
iPhone 6 Plus (電話帳移行 "IS Contacts Kit") の続きです。電話帳の移行も終わったため、iTunes で同期およびバックアップを開始しました。iPo
ミニストップ メニュー
連日のデータセンターでの作業後、頭の中が真っ白な帰り道にふと吸い寄せられました。おっ ? ティラミスクレープにモンブランクレープ ? 見たことがなくそそられました。レジで待ち人もいなかったので、すぐに
野菜カレー
カリーライス専門店 エチオピア 本店 (No. 7 – 辛さ 65 – 70 倍) で辛さ 70 倍を極めた後は、しばらく堅気な辛さ ? を求めています。最近ボンディに足が遠の
味噌ラーメン (1)
少し前に沖縄つながりの友達から ラーメンさんぱち を教わりました。札幌が発祥で沖縄には石垣を含めて 7 店舗もありますが、都内どころか関東近県では お茶の水店 しかありません。運良くオフィスからは歩い
スタートアップ
年明け最初の すし銚子丸 (千葉・東京・埼玉・神奈川のお寿司屋さん) は、自宅から歩いて 5 分程度の距離にある綾瀬店を訪れました。訪れたのは 1 月中旬ですが、年末年始からのキャンペーンが継続してい
フェリーくだか (3)
沖縄入り 3 日目は久高島を訪れることに決めていました。前回同様、安座真港 11:30 発高速船ニューくだか (久高島行き 時刻表・運賃表) で訪れ、久高港 15:00 発で帰る予定でした。ところが、
豆カレー (辛さ 20 倍)
カリーライス専門店 エチオピア 本店 (No. 9 – 特製エビ豆カレー) の続きです。特製エビ豆カレーで、以前食べた野菜豆カレーの不思議さを思い出し、かつ残り 2 メニューで全制覇という
iPhone 6 Plus (Gold)
iPhone 6 Plus (開封) の続きです。スマートフォン利用の最大の目的は、PC を持たずに障害対応の初動調査をする点です。そのため、iPhone 6 Plus (機種変更) で渡された iP
つけ麺 (普通盛) + ミニ刻みチャーシュー丼
先日再び松戸駅を訪れる機会があり、カレー専門店 印度 (インドカレー) とは駅を挟んで反対側にある 兎に角 を訪れてみました。私が訪れた日曜日の 13:00 過ぎでは外で待っている先客はいませんでした
Valid HTML5 Valid CSS3 Another HTML Lint