配置vsftp+ssl

本文涉及的产品
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介:

1、系统环境、安装包

centOS 5.4
db4
vsftpd

需要RPM包
db4-tcl-4.3.29-10.el5_5.2
db4-4.3.29-10.el5_5.2
db4-java-4.3.29-10.el5_5.2
db4-utils-4.3.29-10.el5_5.2
db4-devel-4.3.29-10.el5_5.2
vsftpd-2.0.5-16.el5_5.1

2、安装vsftp
yum install vsftpd*
yum install db4
3、添加虚拟用户口令
vi /etc/login.txt

test
111111
test2
222222
test3
333333

4、生成虚拟用户口令认证文件
db_load -T -t hash -f /etc/login.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db
5、编辑vsftpd的PAM认证文件
vi /etc/pam.d/vsftpd

将里面的全部注释掉,添加下面的两行
auth        required    /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account     required    /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
6、建立本地映射用户并设置宿主目录权限
useradd -d /home/ftpsite -s /sbin/nologin virtual
chmod 700 /home/ftpsite
7、配置vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
listen=YES                         #设置VSFTP服务器启动方式为独立启动    
#virtual_use_local_privs=YES       #将此配置注释掉,否则虚拟用户的权限无法细分
user_config_dir=/etc/vsftpd/vsftpd_user_conf  #创建此目录,此目录为用户的权限文件配置目录
chroot_local_user=YES              #设置目录不可以更改主目录
listen_port=21
pasv_enable=YES
pasv_max_port=30000
pasv_min_port=30999 
guest_enable=YES                   #开启虚拟用户
guest_username=virtual             #FTP虚拟用户对于的系统用户
pam_service_name=vsftpd            #PAM认证文件


为test用户配置权限(上传、下载、建目录、删除文件、修改文件名)
mkdir /etc/vsftpd/vsftpd_user_conf
vi /etc/vsftpd/vsftpd_user_conf/test
local_root=/home/ftpsite/public
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

为test1用户配置权限(只有上传权限)

vi /etc/vsftpd/vsftpd_user_conf/test1
local_root=/home/ftpsite/public
write_enable=YES
anon_world_readable_only=NO

为test2用户配置权限

vi /etc/vsftpd/vsftpd_user_conf/test2 (上传和下载权限)
local_root=/home/ftpsite/public
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES

8、配置防火墙
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30999 -j ACCEPT

以上配置好后验证下VSFTP是否可以登录,通过客户端登录服务器验证下

本地 yum install ftp

然后:ftp 127.0.0.1 根据实际的账户验证是否登录,都没有问题 就可以操作以下步骤
9、安装openssl
   yum install openssl*

   9.1 确认一下安装的vsftpd是否支持ssl加密

      [root@localhost public]# ldd /usr/sbin/vsftpd | grep libssl
      libssl.so.6 => /lib/libssl.so.6 (0x00502000)
 
   9.2 利用OpenSSL生成证书

       [root@localhost] openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
       其中"-days 365"声明证书的有效期是一年。
       接下来的过程需要你输入一些相关的国家,地区,位置,组织名称,common name等信息。
       回答这些信息以后系统会将生成完的证书vsftpd.pem文件保存在/etc/vsftpd目录下。
   9.3 修改/etc/vsftpd/vsftpd.conf文件

       增加下面这些内容,这些参数是与ssl有关的。

       ssl_enable=YES
       allow_anon_ssl=NO
       force_local_data_ssl=NO
       force_local_logins_ssl=YES
       ssl_tlsv1=YES
       ssl_sslv2=NO
       ssl_sslv3=NO
       rsa_cert_file=/etc/vsftpd/vsftpd.pem

       如果设置force_local_logins_ssl=YES,那么会强制用户登录时采用支持TLS/SSL认证的ftp客户端。如果设置为NO的话,则用户可以选择使用ssl加密或者不加密。
   9.4 重新启动vsftpd服务

       [root@localhost] /etc/rc.d/init.d/vsftpd restart
       
10、下载flash客户端测试
flashfxp等ftp客户端设置ssl选项,如下图:


 

通过FlashFXP连接成功~


本文转自 holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/514376


相关文章
|
2月前
|
存储 应用服务中间件 Linux
nginx配置证书和私钥进行SSL通信验证
nginx配置证书和私钥进行SSL通信验证
90 4
|
4月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
302 60
|
4月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
394 60
|
4月前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
283 10
|
5月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
5月前
|
Linux 应用服务中间件 Shell
利用 ACME 实现SSL证书自动化配置更新
【10月更文挑战第11天】多项式承诺原理是密码学中的重要工具,允许证明者向验证者承诺一个多项式并证明其某些性质。Kate多项式承诺是一种知名方案,基于有限域上的多项式表示,通过生成和验证简洁的证明来确保多项式的正确性和隐私。其安全性基于离散对数假设。应用场景包括区块链中的零知识证明和可验证计算,以及多方计算和身份认证协议。在区块链中,Kate多项式承诺可用于保护隐私币和智能合约中的敏感信息。
315 2
|
5月前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
429 0
|
7月前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
226 2
|
7月前
|
存储 网络安全 Windows
【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
|
7月前
|
缓存 Ubuntu 应用服务中间件
如何在 Ubuntu 14.04 上配置 Varnish Cache 4.0 实现 SSL 终止
如何在 Ubuntu 14.04 上配置 Varnish Cache 4.0 实现 SSL 终止
75 0

热门文章

最新文章