如何使用SSL和双因素身份验证来保护VSFTP

如何使用SSL和双因素身份验证来保护VSFTP最近,Finjan发现一个报告,管理员凭证超过9,000个FTP ...

如何使用SSL和双因素身份验证来保护VSFTP

最近有一个Finjan的报告,超过9,000个FTP服务器的管理员凭据出售 。 然后,F-Secure指出了基于FTP的攻击增加 。 许多公司和组织仍然广泛使用FTP。 如果您正在运行FTP服务器,并且认为您的管理员凭据可能是其中的一个,则应考虑为SSH执行双因素身份验证,然后再为SCP提供双因素身份验证。 本文档介绍如何配置流行和安全的VSFTP使用SSL加密和WiKID进行双重身份验证 ,为您的FTP用户。

安装和配置VSFTP

yum install vsftpd

如果您还没有SSL证书,请创建SSL证书:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

编辑/etc/vsftp/vsftp.com 。 这些设置在测试时工作,但不能保证是最安全的。 请参阅

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES ftpd_banner=Welcome to blah FTP service. listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_enable=YES pasv_promiscuous=YES pasv_min_port=6000 pasv_max_port=7000 ssl_enable=YES allow_anon_ssl=NO force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=YES ssl_sslv3=YES rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem 

配置PAM半径

编辑您的/etc/pam.d/vsftp文件以使用pam radius:

#%PAM-1.0 session    optional     pam_keyinit.so    force revoke auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth       required     pam_shells.so auth       required     /lib/security/pam_radius_auth.so #auth       include     system-auth account    include      system-auth session    include      system-auth session    required     pam_loginuid.so 

编辑您的/ etc / raddb服务器以指向WiKID服务器:

# server[:port] shared_secret      timeout (s) 127.0.0.1             secret             1 WIKID_Server_IP       wikidserver_secret      3 

配置WiKID强认证服务器

如果您需要在WiKID服务器上添加一个域,请现在执行以下操作:

Createdomain.jpg

创建一个网络客户端

保存域信息后,单击网络客户端选项卡和创建新的网络客户端 。输入此客户端的名称和内部网络上的VSFTP服务器的IP地址。选择Radius作为协议和您上面创建的域作为域。
Createnetworkclient.jpg

单击添加以获取下一页,并输入Radius的共享密码。

Createnetworkclient2.jpg

由于其安全性和速度,VSFTP是非常受欢迎的FTP服务器。 我使用Filezilla作为FTP客户端,因为它支持SSL。 如果您实现SSH的双因素身份验证 ,您也可以获得很多客户端支持,包括WinSCP 。 您可能不关心加密数据,但是您仍然应该关心谁将数据上传到您的服务器,并且您一定要为FTP管理员实施双因素身份验证。