しょんぼり技術メモ

まいにちがしょんぼり

Proftpd+mod_tlsでディレクトリ一覧が取得できない

PROT: unwilling to accept security parameter (C)

このようなログがtls.logに残って、クライアントからFTPES(明示的なFTP-SSL)で接続してもディレクトリ一覧が表示されない場合のこと。

proftpd.confで

TLSRequired on

のようにしていると、文字通りTLSによる暗号化セッションが強制されます。

FTP over TLS (FTPES)では、コントロールセッションとデータ転送セッションの両者について、それぞれ平文と暗号化を選択できます。
しかし、上記の設定にしている場合には、その両者が暗号化されている必要があります。

ログメッセージにある、PROT というのは暗号化パラメータを指定するコマンドで、上記ログでは "PROT C" というデータ転送セッションを非暗号化通信にするコマンドを受け取ったが、データ転送セッションの非暗号化通信は認められない、という意味になります。

これを解決するには、クライアントの設定でデータ転送セッションまで暗号化するようにしてあげればOKだと思います。

参考リンク: http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html