仅将 proftpd 绑定到本地主机

仅将 proftpd 绑定到本地主机

如何配置 proftpd 仅监听 127.0.0.1 上的连接?如果我设置

DefaultAddress localhost

在 /etc/proftpd/proftpd.conf 中

并重新启动 proftp 我仍然能够从另一台计算机登录...

这是错误的选择吗?或者这只是一个愚蠢的用例,除了我之外没有人会需要这样的功能?!?

答案1

您是否尝试过使用127.0.0.1而不是localhost。也许/etc/hosts其中有些奇怪的东西。

否则,ProFTPd 常见问题解答建议使用允许和拒绝选项,或者从 xinetd 运行它,或者启用 tcp 包装器模块并进行设置。

或者当然您可以使用 iptables。

答案2

为了proftpd只在本地主机上监听,你可以同时使用DefaultAddress SocketBindTight,像这样:

DefaultAddress localhost
SocketBindTight on

默认情况下,proftpd将监听全部给定端口的接口(例如“*:21”)。该SocketBindTight指令指示proftpd“紧密”绑定到地址/套接字,而不是使用通配符套接字(导致例如“127.0.0.1:21”。

答案3

配置文件中似乎没有选项。这是一种方法,它还允许您按用户名进行过滤(使用 PAM):

创建一个名为的文件,/etc/security/proftpd.conf其中包含以下行:

+ : ALL : 127.0.0.1  
+ : ALL : localhost  
- : ALL : ALL

+ 表示允许,第二列是用户名,第三列是传入连接的主机名。因此,例如,+ : john : 127.0.0.2将允许john从 进行连接127.0.0.2A -拒绝它们。

接下来,进行修改/etc/pam.d/proftpd,在顶部附近的某处添加以下内容(我将其设为会话后的第一行)以使其读取新文件:

auth       required     pam_access.so accessfile=/etc/security/proftpd.conf

它应该立即生效,无需重新启动服务。

相关内容