ufw 阻止传入的 FTP 流量(在端口 DPT=44745 上)

ufw 阻止传入的 FTP 流量(在端口 DPT=44745 上)

我有一个 JVM 应用程序作为 FTP 客户端,当禁用 ufw 时它可以正常工作,但是当我使用以下命令启用 ufw 时:

ufw allow ftp

然后检查状态输出:

Status: active
Logging: on (medium)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere                  
21/tcp                     ALLOW IN    Anywhere                  
22/tcp (v6)                ALLOW IN    Anywhere (v6)             
21/tcp (v6)                ALLOW IN    Anywhere (v6)   

我的应用程序看起来像这样(登录到 FTP,列出文件,获取文件),当启用 ufw 时它会卡在 STUCK_HERE:

fun execute(){
    val ftpClient = FTPClient()
    ftpClient.connect(InetAddress.getByName("example.com"))
    val loginResult = ftpClient.login("secretLogin", "secretPass")
    val stockFile: FTPFile? = ftpClient.listFiles().firstOrNull {
        it.name.startsWith("stock")
    }.also {
        println("FTP stock file name:${it?.name}, size:${it?.size}, type:${it?.type}")
    }
    // <- STUCK_HERE, this is not called
    stockFile?.let { ftpFile ->
        val outStream = BufferedOutputStream(FileOutputStream(Const.stockCsvName))
        outStream.use {
            ftpClient.retrieveFile(ftpFile.name, it)
        }
    }
    ftpClient.disconnect()
}

因此我检查了客户端机器上的 ufw 日志,发现传入流量似乎被阻止了:

May  3 11:26:20 kernel: [2562852.155804] [UFW ALLOW] IN= OUT=eth0 SRC=OOO.OOO.OOO.OOO DST=III.III.III.III LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=60824 DF PROTO=TCP SPT=44076 DPT=21 WINDOW=502 RES=0x00 ACK RST URGP=0 
May  3 11:26:23 kernel: [2562855.178073] [UFW BLOCK] IN=eth0 OUT= MAC=mm:mm:mm:mm:mm:mm:mm:mm:mm:mm:mm:mm:mm:mm SRC=III.III.III.III DST=OOO.OOO.OOO.OOO LEN=60 TOS=0x00 PREC=0x00 TTL=59 ID=48578 DF PROTO=TCP SPT=20 DPT=44745 WINDOW=64240 RES=0x00 SYN URGP=0 

而且最有可能是通过传入的 FTP 流量端口,DPT=44745我的 ufw 不允许这样做。

我的第一个问题:该港口DPT=44745被称为临时端口

另一个问题:我能以某种方式处理它吗?我的意思是保持 ufw 正常运行但允许 FTP?

到目前为止我只发现FTP 安全漏洞,但它并没有帮我找到解决方案。

整个设置在搭载 Ubuntu 20.04.3 LTS 的 DigitalOceans VPS 上运行。

相关内容