FTP(三)vsftp + ssl搭建安全ftp服务

一、背景

ftp是一个古老协议,明文传输数据,所以为了安全需要结合ssl证书加密通讯 。本文是继上两篇的扩展优化。

二、创建本地ssl证书

#(umask 077;openssl genrsa -out /etc/vsftpd/ftpkey.pri 2048)

#openssl req -new -key /etc/vsftpd/ftpkey.pri -out /etc/vsftpd/ftpreq.csr

# (umask 077;openssl genrsa -out /etc/vsftpd/ftpkey.pri 2048)

Generating RSA private key, 2048 bit long modulus

..............................................................+++

............+++

e is 65537 (0x10001)

]# openssl req -new -key /etc/vsftpd/ftpkey.pri -out /etc/vsftpd/ftpreq.csr

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.‘, the field will be left blank.

-----

Country Name (2 letter code) [XX]:CN

State or Province Name (full name) []:ShangHai

Locality Name (eg, city) [Default City]:xuihui

Organization Name (eg, company) [Default Company Ltd]:testkey

Organizational Unit Name (eg, section) []:testkey

Common Name (eg, your name or your server‘s hostname) []:192.168.10.168

Email Address []:[email protected]

Please enter the following ‘extra‘ attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

#(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650

touch /etc/pki/CA/index.txt

echo "01" >/etc/pki/CA/serial

openssl ca -in /etc/vsftpd/ftpreq.csr -out /etc/vsftpd/certftp.crt -days 3650

三、vsftpd.conf配置

cat /etc/vsftpd/vsftpd.conf |egerp -v  ‘(^$|^#)‘

#数据连接侦听端口
listen_port=10021
#禁止匿名用户访问
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
connect_from_port_20=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
max_clients=20
max_per_ip=2
local_max_rate=409600
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=65530
pasv_max_port=65535
#证书位置
rsa_cert_file=/etc/vsftpd/certftp.crt 
rsa_private_key_file=/etc/vsftpd/ftpkey.pri
#开启ssl
ssl_enable=YES
allow_anon_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
#强制使用ssl安全连接
force_local_data_ssl=YES
force_local_logins_ssl=YES
require_ssl_reuse=NO
ssl_ciphers=HIGH

#重启vsftpd,看上去没有什么变化,连接访问时如下:

这时候客户端和ftp之间的连接通讯和数据传输都是ssl加密连接传输。可以通过抓包工具验证!

时间: 2024-10-30 23:10:54

FTP(三)vsftp + ssl搭建安全ftp服务的相关文章

Nginx (三) 使用Keepalived搭建高可用服务

Nginx可以实现高并发反向代理,实现负载均衡,但是有个问题就是Nginx是单点的.如果Nginx故障,则整个服务将会处于不可用状态.所以我们就需要想办法让nginx高可用,即使一个Nginx宕机,还可以有其他的Nginx来支持服务.现在我们通过Keepalived的就可以实现多台Nginx作为主备机,当主机宕机时,可以让备机切换成主机继续提供服务,对整个用户服务几乎没有影响. 1. Keepalived介绍 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP

Linux中如何搭建一个ftp服务服务器-超详细

ftp工作是会启动两个通道: 控制通道 , 数据通道 在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式) PORT模式: 在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21)  发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来

39.搭建Linux基础服务dhcp、samba、ftp、dns

LInux搭建各种服务器教程!   DHCP服务器: 设置永久网络配置文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0 设置网卡显示配置文件路径:/etc/udev/rules.d/70-persistent-net.rules 防火墙配置文件路径:/etc/sysconfig/selinux DHCP服务的进程名:dhcpd 搭建步骤: 设置好网络,关闭防火墙功能以及防火墙服务. 安装dhcpd软件包. 复制模版文件/usr/share/doc/dh

linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题

linux上搭建ftp 重要 解决如何搭建ftp         解决用户指定访问其根目录         解决访问ftp超时连接         解决ftp主动连接.被动连接的问题 1.安装ftp    安装ftp前,先把防火墙关闭 #service iptables stop   (挺重要) 安装好后再根据需要的端口 添加到 iptables 直接用yum安装 vsftp # 1.执行以下安装命令 yum install -y vsftpd # 2.设置开机启动服务 chkconfig vs

centos7环境下搭建与配置服务:ftp、Bind、DHCP、SAMBA、LNMP、LAMP、tomca

1.ftp (1)使用yum安装 vsftpd ftp [[email protected] /]#  yum install -y ftp vsftpd* (2)备份vsftpd原有配置文件 [[email protected] /]#  cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.old (3)创建密码明文文件 [[email protected] /]# vim /etc/vsftpd/vftpuser.txt aochuanfei

Linux中搭建一个ftp服务器详解

来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)PORT模式:在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21)  发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ft

exportfs命令 NFS客户端问题 FTP介绍 使用vsftpd搭建ftp

一.exportfs命令NFS服务端的nfs服务不能随意重启,如果需要重启服务端的nfs服务,需要先把挂载服务端共享目录的所有客户端的挂载先全部卸载客户端执行:#umount /mnt/ //提示如下umount.nfs4: /mnt: device is busy解决:第一种办法:退出/mnt目录[[email protected] mnt]# cd[[email protected] ~]# umount /mnt/第二种方法:#umount -l /mnt/ 先卸载掉客户端的挂载,然后在重

linux的FTP服务器搭建及FTP服务器的入侵和防御

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输. 与大多数Internet服务一样,FTP也是一个客户机/服务器系统.用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序.用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机. 用户分类 Real帐户 这类用户是指在FTP服务上拥有帐号.当这类用户登录FTP服务器的

在Linux中搭建一个FTP服务器

在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/ftp/ftp2. 两个小组互相不能访问各自的文件,需要限制用户不能离开自己的工作目录. [实现步骤] 1.检查安装vsftpd服务器 以root进入终端后(其他账户进入终端的可以用su root 输入密码后进入root 模式)之后,在终端命令窗口输入以下命令进行验证:# rpm –qa | grep