LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1147|回复: 6

FTP服务器如何指定客户机访问

[复制链接]
发表于 2006-8-15 09:53:28 | 显示全部楼层 |阅读模式
前几天, 我配置了一台FTP服务器. 这样, 公司内的资料就可以做到在Internet上共享了. 但是在安全性问题上, 老板又考虑到一个问题了----(本来Linux系统已经够安全的了)本FTP禁止匿名访问, 只设置了本地用户所属的文件夹(750)才有写的权限, 而所属group用户只有"读"与"执行"的权限, 其它用户什么权限也没有. 现在, 我的问题来了: 如果我的登录用户名与密码泄漏出去, 那我的共享资料就不再"安全"了.

请问各位大侠, 可不可以指定某个Internet上的IP, 或者某几台机子可以访问呢? 敬请各位大侠赐教! 谢谢~

Red Hat Linux 9 ---- CentOS 4.3(final)    vsftpd-2.0.1-5.EL4.3
CPU: Dempsey 5030 2.66GHz(4M)
RAM: FB DDR2-533(512M*2)
HD: SATA2 160GB
Intel8256EB Gigabit Platform LAN 服务器网卡
 楼主| 发表于 2006-8-17 15:11:07 | 显示全部楼层
我搜索过了, 也找到了相关的说法, 但我按部就班都没有成功

来源:http://wiki.csdn.net/index.php/V ... 88.B0vsFTP.EF.BC.9F
====================================================
补充三:如何让绑定IP到vsFTP?
也就是说,如何让用户只能通过某个IP来访问FTP。其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP

在/etc/vsftpd/vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP

listen_address=192.168.0.2
=====================================================

这个绑定, 应该是服务器多网卡IP的绑定吧?!

比如:
我的服务器IP1: 192.168.0.254    IP2: 192.168.0.2
客户端IP: 192.168.0.100

我想试试在局域网内, 只有我这台客户机可以访问 FTP ,
    vi /etc/vsftpd/vsftpd.conf
添加了下面这句:
   listen_address=192.168.0.100

vsftpd 重启后, 不能用(启动不了); 而绑定192.168.0.2 或192.168.0.254 就可以, 但问题还是没有解决!

请各位前辈指点!
回复 支持 反对

使用道具 举报

发表于 2006-8-17 20:55:53 | 显示全部楼层
找下关于vsftpd的精华贴,

listen_address="ip_address"

是指VSFTPD在standard alone 模式下在$ip_address地址的端口上侦听,并不是限制客户端访问的
回复 支持 反对

使用道具 举报

发表于 2006-8-17 21:17:02 | 显示全部楼层
如果VSFTPD由xinetd守护进程启动(即super deamon模式)可在/etc/xinetd.d/vsftpd脚本中添加:

only_from    = "ip_address"
# 单个IP

only_from   ="net_address/mask"

# 网段

only_from   ="xxx.xxx.xxx.{xxx,xxx,xxx}
# 多个地址

standard alone模式(即standard deamon ,常驻内存模式)没试过,
回复 支持 反对

使用道具 举报

发表于 2006-8-18 01:29:09 | 显示全部楼层
尝试从 其他方面解决这个问题,比如防火墙方面。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 15:49:19 | 显示全部楼层
好! vsftpd实现不了, 那我试试防火墙方面吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 19:58:10 | 显示全部楼层
允许指定IP访问FTP服务SSH服务出现问题 ....

1. 允许$IP1,$IP2, ... 访问我的FTP服务;
2. 允许$IP1访问我的SSH服务;

我的iptables设置如下:

#先拒绝所有连接
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptalbes -P FORWARD DROP
#输入规则
iptables -A INPUT -p tcp -s $IP1 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s $IP1 --dport 22 -j ACCEPT

#### 做到这里, 我在客户端访问FTP服务器, 1,2都不成功; 继续添加输出规则 ####

#输出规则
iptables -A OUTPUT -p tcp -d $IP1 --sport 21 -j ACCEPT
iptables -A OUTPUT -p tcp -s $IP1 --dport 22 -j ACCEPT

#### 1. 添加以上两条规则后, 我在客户端可以连FTP, 出现登录身份验证, 但输入用户名和密码后, 就不能获取文件夹的内容, 出现登录超时现象; 2. SSH服务根本不能连入 ..... ####

注: FTP服务器, 有eth0, eth1 我用的是eth0 接入公司网内

请各位兄弟帮帮忙!!
谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表