如何使用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服务器上添加一个域,请现在执行以下操作:
创建一个网络客户端
保存域信息后,单击 网络客户端选项卡和 创建新的网络客户端 。输入此客户端的名称和内部网络上的VSFTP服务器的IP地址。选择Radius作为协议和您上面创建的域作为域。单击 添加以获取下一页,并输入Radius的共享密码。
由于其安全性和速度,VSFTP是非常受欢迎的FTP服务器。 我使用Filezilla作为FTP客户端,因为它支持SSL。 如果您实现SSH的双因素身份验证 ,您也可以获得很多客户端支持,包括WinSCP 。 您可能不关心加密数据,但是您仍然应该关心谁将数据上传到您的服务器,并且您一定要为FTP管理员实施双因素身份验证。