pure-ftpdでSSLv2とSSLv3を無効にする方法

pure-ftpdでSSLv2とSSLv3を無効にする方法

私は次のようにpure-ftpdを実行します:

/usr/sbin/pure-ftpd -A -c10 -B -C3 -z -D -e -fftp -H -I15 -lpam -L2000:8 -m4 -p30000:30100 -s -u40 -x -r -i -k99 -G -Z -Y1 -J'HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3'

ただし、syslog-ng監視でエラーが発生します。

pure-ftpd: (?@?) [ERROR] SSL/TLS: Invalid TLSCipherSuite specified 'HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3'

いろんなバリエーションを試してみましたが、運がありませんでした。問題のない唯一のことはこれです(設定ファイルにあります):

TLSCipherSuite          HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3

次に、次を実行します。

/usr/sbin/pure-config.pl /etc/pure-ftpd/pure-ftpd.conf

実行: /usr/sbin/pure-ftpd -A -c10 -B -C3 -d -z -D -e -fftp -H -I15 -lpam -L2000:8 -m4 -p30000:30100 -s -u40 -x -r -i -k99 -G -Z -Y1 -JHIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3

ただし、これにはSSLv2のみが無効になります。

このコマンドを次に見つけました。http://download.pureftpd.org/pub/pure-ftpd/doc/README ことわざのように:

'-J': SSL/TLS 接続に許可されるパスワードのリストを設定します。

例: -J 高:中:+TLSv1:!SSLv2:+SSLv3

リストにプレフィックス -S を追加すると、SSLv3 が完全に無効になります。

これは私の問題を解決できると思いますが、どのように-S使用するのかわかりません。

ベストアンサー1

SSLv *を無効にしてTLSを使用するために、バージョン1.0.33および1.0.38に対して次のことを行いました。

これを入力してください/usr/sbin/pure-ftpd-wrapper.patch(または-Jグローバルスイッチをに置き換えてください-S)。

--- pure-ftpd-wrapper   2012-10-29 10:45:31.000000000 +0000
+++ pure-ftpd-wrapper.modified  2015-11-12 15:23:31.104156082 +0000
@@ -87,6 +87,7 @@
            'Quota' => ['-n %d:%d', \&parse_number_2],
            'SyslogFacility' => ['-f %s', \&parse_word, 99],
            'TLS' => ['-Y %d', \&parse_number_1],
+           'TLSCipherSuite' => [ '--tlsciphersuite=-S%s', \&parse_string],
            'TrustedGID' => ['-a %d', \&parse_number_1],
            'TrustedIP' => ['-V %s', \&parse_ip],
            'Umask' => ['-U %s:%s', \&parse_umask],

それから:

cd /usr/sbin
patch < pure-ftpd-wrapper.patch && rm -f pure-ftpd-wrapper.patch

そして:

cat<<EOF>/etc/pure-ftpd/conf/TLSCipherSuite
:ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:!SEED-SHA:!DHE-RSA-SEED-SHA:+HIGH+MEDIUM
EOF

または自分だけのクラシック構成。

次に、SSLテストを実行します。SSLテスト:

./testssl --starttls ftp YOUR-FTPS-DOMAIN:21

特に次のようなことを楽しみにしています。

 SSLv2      not offered (OK)
 SSLv3      not offered (OK)
 TLS 1      offered
 TLS 1.1    offered
 TLS 1.2    offered (OK)

-S代わりに(SSLを無効にする、文書化されていない)理由を理解するには、-J以下をお読みください。この変更ログ。:

  • パスワードリストの前に-S:が付いている場合は、Bradが要求するSSL_OP_NO_SSLv3をSSLオプションに追加します。

おすすめ記事