Debian では proftpd で ftps のみ

Debian では proftpd で ftps のみ

通常の FTP トラフィックをすべてブロックし、sftp で sftp プロトコルのみを許可する方法はありますか?

編集: すみません、私のミスです!

安全な FTP には ftpes プロトコルを使用する必要があります...

答え1

proftpd を使用して FTPES を実行する場合は、基本的に 4 つの手順に従う必要があります。

1) proftpdとopensslをインストールする

apt-get install proftpd openssl

2) 証明書を生成します (自己署名する場合、クライアントからの苦情を減らすために、共通名を FTP サイトの DNS 名と一致させるようにしてください)

mkdir /etc/proftpd/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

3) proftpd.conf を編集し、設定の mod_tls モジュール セクションを以下のテキストに置き換えます (TLSRequired on ディレクティブに注意してください)

<IfModule mod_tls.c>
  TLSEngine                  on
  TLSLog                     /var/log/proftpd/tls.log
  TLSProtocol                SSLv23
  TLSOptions                 NoCertRequest
  TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
  TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
  TLSVerifyClient            off
  TLSRequired                on
</IfModule>

4) proftpdを再起動する

/etc/init.d/proftpd restart

答え2

SFTP を実行するために proftpd は必要ありません。ssh を使用してネイティブに実行できます。

何らかの理由で proftpd を使用したい場合 (つまり、システム以外のアカウントと簡単に統合したい場合)、サーバーのログイン動詞へのアクセスを拒否し、sftp エンジンをオンにした特定の仮想ホストを作成して、ログイン動詞を許可する必要があります。

これを実現するには、proftpd.conf は次のようになります。

  <Limit LOGIN>
    DenyAll
  </Limit>

  <VirtualHost 1.2.3.4>
    SFTPEngine on
    <Limit LOGIN>
      AllowAll
    </Limit>
    <all your other crap...>
  </VirtualHost>

答え3

proftpdでftpsのみを許可したい場合、TLSが必要あなたが探しているオプションです。

答え4

sftp とはどういう意味ですか? SecureFTP (別名 SSL ftp)、それとも ftp over ssh (別名 sftp) ですか?

sftp の場合 - sshd を実行するだけで、ftp デーモンは一切使用しないでください。

関連情報