Ftp – VSFTPD passive mode issue

centos6.5ftpvsftpd

My server was properly configured and worked fine. I have absolutely no idea, what was changed, but now vsftpd (2.2.2) stop working in passive mode.

Response:   230 Login successful.
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Command:    PBSZ 0
Response:   200 PBSZ set to 0.
Command:    PROT P
Response:   200 PROT now Private.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Error:  GnuTLS error -15: An unexpected TLS packet was received.
Error:  Disconnected from server: ECONNABORTED - Connection aborted
Error:  Failed to retrieve directory listing

This is the result I get instead of

 Command:   PASV
 227 Entering Passive Mode (86,150,105,147,215,59)

So I see for some reason server has troubles with passive mode. Switching to the active mode helps, but this is not a way I am looking for.

If I disabled encryption, I also could not receive any correct response to PASV command

Command:    PASV
Response:   500 OOPS: vsf_sysutil_bind
Command:    PORT 192,168,1,109,234,197
Response:   500 OOPS: priv_sock_get_int
Error:  Failed to retrieve directory listing
Error:  Connection closed by server

It seems all ports are opened, firewall disabled and other settings are ok. One or two weeks ago it worked flawless, what happened now..?

Best Answer

I know it's been a while since this question was asked. But for anyone else who encounters this issue, the solution seems to be to add

seccomp_sandbox=NO

to your vsftpd config file. For the gory details on why config tweak is needed, there's this RedHat bug report. It appears to have been a bug in vsftpd, due to its use of "secure computing sandbox" for Linux.

Hope this helps!