免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3632 | 回复: 5
打印 上一主题 下一主题

[proxy] 如何使本地用户访问本地FTP时必须通过proxy? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-18 10:49 |只看该作者 |倒序浏览
如题!在下使用FedoraCore2操作系统配置了VSFTP+Squid的环境,现在的问题是:不管局域网用户是否使用代理服务器都可以访问(内网中)的 该FTP,这点无法满足要求,现请教诸位前辈可有方法作出限制?

论坛徽章:
0
2 [报告]
发表于 2007-07-18 10:53 |只看该作者
附注:
现在我在squid中写下如下的语句
acl ftp_ports port 21
http_access deny ftp_ports
可结果是,即便是加了代理的局域网用户也可以访问FTP服务,
这是什么原因呢?请高手指正!!

论坛徽章:
0
3 [报告]
发表于 2007-07-19 10:27 |只看该作者
没看懂,你到底要完成什么功能,使允许还是不允许squid 代理ftp 访问?

论坛徽章:
0
4 [报告]
发表于 2007-07-19 21:17 |只看该作者
不好意思没描述清楚,我在同一台服务器上开了ftp和squid服务,
目标是:本地用户访问ftp时一定要通过squid,否则就不可以访问ftp,
现状是:不论我在客户端上设置什么ip地址(包括不是squid的ip地址)用户还是可以访问ftp,
做出的尝试:
1)我尝试在squid中写出限制ftp访问的语句(就是二楼的规则),但是在客户端设定了代理服务器的情况下(访问通过squid),用户还是可以访问ftp
2)我在vsftp的配置中写下listen_address=***.***.***.***#proxy ip address的语句,
结果只可以在服务器上登录ftp,其他客户端都无法访问ftp
3)我在iptables中写下
iptables -A INPUT -p tcp -m tcp --sport 21 -j REJECT
iptables -A OUTPUT -p tcp -m tcp --dport 21 -j REJECT
iptables -A INPUT -p tcp -m tcp --sport 3128 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 3128 -j ACCEPT
用户都无法访问ftp。

请求高手指点迷津!!

论坛徽章:
0
5 [报告]
发表于 2007-07-20 09:24 |只看该作者
1.你的squid 规则没错,但是可能存在其他的规则在你设定的ftp访问规则生效之前,那自然就没有作用了。仔细检查你的所有squid  规则。
2.vsftp没用过,不过我觉得你这允许服务器登录,不是达到你的要求了--客户端没法直接连接ftp,必须通过代理才能访问
3.你的iptable 是拒绝21端口的访问,允许3128访问,但是同时没有标明限制21端口的使用范围,这样的话,等于你的防火墙禁止了21端口,也就是说没有任何用户能够访问21端口的服务了。

建议:  vsftp使用2的配置,首先拒绝非squid来的连接,其次,仔细检查你的squid 的规则,设定相关的访问ftp的访问规则。
或者,vsftp 不做任何调整,默认接受所有的连接,使用iptable来drop 不允许的连接地址对21端口的访问,达到只允许squid 地址访问ftp的要求,然后还是在squid里面设置相关的访问规则控制访问.

论坛徽章:
0
6 [报告]
发表于 2007-07-20 16:27 |只看该作者
虽然没这么做过,但是我比较赞同jinl的说法,要从ftp、squid、iptables3个点同时进行处理,才可以达到你要的效果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP