I am looking for a way to define custom cipher suite for VSFTPD on Ubuntu server.

I found that I can specify ciphers via HIGH/MEDIUM/LOW. However, this is not enough for me, since I need to configure ciphers all manually.

Is there a way to do this?

  • Have you seen my answer below, which actually answers your question? Commented Jan 18, 2020 at 7:42

2 Answers 2


from vsftpd.conf manual I can read

              This option can be used to select which SSL ciphers vsftpd  will
              allow  for  encrypted  SSL connections. See the ciphers man page
              for further details. Note that restricting ciphers can be a use‐
              ful  security precaution as it prevents malicious remote parties
              forcing a cipher which they have found problems with.

              Default: DES-CBC3-SHA

Then if I check the manual of ciphers (part of openssl) it gives all the type of ciphers you can use. Actually LOW/MEDIUM/HIGH are defined like this

    "high" encryption cipher suites. This currently means those with key lengths larger than 128
           bits, and some cipher suites with 128-bit keys.

    "medium" encryption cipher suites, currently some of those using 128 bit encryption.

    "low" encryption cipher suites, currently those using 64 or 56 bit encryption algorithms but
           excluding export cipher suites.

So basicall you can use any of the cipher strings specified in ciphers manual.

  • This is not answer to my question. I asked how to configure ciphers toally manually like in Apache.
    – Vilican
    Commented Oct 23, 2015 at 8:48
  • This is my answer. It's totally like in apache. I just gave more details about high medium and low variables. Commented Oct 23, 2015 at 10:44
  • If it is, you ceartinly didn't mention it. Example what I want: allow just EECDH+AESGCM and nothing other.
    – Vilican
    Commented Oct 23, 2015 at 11:40
  • 1
    Yes then you just put these in ssl_ciphers. Like you would do in apache. They're both based on openssl syntax. That's what i'm saying when i say read ciphers manual. Commented Oct 23, 2015 at 12:24

Recently, I found out, it is entirely possible to define custom ciphers; take this example:

## Select which SSL ciphers `vsftpd` will allow for encrypted SSL connections (required by FileZilla).

Further, not that the OP had asked, but I feel I could share another security possibility.

That being enabling only TLSv1.2 and TLSv1.3. This can be achieved with:

## The following might look strange as
## it does not seem to allow any protocol;
## But it does allow TLSv1.2 + TLSv1.3.

# disallow SSLv2 protocol
# disallow SSLv3 protocol
# disallow TLSv1.0+TLSv1.1 protocols

In the end, I recommend testing your config for instance on ImmuniWeb, where you could easily debug your configuration.

This is just a sample:

ImmuniWeb result sample


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .