FTP服务配置
实验所需两台Linux虚拟机,分别用来做服务器和客户端。
服务器端IP为:192.168.29.129
客户机端IP为:192.168.29.130
客户机服务器的IP地址设置为静态。
一、FTP服务的搭建与基本操作
1、配置本地yum源;
服务器:
1、重启ftp服务---vsftpd
Service vsftpd restart
2、过滤端口,查看ftp服务是否安装:
Netstat -anpt | grep 21
3、使用Yum安装ftp服务,此服务不存在依赖性,也可用rpm下载;
Yum install -y ftp
4、安装成功后,进入ftp命令行:ftp 192.168.29.129
使用ftp登录并查看目录
使用匿名用户登录:
两者都能登录,但无法查看根目录列表。
5、在服务器端创建一个test1用户,密码为123
关闭客户端和服务器端的防火墙策略和selinux
客户机:
在客户机的浏览器下进行访问,格式如下:
ftp://用户名:密码//ftp服务器所在主机的IP
由此可见,ftp服务在默认情况下是允许使用服务器所在主机上的用户名和密码来进行远程登陆的,这是非常危险的。只要攻击者获得服务器所在主机上的任一账户,就能远程访问FTP服务器主机的根目录。
因此我,我们应该避免使用本地账户来登录ftp服务器;这里采取的办法是创建虚拟的ftp用户,来防止攻击者窃取本地账户:
二、创建虚拟用户
服务器:
1、进入到刚才创建的test1的宿主目录中:
2、在test1下创建一个ftphome目录,并在此目录中加入一个宿主目录
vftp是一个映射用户,它下面存在着一系列虚拟用户。
3、跳转到vsftpd目录下,建立虚拟登陆账户
4、将新建的txt文件转化为一个数据库文件并存入配置文件中。
对验证登陆配置文件进行备份操作,防止日后使用
5、更改ftp配置文件vsftpd
进入vim /etc/vsftpd/vsftpd.conf,将下面两行的注释去掉:
并且在后面添加几行:
6、跳转到vsftp目录下,建立虚拟用户文件vuser_conf:
跳转到vuser_conf目录下,重新启动ftp服务:
操作完成后,回到客户机:
1、用虚拟账户bob的账户登录ftp服务器,登陆后发现不能打开服务器所在主机的根目录了,安全性有所提高:
2、在建立好虚拟账号后,我们再使用一下服务器所在主机的本地账户再次登陆一下看一下效果:
操作后发现,使用服务器所在主机的本地账户已经无法登录到ftp服务器了。
但是,又面临着新的问题,假如攻击者窃取了虚拟账户呢。
所以我们接下来要对虚拟账户的权限进行设置。
三、虚拟账号权限设置
服务器中,对vuser_conf目录进行操作:
1、我们对bob用户赋予只读权限:
2、我们对alice用户赋予读,上传,和新建文件的权限:
3、我们对rose账户赋予读,上传和删除的权限:
4、我们对jack账户不赋予任何权限,配置文件为空:
在把权限分配好后,我们在客户端进行验证操作:
我们先在服务器创建一个文本文件:
1、验证bob的权限:
bob的确具有只读的权限;bob打开文件的内容如下:
2、验证alice的权限:
下载下来的文件如下:
3、验证rose的权限
服务器的aaa文件被删除。
5、我们对jack的权限进行验证:
jack的权限为空,因此他不能对上传和删除文件,但具有读的权限。
这样就成功创建了登录ftp服务器的虚拟帐户,给每个人分配各自对应的权限,既保证了安全性,也防止了越权操作。