vsftpd进阶(加固安全策略)
发表于 : 2008-08-08 18:54
实质上vsftpd已经很安全了,但不当的设置与管理员的安全意识淡薄,同样会造成安全问题,在现今intnet流量占去1/3的ftp,安全将是不容忽视的。
vsftpd的安全策略相比同为主流的proftpd要少的多,从这点上也可以看出其本身的安全性如何,vsftpd有很多关于安全的配置参数,(如userlist_enable,tcp_wrappers,chroot_list_enable,hide_ids,secure_chroot_dir,chroot_local_users)
配置好这些参数,将极大的提升ftp的安全性,如果是对安全有需要的,可以去研究下这些参数用法
除去本身关于安全参数的配置,vsftpd面临的另一个威胁便是黑客的暴力破解,获取用户密码而非法登陆。
应对这种方法,变是结合BlockHosts软件,通过分析vsftpd日志文件帮助tcp_wrappers实现工作自动化
例如:在30秒钟内一个ip地址(192.168.0.5)连续20次登陆vsftpd,而且全部因为密码错误登陆失败,
这时候我们就可以认为这个ip地址是恶意主机,这时候blockhosts会自动将该ip地址写入/etc/hosts.deny
文件中,阻止该 ip继续访问任何服务。
BlockHosts软件基于命令行模式,使用非常简单,大家随便查找下资料就可以了
除去暴力破解,最应该注意的就是ssl加密的问题了,ftp控制连接使用明码传输,这将是最大的安全隐患
应对方法便是使用ssl加密措施,vsftpd本身已经支持ssl,这里只需要安装openssl加密软件
然后生成vsftpd.pem认证,在配置文件中添加参数
ssl_enable=YES
allow_anon_ssl=NO
rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem
生成vsftpd.pem可以使用命令
cd /usr/share/ssl/certs
openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
然后使用ls检查看是否生成vsftpd.pem,有关openssl的内容如果在这里叙述将是麻烦的一件事,就不多说了
建立好vsftpd后,为ftpuser添加quota(磁盘限额)将是非常必要的,防止可恶意用户将垃圾塞满磁盘
对于匿名用户,可以限制ftp_username=xxx参数设置的用户,默认是ftp用户
对于虚拟用户,可以限制guest_username=xxx参数设置的用户,默认是ftp用户
这里就不写如何配置quota了,很简单,只需要注意,如果要限制的目录没有单独的分区的话,就需要在/目录配置quota了,这将失去灵活性,所以分区的时候需要注意,好的分区也是可以带来一定的稳定性的
除去上边这些,不管那种ftp都将会面临以下安全隐患
缓冲区溢出攻击:基本大点的c程序的软件都会有,也是黑客主要的入侵手段,也是困绕了安全专家30年的难题,主要是软件编程机制导致内存出现错误,使黑客可以运行一段恶意代码破坏系统正常运行而获得系统控制权,基本没什么防范方法,唯一有用的就是更新版本,打补丁!
数据嗅探:因为ftp明文的传送口令方式,基本会被暴力破解和嗅探器一逮一个准,然后冒充中间人欺骗服务器与服务器沟通。如果ftp是用root运行的,会被sniffer捕获开始会话信息,顺手截获root密码.
匿名访问缺陷:匿名方式在ftp中广泛存在,由于匿名不需要真正的身份认证,很容易为入侵者提供一个访问通道,配合缓冲区益出攻击,会造成很严重的后果,特别是安装wu-ftpd的服务器
其实,我很希望新接触linux服务区这块设置的朋友,不要心急去贪多,linux的服务很多,要全学会将是一个长期的过程,特别是对服务梢有了解的时候就去学另一种,这样建立的服务放到intnet上基本属于送菜,也不要太迷信防火墙的安全,大多攻击可以绕过防火墙,特别是半调子的防火墙技术,希望新手朋友能深入了解一项服务后,在去接触别的,这样塌实的学习会让你受益一生的,说教到此结束,别扔鸡蛋,挺贵的
vsftpd的安全策略相比同为主流的proftpd要少的多,从这点上也可以看出其本身的安全性如何,vsftpd有很多关于安全的配置参数,(如userlist_enable,tcp_wrappers,chroot_list_enable,hide_ids,secure_chroot_dir,chroot_local_users)
配置好这些参数,将极大的提升ftp的安全性,如果是对安全有需要的,可以去研究下这些参数用法
除去本身关于安全参数的配置,vsftpd面临的另一个威胁便是黑客的暴力破解,获取用户密码而非法登陆。
应对这种方法,变是结合BlockHosts软件,通过分析vsftpd日志文件帮助tcp_wrappers实现工作自动化
例如:在30秒钟内一个ip地址(192.168.0.5)连续20次登陆vsftpd,而且全部因为密码错误登陆失败,
这时候我们就可以认为这个ip地址是恶意主机,这时候blockhosts会自动将该ip地址写入/etc/hosts.deny
文件中,阻止该 ip继续访问任何服务。
BlockHosts软件基于命令行模式,使用非常简单,大家随便查找下资料就可以了
除去暴力破解,最应该注意的就是ssl加密的问题了,ftp控制连接使用明码传输,这将是最大的安全隐患
应对方法便是使用ssl加密措施,vsftpd本身已经支持ssl,这里只需要安装openssl加密软件
然后生成vsftpd.pem认证,在配置文件中添加参数
ssl_enable=YES
allow_anon_ssl=NO
rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem
生成vsftpd.pem可以使用命令
cd /usr/share/ssl/certs
openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
然后使用ls检查看是否生成vsftpd.pem,有关openssl的内容如果在这里叙述将是麻烦的一件事,就不多说了
建立好vsftpd后,为ftpuser添加quota(磁盘限额)将是非常必要的,防止可恶意用户将垃圾塞满磁盘
对于匿名用户,可以限制ftp_username=xxx参数设置的用户,默认是ftp用户
对于虚拟用户,可以限制guest_username=xxx参数设置的用户,默认是ftp用户
这里就不写如何配置quota了,很简单,只需要注意,如果要限制的目录没有单独的分区的话,就需要在/目录配置quota了,这将失去灵活性,所以分区的时候需要注意,好的分区也是可以带来一定的稳定性的
除去上边这些,不管那种ftp都将会面临以下安全隐患
缓冲区溢出攻击:基本大点的c程序的软件都会有,也是黑客主要的入侵手段,也是困绕了安全专家30年的难题,主要是软件编程机制导致内存出现错误,使黑客可以运行一段恶意代码破坏系统正常运行而获得系统控制权,基本没什么防范方法,唯一有用的就是更新版本,打补丁!
数据嗅探:因为ftp明文的传送口令方式,基本会被暴力破解和嗅探器一逮一个准,然后冒充中间人欺骗服务器与服务器沟通。如果ftp是用root运行的,会被sniffer捕获开始会话信息,顺手截获root密码.
匿名访问缺陷:匿名方式在ftp中广泛存在,由于匿名不需要真正的身份认证,很容易为入侵者提供一个访问通道,配合缓冲区益出攻击,会造成很严重的后果,特别是安装wu-ftpd的服务器
其实,我很希望新接触linux服务区这块设置的朋友,不要心急去贪多,linux的服务很多,要全学会将是一个长期的过程,特别是对服务梢有了解的时候就去学另一种,这样建立的服务放到intnet上基本属于送菜,也不要太迷信防火墙的安全,大多攻击可以绕过防火墙,特别是半调子的防火墙技术,希望新手朋友能深入了解一项服务后,在去接触别的,这样塌实的学习会让你受益一生的,说教到此结束,别扔鸡蛋,挺贵的