ProFTPD是针对WuFTP的弱项而开发的除了改进的安全性还具备许多WuFTP没有的特点能以Standalonexinetd模式运行等ProFTP已经成为继WuFTP之后最为流行的FTP服务器软件越的站点选用它构筑安全高效的FTP站点ProFTP配置方便并有MySQL和Quota模块可供选择利用它们的完美结合可以实现非系统账号的管理和用户磁盘的限制那么该如何建立安全的ProFTPD
一 ProFTPD服务面临的安全隐患
ProFTPD服务面临的安全隐患主要包括缓沖区溢出攻击(Buffer Overflow)数据嗅探和匿名访问缺陷
缓沖区溢出攻击
长期以来缓沖区溢出已经成为计算机系统的一个问题利用计算机缓沖区溢出漏洞进行攻击的最着名的案例是莫里斯蠕虫发生在年月但即使其危害人所共知缓沖区溢出仍然是现在入侵的一个重要手段
缓沖区溢出的概念缓沖区溢出好比是将一百公斤货物放进一个只能装十公斤的容器里缓沖区溢出漏洞是一个困扰了安全专家多年的难题简单来说它是由于编程机制而导致的在软件中出现的内存错误这样的内存错误使得黑客可以运行一段恶意代码来破坏系统正常地运行甚至获得整个系统的控制权
数据嗅探
FTP是传统的网络服务程序在本质上是不安全的因为它们在网络上用明文传送口令和数据别有用心的人非常容易就可以截获这些口令和数据而且这些服务程序的安全验证方式也是有其弱点的就是很容易受到中间人(maninthemiddle)这种方式的攻击
所谓中间人的攻击方式就是中间人冒充真正的服务器接收你传给服务器的数据然后再冒充你把数据传给真正的服务器服务器和你之间的数据传送被中间人转手后做了手脚之后就会出现很严重的问题 截获这些口令的方式主要为暴力破解另外使用sniffer程序监视网络封包捕捉FTP开始的会话信息便可顺手截获root密码
匿名访问缺陷
匿名访问方式在FTP服务当中被广泛的支持但是由于匿名FTP不需要真正的身份验证因此很容易为入侵者提供一个访问通道配合缓沖区溢出攻击会造成很严重的后果
拒绝服务攻击
拒绝服务是一种技术含量低但攻击效果明显的攻击方式受到这种攻击时服务器或网络设备长时间不能正常提供服务并且由于某些网络通讯协议本身固有的缺陷难以提出一个行之有效的解决办法防范拒绝服务攻击需要我们从全局去部署防御拒绝服务攻击策略多种策略联动防范将拒绝服务攻击的危害降至最低
二 加固ProFTPD服务端建立安全的ProFTPD
升级版本
升级陈旧的ProFTPD版本因为早期的ProFTPD版本存在的安全漏洞对于一个新配置的ProFTPD服务器来说使用最新稳定版本是最明智的选择可以在其官方网站下载其源代码进行编译ProFTPD最新版本是官方网址
使用xinetd方式运行ProFTPD
ProFTPD能以Standalonexinetd两种模式运行当用户账号比较少又经常需要连接到ProFTPD服务器时推荐使用xinetd模式运行使用xinetd方式运行ProFTPD可以有效防范DoS攻击
从传统的守护进程的概念可以看出对于系统所要通过的每一种服务都必须运行一个监听某个端口连接所发生的守护进程这通常意味着资源浪费为了解决这个问题一些Linux引进了网络守护进程服务程序的概念
Redhat Linux 以后的版本使用的网络守护进程是xinted(eXtended InterNET daemon)和standalone模式相比xinted模式也称 Internet SuperServer(超级服务器)
xinetd能够同时监听多个指定的端口在接受用户请求时他能够根据用户请求的端口不同启动不同的网络服务进程来处理这些用户请求可以把xinetd看做一个管理启动服务的管理服务器它决定把一个客户请求交给那个程序处理然后启动相应的守护进程xinetd模式工作原理见图
)thiswidth=; height=>
图 xinetd模式网络服务
和standalone工作模式相比系统不想要每一个网络服务进程都监听其服务端口运行单个xinetd就可以同时监听所有服务端口这样就降低了系统开销保护系统资源但是对于访问量大经常出现并发访问时xinetd想要频繁启动对应的网络服务进程反而会导致系统性能下降察看系统为Linux服务提供那种模式方法在Linux命令行可以使用pstree命令可以看到两种不同方式启动的网络服务