阻止计算机与外部 ftp 服务器建立连接的方法是什么? ftp 和 sftp 都有。
inet、iptables、关闭服务?
答案1
我猜,但看起来您想阻止与端口 21 和端口 22 的连接。这可以在 ftp 主机本身上完成
iptables -I OUTPUT -p tcp --dport 21 \
-d the.rem.ote.ip \
-m comment --comment "blocked as per ticket##" \
-j REJECT
不过,SFTP 很棘手:它与 ssh 共享一个端口。如果您也同意阻止传出 ssh 连接,则在最后一个命令后添加 ^21^22 。如果您需要保留 ssh 并阻止 sftp,则需要将远程端设置为永远不提供任何 sftp 子注释;或者更改本地配置(不知道如何)以阻止任何类型的 sftp(挑战是用户可以随时下载 sftp 二进制文件)。
在您控制的干预防火墙上阻止端口 21 和 22 更加可靠,但这不会是您需要在此处询问的 centos/rhel 问题。
我认为,如果您无法通过防火墙阻止所有端口 22 访问,那么您将陷入困境。
答案2
使用iptables
iptables -A OUTPUT -p 21 -j REJECT # FTP
iptables -A OUTPUT -p 22 -j REJECT # SFTP et.al.
请注意,它sftp
使用端口 22,该端口也被ssh
.
如果您希望进程不知道,请将 更改REJECT
为DROP
。
上面的规则显然是在你想要阻止的机器上。如果您在路由器或其他防火墙设备上配置规则,那么您需要更具体地指定接口和可能的 IP 地址,以免全局阻止此流量。
答案3
添加到前面的答案中,您当然可以阻止这些端口(无论是在计算机上还是在出路时的防火墙上)...但是如果尝试使用非标准端口进行连接怎么办?
如果您想真正偏执,您可以采取阻止所有出站流量的路线,然后采取为您想要允许的端口/服务显式添加规则的费力路线。就像配置完全锁定的入站防火墙一样,这可能需要一些时间,但将为您提供对从系统传出的流量的精确了解/控制。