我已经在运行 Amazon Linux 的 Amazon EC2 上安装了 ProFTPd。
我已为 ProFTPd 启用 SSL(FTPS)并设置了被动端口proftpd.conf
:
port 21
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell no
</IfModule>
MasqueradeAddress ip-of-my-server
PassivePorts 60000 65535
如果我打开与此实例关联的安全组上的 TCP 端口 60000 到 65535,用户可以通过端口 21 进行连接,但我觉得这不安全(我不熟悉被动 FTP 或打开这样的端口范围)。我们将所有将在端口 21 上连接到此服务器的客户的 IP 列入白名单。
问题
有没有办法打开这些被动端口而不在 AWS 安全组中打开它们,也许可以使用 EC2 服务器上的 ip 配置,就像本文中那样(http://www.proftpd.org/docs/howto/NAT.html)?我不熟悉这些类型的配置,并且不确定在这里该做什么。
由于用户无法通过其 IP 白名单中的端口 21 连接到 FTPS 服务器,因此是否可以向 AWS 安全组内的所有 IP 开放 TCP 端口 60000-65535?我在这里应该注意哪些安全问题?
还有其他“最佳实践”方法来配置这个吗?