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

简介:

一、背景

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



二、创建本地ssl证书

1
2
3
#(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)

1
] # 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 []:14921xxx@qq.com


Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

1
#(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
1
2
3
4
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配置

1
cat  /etc/vsftpd/vsftpd .conf |egerp - v   '(^$|^#)'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#数据连接侦听端口
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,看上去没有什么变化,连接访问时如下:

wKiom1lLe5_Q_EenAADJnf6vJOk021.png-wh_50


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

防火墙的配置见上往篇中的配置.










本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/1940990,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
|
5月前
|
安全 网络安全
如何给网站添加ssl安全证书
如何给网站添加ssl安全证书
|
6月前
|
安全 搜索推荐 数据建模
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
SSL证书是网络安全的关键,用于加密和验证网站身份,保护用户数据安全,防止信息被窃取。它分为DV、OV、EV和IV四种类型,每种验证网站身份的程度不同。DV证书快速签发,OV和EV证书提供更高级别的身份验证,EV证书曾在浏览器地址栏显示绿色。目前,DV证书占据市场大部分份额。SSL证书还有单域、通配符和多域之分,有效期曾从多年逐渐缩短至90天,以增强安全性。部署SSL证书能提升用户信任,优化SEO排名,并符合网络安全法规要求。
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
|
5月前
|
人工智能 网络安全 开发工具
视觉智能开放平台操作报错合集之服务部署在pdd的服务器,调用报错:The SSL connection could not be established,该如何解决
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
129 0
|
21天前
|
安全 Java 测试技术
ToB项目身份认证AD集成(二):快速搞定window server 2003部署AD域服务并支持ssl
本文详细介绍了如何搭建本地AD域控测试环境,包括安装AD域服务、测试LDAP接口及配置LDAPS的过程。通过运行自签名证书生成脚本和手动部署证书,实现安全的SSL连接,适用于ToB项目的身份认证集成。文中还提供了相关系列文章链接,便于读者深入了解AD和LDAP的基础知识。
|
24天前
|
网络安全 数据安全/隐私保护
FTP服务搭建
FTP服务搭建
24 0
|
1月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
3月前
|
存储
【Azure 应用服务】Azure App Service 自带 FTP服务
【Azure 应用服务】Azure App Service 自带 FTP服务
|
3月前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
440 0
|
4月前
|
安全 网络协议 网络安全
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。