vsftpd服务器的安全策略
1. 为vsftpd服务器配置SSL
在VSFTPD-2.0.1以后的版本里提供了对SSL套接层的支持,这使得vsftpd变的更加安全了。要实现ftp的安全连接有几个必须的前提是OPENSSL版本必须大于0.9.6,你可以用openssl加密你的vsftpd服务器登录及传输过程。方法是修改builddefs.h文件中的:
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
为:
#define VSF_BUILD_TCPWRAPPERS
#undef VSF_BUILD_PAM
#define VSF_BUILD_SSL
然后编译即可。
2. 启用tcp_wrappers进行访问控制
tcp_wrapper是这样一套基本系统,它可以用来禁止(或者显式的允许)特定的主机对某些服务的访问。简单的说,它的工作原理是这样的:inetd或xinetd运行很多的服务,其中很多都是由tcpd包装好的。换句话说,tcpd是真正运行这些服务的程序,但是xinetd不知道这些(其实它根本不关心)。tcpd根据/etc/hosts.allow和/etc/hosts.deny来判断是否允许传来的连接请求。tcp_wrapper工作原理见图5。
图5 tcp_wrapper工作原理 |
这里tcp_wrappers的应用思路是“先阻止、后放行”。因此策略是首先禁止所有主机访问FTP服务器(在/etc/hosts.deny文件中设定),然后在/etc/hosts.allow中加入允许访问的主机或IP地址列表,这是最安全的访问策略。使用这项功能需要在安装编译之前构建包含tcp_wrappers的vsftpd。可通过编辑“builddefs.h”文件,将“#undef VSF_BUILD_TCPWRAPPERS”修改为“#define VSF_BUILD_TCPWRAPPERS”,然后重新构建编译,生成可执行代码。其次,要开启在配置文件vsftpd.conf中的选项“tcp_wrappers=YES”。该功能依赖于对文件“/etc/hosts.allow”的配置。tcp_wrapper位于Vsftpd和iptables防火墙之间。如图6 。
图6 tcp_wrapper位于Vsftpd和iptables防火墙之间 |
vsftpd服务器的安全策略
1. 为vsftpd服务器配置SSL
在VSFTPD-2.0.1以后的版本里提供了对SSL套接层的支持,这使得vsftpd变的更加安全了。要实现ftp的安全连接有几个必须的前提是OPENSSL版本必须大于0.9.6,你可以用openssl加密你的vsftpd服务器登录及传输过程。方法是修改builddefs.h文件中的:
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
为:
#define VSF_BUILD_TCPWRAPPERS
#undef VSF_BUILD_PAM
#define VSF_BUILD_SSL
然后编译即可。
2. 启用tcp_wrappers进行访问控制
tcp_wrapper是这样一套基本系统,它可以用来禁止(或者显式的允许)特定的主机对某些服务的访问。简单的说,它的工作原理是这样的:inetd或xinetd运行很多的服务,其中很多都是由tcpd包装好的。换句话说,tcpd是真正运行这些服务的程序,但是xinetd不知道这些(其实它根本不关心)。tcpd根据/etc/hosts.allow和/etc/hosts.deny来判断是否允许传来的连接请求。tcp_wrapper工作原理见图5。
图5 tcp_wrapper工作原理 |
这里tcp_wrappers的应用思路是“先阻止、后放行”。因此策略是首先禁止所有主机访问FTP服务器(在/etc/hosts.deny文件中设定),然后在/etc/hosts.allow中加入允许访问的主机或IP地址列表,这是最安全的访问策略。使用这项功能需要在安装编译之前构建包含tcp_wrappers的vsftpd。可通过编辑“builddefs.h”文件,将“#undef VSF_BUILD_TCPWRAPPERS”修改为“#define VSF_BUILD_TCPWRAPPERS”,然后重新构建编译,生成可执行代码。其次,要开启在配置文件vsftpd.conf中的选项“tcp_wrappers=YES”。该功能依赖于对文件“/etc/hosts.allow”的配置。tcp_wrapper位于Vsftpd和iptables防火墙之间。如图6 。
图6 tcp_wrapper位于Vsftpd和iptables防火墙之间 |
vsftpd服务器的安全策略
1. 为vsftpd服务器配置SSL
在VSFTPD-2.0.1以后的版本里提供了对SSL套接层的支持,这使得vsftpd变的更加安全了。要实现ftp的安全连接有几个必须的前提是OPENSSL版本必须大于0.9.6,你可以用openssl加密你的vsftpd服务器登录及传输过程。方法是修改builddefs.h文件中的:
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
为:
#define VSF_BUILD_TCPWRAPPERS
#undef VSF_BUILD_PAM
#define VSF_BUILD_SSL
然后编译即可。
2. 启用tcp_wrappers进行访问控制
tcp_wrapper是这样一套基本系统,它可以用来禁止(或者显式的允许)特定的主机对某些服务的访问。简单的说,它的工作原理是这样的:inetd或xinetd运行很多的服务,其中很多都是由tcpd包装好的。换句话说,tcpd是真正运行这些服务的程序,但是xinetd不知道这些(其实它根本不关心)。tcpd根据/etc/hosts.allow和/etc/hosts.deny来判断是否允许传来的连接请求。tcp_wrapper工作原理见图5。
图5 tcp_wrapper工作原理 |
这里tcp_wrappers的应用思路是“先阻止、后放行”。因此策略是首先禁止所有主机访问FTP服务器(在/etc/hosts.deny文件中设定),然后在/etc/hosts.allow中加入允许访问的主机或IP地址列表,这是最安全的访问策略。使用这项功能需要在安装编译之前构建包含tcp_wrappers的vsftpd。可通过编辑“builddefs.h”文件,将“#undef VSF_BUILD_TCPWRAPPERS”修改为“#define VSF_BUILD_TCPWRAPPERS”,然后重新构建编译,生成可执行代码。其次,要开启在配置文件vsftpd.conf中的选项“tcp_wrappers=YES”。该功能依赖于对文件“/etc/hosts.allow”的配置。tcp_wrapper位于Vsftpd和iptables防火墙之间。如图6 。
图6 tcp_wrapper位于Vsftpd和iptables防火墙之间 |
7. 安全使用客户端工具
服务器加固后要考虑防范网络嗅探,即客户端向服务器传输数据过程。防范网络嗅探的关键的文件传输过程,使用OpenSSH上传数据到服务器可以把所有传输的数据进行加密,这样即使网络中的黑客能够劫持用户所传输的数据,如果不能解密的话,也不能对数据传输构成真正的威胁。
如果使用Windows的话推荐使用Filezilla ,它是客户端使用SFTP的一款不错的开源软件。最新版本2.2.16,官方网址:http://filezilla.sourceforge.net/ 。Filezilla是一款非常值得推荐的FTP客户端,尽管它的功能丰富,但却非常方便好用。它的界面采用了多窗格设计,可以同时显示本地硬盘的内容和远端服务器上的目录,此外还列出了常用的ftp命令。Filezilla支持断点续传(下载和上传均支持),同时也支持SSL加密传输方式。你可以通过编辑它的传输任务队列来选择所要传输的文件或安排传输顺序。在站点管理器(Site Manager)中选择好一个服务器之后就可以开始上传或下载文件了。使用它可以安全方便的向服务器上传下载数据。对中文支持很好,配置界面如图9所示。
图9 Filezilla配置界面 |
总结:
在众多网络应用中,FTP(文件传输协议)有着非常重要的地位。互联网一个十分重要的资源就是软件资源,而各种各样的软件资源大多数都放在FTP服务器中。在网站的建设中,FTP是一项重要的服务,利用它可以更容易分享有限的软件资源。以上实例均在RHEL 4.0系统上试验通过,如遇到问题请仔细检查每个细节的正确性。上面的内容可以根据具体环境进行增减、修改。相信通过自己的努力可以打造出一个高效、安全的FTP服务器。