原理介绍:

一、帐号登录:

1.匿名帐号  anonymous 

2.本地帐号  服务器本地的帐号

3.虚拟帐号  虚拟帐号-->映射-->物理帐号

二、ftp的安全性:

由于ftp协议属于明文传输,因此帐号安全是ftp的一个重大问题因此我们需要通过一些方法来确保ftp的安全;在vsftp中,默认使用本地帐号和匿名帐号登录服务器,如果被他人获取ftp帐号,便可以通过此帐号登录ftp服务器的主机,因此对ftp的安全性会有很大的威胁;

再次通过两种方法来增加ftp服务器的安全性:

1 使用ssl安全套接层对ftp进行加密传输;

2 使用虚拟帐号技术来保证帐号和服务器的安全性;

三、为Internet上的FTP服务器,系统的安全性是非常重要的,这是建立FTP服务器者所考虑的第一个问题。其安全性主要包括以下几个方面:   

1 、未经授权的用户禁止在服务器上进行FTP操作。   

2 、FTP用户不能读取未经系统所有者允许的文件或目录。   

3 、未经允许,FTP用户不能在服务器上建立文件或目录。   

4 、FTP用户不能删除服务器上的文件或目录。 

5 、FTP用户不能切换目录;

四、SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。

五、虚拟帐号登录原理:

wps_clip_p_w_picpath-4029

案例一:通过ssl安全套接层来实现ftps加密传输;

一、实验步骤:

配置服务器ip地址:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

wps_clip_p_w_picpath-15124

重启network服务:

# service network restart

编辑证书配置文档:

# vim /etc/pki/tls/openssl.cnf

wps_clip_p_w_picpath-28872

    //证书文件的主目录

wps_clip_p_w_picpath-2865

wps_clip_p_w_picpath-8536

    //默认国家

wps_clip_p_w_picpath-9970

    //默认省份

wps_clip_p_w_picpath-5479

    //默认城市

搭建CA证书服务器

# cd /etc/pki/CA/

# mkdir crl certs newcerts   //创建证书服务器中所必需的三个目录

# touch index.txt serial    //创建证书服务器中所必须的两个文件

# echo "01" >serial    //在serial文件中写入‘01’的值

# cd private/

# openssl genrsa 1024 >cakey.pem    //产生证书的私钥

# chmod 600 cakey.pem   //改变证书私钥的权限,保护期安全

# cd /etc/pki/CA/

# openssl req -new -key private/cakey.pem -x509 -days 3650 -out cacert.pem    //通过私钥产生CA服务器的证书文件

wps_clip_p_w_picpath-1519

挂载光盘:

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom/    //挂载

安装vsftp服务

# cd /mnt/cdrom/Server/

# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm   //安装vsftpd服务的包

给vsftp颁发证书:

# mkdir /etc/vsftpd/certs    //创建vsftpd证书存放目录

# cd /etc/vsftpd/certs/

# openssl genrsa 1024 >vsftpd.key    //产生vsftpd自己的私钥

# openssl req -new -key vsftpd.key -out vsftpd.csr   //vsftpd通过自己的私钥产生证书请求

wps_clip_p_w_picpath-5008

# openssl ca -in vsftpd.csr -out vsftpd.cert    //通过证书请求,申请证书

wps_clip_p_w_picpath-21555

# chmod 600 *  改变vsftpd证书相关文件的权限

配置vsfpt配置文档:

# vim /etc/vsftpd/vsftpd.conf

添加一下命令:

rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert    //vsftpd证书所在位置

rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key   //vsftpd私钥所在位置

ssl_tlsv1=YES    //支持ssl的1版本

ssl_sslv2=YES    //支持ssl的2版本

ssl_sslv3=YES    //支持ssl的3版本

ssl_enable=YES    //开启vsftpd的ssl加密

force_local_logins_ssl=YES    //对本地用户的登录信息进行加密

wps_clip_p_w_picpath-35

启动vsftpd:

# service vsftpd start

创建本地帐号:

# useradd test1

# passwd test1

二、实验测试:

使用FlashFXP ftp客户端进行测试:

下载安装FlashFXP后,创建一个ftp站点:

wps_clip_p_w_picpath-29562

新建站点:

wps_clip_p_w_picpath-12784

wps_clip_p_w_picpath-29516

wps_clip_p_w_picpath-9841

点击连接后,会弹出ftp的证书:

wps_clip_p_w_picpath-7939

wps_clip_p_w_picpath-22585

验证成功!!

案例二:通过虚拟帐号保证ftp服务器帐号的安全性;

一、实验步骤:

挂载光盘:

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom/

安装vsftpd:

# cd /mnt/cdrom/Server/

# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm

安装db_load包:

# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm

创建虚拟帐号数据库的一个文本文件:

# vim /etc/vsftpd/viruser.txt

wps_clip_p_w_picpath-30980

将viruser.txt生成一个虚拟帐号数据库:

# cd /etc/vsftpd/

# db_load -T -t hash -f viruser.txt viruser.db

编辑vsftp的主配置文档,查看用户通过pam身份验证的接口文件:

# vim /etc/vsftpd/vsftpd.conf

wps_clip_p_w_picpath-20939

打开pem的接口文件,用于将ftp验证指向定义的用户数据库:

# vim /etc/pam.d/vsftpd

wps_clip_p_w_picpath-29870

编辑vsftpd.conf虚拟帐号映射成真是目录:添加两行

# vim /etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=localuser

wps_clip_p_w_picpath-10317

启动vsftpd服务:

# service vsftpd start

创建虚拟帐号的映射本地帐号:

# useradd localuser

# passwd localuser

更改localuser家目录的权限:

# chmod a+rx /home/localuser

二、验证测试:

在localuser家目录中创建一个测试文件:

# touch /home/localuser/test.txt

首先登录ftp:

wps_clip_p_w_picpath-3275

使用创建的虚拟帐号test1登录ftp:右击-->登录

wps_clip_p_w_picpath-9393

输入帐号test1:

wps_clip_p_w_picpath-651

wps_clip_p_w_picpath-22347

登录成功!!