通过vftps和虚拟帐号增强ftp的安全性

简介:

原理介绍:

一、帐号登录:

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_image-4029

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

一、实验步骤:

配置服务器ip地址:

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

wps_clip_image-15124

重启network服务:

# service network restart

编辑证书配置文档:

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

wps_clip_image-28872

    //证书文件的主目录

wps_clip_image-2865

wps_clip_image-8536

    //默认国家

wps_clip_image-9970

    //默认省份

wps_clip_image-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_image-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_image-5008

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

wps_clip_image-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_image-35

启动vsftpd:

# service vsftpd start

创建本地帐号:

# useradd test1

# passwd test1

二、实验测试:

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

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

wps_clip_image-29562

新建站点:

wps_clip_image-12784

wps_clip_image-29516

wps_clip_image-9841

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

wps_clip_image-7939

wps_clip_image-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_image-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_image-20939

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

# vim /etc/pam.d/vsftpd

wps_clip_image-29870

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

# vim /etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=localuser

wps_clip_image-10317

启动vsftpd服务:

# service vsftpd start

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

# useradd localuser

# passwd localuser

更改localuser家目录的权限:

# chmod a+rx /home/localuser

二、验证测试:

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

# touch /home/localuser/test.txt

首先登录ftp:

wps_clip_image-3275

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

wps_clip_image-9393

输入帐号test1:

wps_clip_image-651

wps_clip_image-22347

登录成功!!



本文转自 cexpert 51CTO博客,原文链接:http://blog.51cto.com/cexpert/992170

相关文章
|
关系型数据库 MySQL Linux
[教程]在CentOS7上配置 FTP服务器 Proftpd 支持 MySQL 虚拟用户加密认证以及磁盘限额(Quota)
本文软件采用 yum 安装,不需要编译,而且随时都可以跟随 CentOS 升级 Proftpd 到最新版本,以避免可能的漏洞攻击。利用 Proftpd 现成的配置以及设置好的各种模块,可以实现 sftp 和 ssh 的结合,完美的实现虚拟用户加密密码存放于数据库。
4480 0
|
数据安全/隐私保护
|
机器学习/深度学习 关系型数据库 Linux
|
数据库 数据安全/隐私保护
阿里云虚拟主机:怎么查看FTP帐号、密码、IP?怎么查看数据库账号、地址和密码等?
本文介绍阿里云虚拟主机:怎么查看FTP帐号、密码、IP?怎么查看数据库账号、地址和密码等?购买前请先:领取阿里云幸运券,有很多优惠,下文中有领取链接。 购买建议多买几年,年数越多优惠越多。
11413 0
|
Linux 安全 开发工具
【Linux FTP】(2)FTP服务器虚拟账户登录创建过程
创建虚拟账户,提高服务器安全性
2173 0