Ssl

ProFTPD - 使用 TLS 時無法檢索目錄列表

  • January 21, 2016

我的 ProFTPD 伺服器有問題。

當我嘗試使用 TLS 連接到伺服器時,我在 MLSD 命令後超時。它僅在我使用 TLS 時發生 - 沒有它,它可以完美執行。

我檢查了這些日誌:

proftpd.log - USER xxx:登錄成功。

tls.log - 接受 TLSv1/SSLv3 連接…保護設置為私有

請問哪裡有問題?我可以提供更多資訊,請在評論中詢問。

編輯:今天我嘗試將 iptables 的 INPUT 策略設置為 ALLOW ……一切正常……所以問題是防火牆。我應該如何設置 iptables 以與 FTPS 一起使用?

這是我的 iptables 設置:

*filter
:INPUT DROP [930:61159]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [256:26448]
-A INPUT ! -i eth0 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A INPUT -p tcp -m tcp -m multiport --dports 80,443,20,21,25,143,993,110,995,1194 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT

問題是,conntrack_ftp 模組,它允許 ftp 數據連接通過防火牆,即使它們因為規則而被丟棄,也無法分析PASV/PORT命令的加密流。這同樣適用於無法從具有加密控制連接的防火牆/nat 後面使用活動模式。

因此,您需要為被動模式設置靜態埠(或者如果客戶端不在防火牆後面/nat 使用主動模式)並添加防火牆規則以接受這些埠上的傳入連接。

被動模式的埠是通過PassivePorts指令設置的。

編輯:我應該補充一點,PassivePorts 的數量不僅限制了並行連接的數量,而且還限制了每秒的連接數(讀取目錄列表和/或文件傳輸)net.netfilter.nf_conntrack_tcp_timeout_time_wait。因此,如果您要傳輸大量小文件,請打開大量埠!

引用自:https://serverfault.com/questions/352419