ProFTPd 1.3.3 rc2 と Filezilla Client 3.3.0.1 の組み合わせでファイルのやりとりをしていた時、突然Filezillaが
425 Unable to build data connection: Operation not permitted
というエラーが発生してディレクトリ一覧が取得できない状態になってしまった。
ログを確認すると、mod_tlsのログに
Dec 07 18:24:40 mod_tls/2.4[15178]: starting TLS negotiation on data connection Dec 07 18:24:40 mod_tls/2.4[15178]: did NOT reuse SSL session for data connection Dec 07 18:24:40 mod_tls/2.4[15178]: Client did not reuse SSL session, rejecting data connection (see TLSOption NoSessionReuseRequired) Dec 07 18:24:40 mod_tls/2.4[15178]: unable to open data connection: TLS negotiation failed
というログが残されていた。
色々調べてみると、ProFTPdのリリースノートにこんな記述を発見。
TLSOptions The NoSessionReuseRequired option has been added. As of ProFTPD 1.3.3rc1, mod_tls only accepts SSL/TLS data connections that reuse the SSL session of the control connection, as a security measure. Unfortunately, there are some clients (e.g. curl) which do not reuse SSL sessions. To relax the requirement that the SSL session from the control connection be reused for data connections, use the following in the proftpd.conf: TLSOptions NoSessionReuseRequired
FileZillaClientにも問題がある気がする…。
とりあえず、
TLSOptions NoSessionReuseRequired
とproftpd.conに記述を追加して正常に動くようになった気がする。