Cpanel

cPanel 伺服器上的純 FTPd 登錄從某些主機成功,而不是其他主機

  • January 11, 2018

我有一台執行 CentOS 7.4、cPanel 和 Pure-FTPd 1.0.45 的伺服器。我可以從某些主機 FTP 到該伺服器,但不能從其他主機。

這不是防火牆問題,因為我可以在日誌文件中看到被拒絕的登錄嘗試。我已經嘗試過損壞的客戶端兼容性選項,以及禁用 TLS、可选和必需。這些更改都沒有任何積極影響(需要 TLS 使事情變得更糟)。我看不出 Pure-FTPd 以任何方式支持 IP 黑名單或白名單,所以我認為這不是問題所在。

我通過Google搜尋找到的所有建議都與 FTP 與 shell 使用者、密碼數據庫損壞等有關,這些顯然不是問題,因為它可以在某些主機上可靠地工作。

我已經將 Pure-FTPd 的日誌記錄調到最高(兩條“VerboseLog 是”行),但記錄的資訊仍然很少且無濟於事。以下是成功和失敗嘗試的對話:

(?@xxx.xxx.xxx.xxx) [INFO] New connection from xxx.xxx.xxx.xxx
(?@xxx.xxx.xxx.xxx) [DEBUG] 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
(?@xxx.xxx.xxx.xxx) [DEBUG] 220-You are user number 1 of 50 allowed.
(?@xxx.xxx.xxx.xxx) [DEBUG] 220-Local time is now 16:43. Server port: 21.
(?@xxx.xxx.xxx.xxx) [DEBUG] 220-This is a private system - No anonymous login
(?@xxx.xxx.xxx.xxx) [DEBUG] 220-IPv6 connections are also welcome on this server.
(?@xxx.xxx.xxx.xxx) [DEBUG] 220 You will be disconnected after 15 minutes of inactivity.
(?@xxx.xxx.xxx.xxx) [DEBUG] Command [user] [me@mydomain.com]
(?@xxx.xxx.xxx.xxx) [DEBUG] 331 User me@mydomain.com OK. Password required
(?@xxx.xxx.xxx.xxx) [DEBUG] Command [pass] [<*>]
(?@xxx.xxx.xxx.xxx) [INFO] me@mydomain.com is now logged in
(me@mydomain.com@xxx.xxx.xxx.xxx) [DEBUG] 230 OK. Current restricted directory is /

(?@yyy.yyy.yyy.yyy) [INFO] New connection from yyy.yyy.yyy.yyy
(?@yyy.yyy.yyy.yyy) [DEBUG] 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
(?@yyy.yyy.yyy.yyy) [DEBUG] 220-You are user number 1 of 50 allowed.
(?@yyy.yyy.yyy.yyy) [DEBUG] 220-Local time is now 16:45. Server port: 21.
(?@yyy.yyy.yyy.yyy) [DEBUG] 220-This is a private system - No anonymous login
(?@yyy.yyy.yyy.yyy) [DEBUG] 220-IPv6 connections are also welcome on this server.
(?@yyy.yyy.yyy.yyy) [DEBUG] 220 You will be disconnected after 15 minutes of inactivity.
(?@yyy.yyy.yyy.yyy) [DEBUG] Command [user] [me@mydomain.com]
(?@yyy.yyy.yyy.yyy) [DEBUG] 331 User me@mydomain.com OK. Password required
(?@yyy.yyy.yyy.yyy) [DEBUG] Command [pass] [<*>]
(?@yyy.yyy.yyy.yyy) [DEBUG] 530 Login authentication failed
(?@yyy.yyy.yyy.yyy) [WARNING] Authentication failed for user [me@mydomain.com]

任何關於其他看什麼的建議都非常感謝。我最好的猜測(基於各種安裝的相對年齡)是它可能與客戶端上不同版本的 OpenSSL 庫有關,但我不知道如何去測試這個假設。簡單地將客戶端更新到最新版本並不是一個好的解決方案,因為新的安裝失敗了,而舊的安裝卻在工作!

編輯

似乎 cPanel 使用他們自己的“pureauth”腳本來執行對 Pure-FTPd 的身份驗證。我找不到有關此的太多資訊,但在我找到的有關 IP 地址的配置文件中看不到任何內容。cPanel 很可能正在使用其他一些數據庫(不是 MySQL 意義上的)來更集中地管理被阻止的 IP 地址,但到目前為止我唯一發現的是他們的“IP Blocker”,它不會阻止任何東西。

原來 cPHulk 是這裡的罪魁禍首。將相關 IP 地址列入白名單已解決了該問題。我認為 cPHulk 在最近的更新中已被棄用,所以沒有看,但它只是將其數據儲存在 MySQL 數據庫中已停止。

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