一。FTP服务概述

 

1.FTP连接方式

控制连接:标准端口为21,用于发送FTP命令信息

数据连接:标准端口为20,用于上传、下载数据

2.数据连接的建立类型:

 主动模式:服务端从20端口主动向客户端发起连接

 被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接

3.FTP传输模式

文本模式:ASCII模式,以文本序列传输数据

二进制模式:Binary模式,以二进制序列传输数据

 

4.vsftpd软件包

官方站点:http://vsftpd.beasts.org/

主程序:/usr/sbin/vsftpd

服务名:vsftpd

用户控制列表文件

 /etc/vsftpd/ftpusers

 /etc/vsftpd/user_list

主配置文件

 /etc/vsftpd/vsftpd.conf

 

5.常用的本地用户FTP配置项

local_enable=YES:是否启用本地系统用户

local_umask=022:本地用户所上传文件的权限掩码

local_root=/var/ftp:设置本地用户的FTP根目录

chroot_local_user=YES:是否将用户禁锢在主目录

local_max_rate=0:限制最大传输速率(字节/秒

6.在linux企业版5.4下rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm 

 

二.构建安全的vsftpd服务器

(1)建CA

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

  45行   dir      =/etc/pki/CA  

  88-90行 执行 :88,90 s/match/optional/g

2.cd /etc/pki/CA/

3.mkdir certs newcerts crl

4.touch index.txt serial

5.echo "01">serial

(2)产生私匙,证书

1.cd /etc/pki/CA/

2.openssl genrsa 1024 > private/cakey.pem

3.自签发证书

openssl req -x509 -new -key private/cakey.pem  -out cacert.pem

4.chmod 600 private/cakey.pem

(3)FTP服务器证书签发

1.mkdir /etc/vsftpd/certs

2.cd /etc/vsftpd/certs/
3.openssl genrsa 1024 >vsftpd.key
4.openssl req -new -key vsftpd.key -out  vsftpd.csr
5.openssl ca  -in vsftpd.csr  -out vsftpd.cert
6.vim /etc/vsftpd/vsftpd.conf
force_local_logins_ssl=YES
force_local_data_ssl=YES
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
7.chmod 600 *
8.useradd user1
9.echo "123"|passwd --stdin user1
10. service vsftpd restart 
(3)测试工具FlashFXP