提升IIS的FTP安全性 管理员的九阴真经

提升IIS的FTP安全性 管理员的九阴真经
《九阴真经》是不少武林高手蒙昧以求的武林秘籍,在系统管理员这个武林中也有不少相似《九阴真经》同样的秘籍。在这里就向你们介绍一下有关提升IIS的FTP安全性的实用技巧。对广大直面各类网络攻击的网络安全工程师来讲,工做中必然会遇到会遇到各类各样的FTP攻击,普通管理员会认为Windows 下FTP服务安全性比较弱,安全性没法保证,因此在 Windows server加装了第三方FTP 程序,以知足本身的要求。

通过笔者多年研究发现,其实利用IIS 下的FTP服务器,通过和系统配合设置就能很好的瞒住您的要求。所谓维护型安全FTP是指不公开使用或者不多公开使用的,通常只供网络管理员或者安全工程师在维护服务器时使用的FTP系统。这样的系统在工做中很是须要,可是由于自己是不公开的,因此安全性每每得不到足够的重视,成为不少攻击者喜欢攻击的目标。本文讲述了不为你们熟知九种技巧来教授如何使用你们都不看好的IIS FTP Server来构建足够网络管理员维护使用的FTP服务器,并且安全性足够高。安全


真经基础阶段

真经第一重易筋锻骨篇—— 指定FTP IP地址并修改默认端口服务器


1.使用专用IP进行FTP服务器搭建
以典型的Windows 2003 Server系统为例,安装完成IIS以及FTP之后,依次选择“开始->管理工具->Internet信息服务IIS管理器”,指向“FTP站点”
使用专用IP进行FTP服务器搭建
右击并选择“新建->FTP站点”,进入“FTP站点建立向导”。在此向导中,重点介绍为即将创建的安全的维护型FtP服务器指定IP地址并修改端口。
2.使用足够隐蔽的端口进行通讯
“端口”设置建议不使用默认端口,而是将默认端口设置成一个不经常使用的,大于10000、小于65535的端口号。之因此要设置大于10000,小于65535是由于不少端口扫描工具默认状况下都不会扫描这部分端口,而攻击者若是手动设置扫描端口的话,出于时间和速度的考虑,也不多定义1-65535这样的端口扫描规则,因此很容易迷惑攻击者,让他们根本不知道原来还有一个高端端口隐蔽在系统中发挥做用。
使用足够隐蔽的端口进行通讯

即便攻击者用扫描器扫到了这个端口,每每也会由于这个陌生的端口而不明白具体运行的服务,须要详细探测才有可能发现是FTP服务。接下来,将对此新建的FTP服务器进行详细的安全配置。网络


经第二重疗伤篇——定制详细的FTP日志记录相关信息编辑器


IIS的FTP系统有很是完善、丰富的日志记录系统,使用日志系统来时刻记录FTP服务器的运行状态是很是重要的。
1.启用FTP服务器的日志记录功能
在默认状况下,IIS管理器下FTP站点中的某个站点的FTP日志系统默认是启用的。
2.FTP服务器的高级日志配置
和普通的FTP服务器要求不一样,若是须要创建足够安全的FTP服务器,须要对日志系统进行详细的高级定义,定义的内容就是设置攻击者或者可能发生的攻击可能存在的典型特征。
详细须要定制的高级规则以下:
“新日志计划”:此选项控制每一个日志文件的生成规则,默认是天天生成一份新的FTP日志。
假定攻击者绕过了种种限制,对某目标FTP服务器进行了大批量的分布式暴力破解攻击,若是FTP日志是按默认的记录方式记录的,则会产生无比庞大的单一文件有时候日志记录文件可能达到数十GB的大小,甚至撑破系统盘的空间,致使系统的正常运行出现问题。
因此这里须要首先肯定FTP的日志按照文件大小来生成,选择“新日志计划”下的“当文件大小达到20MB”时开始生成新的日志记录文件,方便分析和调用;
“日志文件目录”:此选项是很是重要的选项,定义FTP日志的存放地址,默认是存放在“C:\WINDOWS\system32\LogFiles”下。
FTP服务器的高级日志配置
对于任何被攻击者普遍了解的默认选项,都应该进行相关的在可容许范围内修改。同时,出于对操做系统所在盘的保护,建议将FTP的日志系统定义到每一个FTP用户单独使用的文件夹下,但不能赋予该用户对此日志记录文件的访问权限。
3.定义FTP服务器日志的详细记录规则
在配置好日志文件的生成规则和路径之后,须要对日志文件记录信息的类型进行详细配置。一个能记录绝大多数攻击者和使用者行为的日志文件应该包含如下记录信息:
日期(非默认选中,须要手动选中);
时间(默认选中);
客户端IP地址(默认选中);
用户名(非默认选中,须要手动选中)
方法(默认选中);
URL资源(默认选中);
协议状态(默认选中);
Win32状态(默认选中);
所用时间(非默认选中,须要手动选中);
用户代理(非默认选中,须要手动选中);

须要注意的是,并非日志系统记录的信息越多就越好,由于日志系统记录FTP用户(攻击者或者正经常使用户)的访问毕竟须要消耗资源,并且生成的日志记录一样须要存放空间。若是记录项目过多,可能引发系统资源消耗日志文件占用空间大的问题。分布式


真经第三重点穴篇——取消匿名访问工具


匿名访问是FTP服务器的默认设置,此设置能够很好地支持普通用户的FTP访问,可是要创建安全性足够的FTP服务器的话,此项设置必须去除。
取消匿名访问

去除FTP服务器的匿名访问功能很简单,只须要指向IIS管理器下的须要修改的FIP站点,右击并选择“属性”,进入“安全帐户”标签,取消“容许匿名链接”前的便可。 this


真经第四重摧心掌——强制安全密码规则spa


在有意无心之中,一些用户的FTP帐号密码设置得过于简单,为了提升FTP服务器的安全性,特别是须要创建安全性足够强的维护型FTP服务器,必须强制用户设置复杂的帐号密码。
1.组策略简介
在Windows系统中,密码的规则设置是由组策略所控制的。简单地说,组策略设置就是在修改注册表中的配置。固然,组策略使用了萄託每的管理组织方法,能够对各类对象中的设置进行管理和配置,远比手工修改注册表方便、灵活,功能也更增强大。
依次指向“开始一运行”,输入“gpedit.msc”进入Windows 2003 Server系统的组策略选项。进入组策略选项之后,在左方快速连接栏中依次指向“计算机配置一〉Windows设置一〉帐户策略一〉密码策略”,这里能够设置不少密码的相关安全规则。
组策略简介
2.启用密码复杂性要求策略
在右侧矿体中找到“密码必须符合复杂性要求”项,而后双击打开后,选中“已启用”按钮,最后单击肯定使之生效。
启用密码复杂性要求策略
若是启用“密码必须符合复杂性要求”策略,在更改或建立帐户(密码)时就会执行复杂性策略检查,密码必须符合下列最低要求:
a.密码不能包含帐户名:
b.密码不能包含用户名中超过两个连续字符的部分:
c.密码至少有6个字符长度;
d.策略包含如下4类字符中的至少3类字符:英文大写字母(A-Z)、英文小“.写字母(a-z)、10个基本数字(0-9)、特殊字符(例如!、$、#、%)
3.启用密码长度最小值策略
另外,更具安全密码规则中密码长度的要求,能够双击“密码长度最小值”进行最小密码长度的设置。例如把最小长度设置为8个字符,通过这样的设置,FTP用户(乃至系统用户)的密码安全性就大大地提升了,系统安全性也就大大加强了。
真经第五重蛇行狸翻之术——使用专用帐户访问FTP服务
维护型的FTP服务器使用者通常是网络管理员,因此不存在大量用户使用的问题,通常都是机构管理员在分别使用。
针对这样的状况,若是采用IIS下的FIP Server构建服务器的话,首先应该考虑的是去掉默认FTP服务器中的匿名访问,而后创建专用的FTP帐户,最后为专用的FTP帐户指派访问目录。
1.创建专用FTP帐户
假定有5个管理员须要对服务器进行常常性的维护,并且各自的工做职能不一样,那就须要创建至少5个专用FTP帐户。
创建专用FTP帐户
Net user ft01 pass11@! wd /add
重复上述用户创建设置,依次创建ftp01~ftp05等几个帐户。
2.创建专用帐户对应的FTP文件夹
创建好FTP专用帐户之后,须要为专用帐户指派FTP目录,以系统管理员身份找到n(y的根文件夹,分别为每一个用户创建一个对应的文件夹,例如用户ftp01就对应ftp01文件夹、ftp02用户对应ftp02文件夹。
真经高手阶段

上述几个步骤只是简单地创建了几个可用帐户,远远没有达到实现安全FTP的目的,下述内容将进行详细设置。操作系统


真经第六重九阴白骨爪——使用NTFS约束FTP用户权限代理


在管理员各自对应的FTP用户创建好以后,并不能直接使用,须要对各帐户进行详细的权限设置。
1.将FTP用户权限限定为Guest组
使用“net user”命令创建的系统用户默认是属于“user”组,在系统中具备必定的权限。首先须要作的是删除这些Fl
P用户的“user”组权限,并将它指派成Guest用户组中的一员。
使用以下命令删除刚刚创建的各帐户的“user”组权限:
Net localgroupusers ftp01 /del
而后使用以下命令将该帐户指派到系统的“Guest”用户组:
Net localgroup guests ftp01 /add
使用NTFS约束FTP用户权限
如今的各个FTP帐户都处于“Guest”用户组,权限很是低。删除并更改完FTP用户的所属用户组之后,须要对各个FTP用户对应的文件夹进行权限设置。
2.删除各FTP文件夹继承权限
以ftp01帐户对应的ftp01文件夹为例,以系统管理员身份登陆,选中文件夹并右键选择“安全”选项卡,默认状况下这里有很是多的已经继承于上级文件夹的权限,
咱们须要作的是删掉这些默认的权限,可是在删除的时候会出现系统提示:
由于“SYSTEM”从其父系继承权限,您没法删除此对象。要删除“SYSTEM
“必须阻止对象继承权限。关闭继承权限的选项,而后重试删除“SYSTEM”
由于权限是继承上级文件夹的,因此不能直接删除,须要单击“高级”按钮,进入此文件夹的“高级安全设置”,
高级安全设置
3.为FTP用户指派文件夹访问权限
此时的文件夹是系统中不少用户都不能直接使用的,拄即便是管理员也没法直接打开。这时候须要为FTP帐户指派访问权限。选中文件夹“安全”选项卡下的“添加”,分别选择“高级-当即查找”,选中上述创建的FTP专用用户便可。此时ftp01默认已经有部分权限,包括“读取和运行”、“列出文件夹目录”、“读取”3种。做为系统管理员们使用的维护型FTP,显然须要常用上传功能,因此这里须要选中“写入”权限。

上述各选项均为基本的FTP设置选项,完成之后具备必定安全性的维护型FTP服务器就创建好了,可是要要作到高安全性仍是不够,须要进行其余一些设置。


真经第七重白蠎鞭——强制密码更改时间与强制密码历史策略


若是遇到构造巧妙的暴力破解攻击,管理员是很难受的。一个安全的、少数人使用的FTP服务器中,每一个用户应当常常性(在用户能够承受的日期之内)地修改密码,以缩短被暴力破解的时间,保护密码安全是须要重点注意的。在Windows 2003 Server系统中,组策略可使用“强制密码更改时间”和“强制密码历史”策略作到这一点。具体来讲,如何在尽可能不影响用户正常使用的前提下,尽可能限制暴力破解的时间呢?在Windows系统下,可使用强制密码更改时间策略实现;如何避免不少用户(包括管理员)习惯使用2,3个固定密码进行循环得非安全机制呢?可使用强制密码历史策略。
1.启用强制密码更改时间策略
为了大大缩短暴力破解攻击能够发起的时间,极度减低暴力破解的成功率,在不影响用户的正常使用的前提下,强制性地要求用户按期修改本身的FTP密码是很是重要的一个安全措施—组策略能够完成这样的策略指派。
使用“gpedit.msc”命令打开组策略编辑器,在“计算机配置”下的“安全设置”、“帐户策略”、“密码策略”下,能够看到“密码最短使用期限”和“密码最长使用期限”。
“密码最长使用期限”这个安全设置是肯定系统要求用户更改密码以前可使用该密码的时间(单位为天),也就是说这个时间控制用户必须在多少天以内修改密码,
管理员能够将密码的过时天数设置在1~999天之间。具体来讲,分为如下3种状况:
若是将天数设置为0,则指定密码永不过时;
若是密码最长使用期限在1~999天之间,那么“密码最短使用期限”必须小于密码最长使用期限;
若是密码最长使用期限设置为0,则密码最短使用期限能够是1~998天之间的任何值。
兼顾到正经常使用户的使用,这里建议设置的密码过时天数是30~90天。这是一种实际证实比较优秀的安全策略。经过这种方式,攻击者只可以在有限的时间内破解用户密码。这个策略应该和上面的最长使用期限相配合,合理的设置应该是30天左右。
2.启用强制密码历史策略
“强制密码历史”策略是指用户在从新使用旧密码以前,该用户所使用的新密码必须不能与本身所使用的最近的旧密码同样。该策略经过确保旧密码不能在某段时间内重复使用,使用户帐户更安全,须要说明的是,若是管理员但愿“强制密码历史”安全策略选项设置有效,须要将“密码最短有效期限”配置为大于0。若是没有密码最短有效期限,则FTP用户能够重复循环经过密码规则的密码,直到得到喜欢的旧密码。
默认设置不听从这种推荐方法,所以管理员能够为用户指定密码,而后要求当用户登陆时更改管理员定义的密码。

若是将该密码的历史记录设置为0,则用户没必要选择新密码。所以,通常状况下将密码历史记录设置为1。


真经第八重移魂大法——错误锁定策略指派


经过上文的一些设置,如今的密码安全策略已经有了保障,可是面对头疼的暴力破解攻击,如何让维护型的FTP服务器具备强悍的防护能力呢?这就须要使用错误锁定策略。
1.定义帐户锁定阀值
“错误锁定”策略在组策略“计算机配置”中的“安全设置”、“帐户策略”、“密码策略”下。双击打开“帐户锁定阀值”,
这个安全策略肯定致使FTP用户帐户被锁定的登陆尝试失败的次数,在管理员重置锁定帐户或帐户锁定时间期满以前,没法使用该锁定帐户。也就是说,若是达到管理员设置的登录错误次数,则该帐户将被锁定。管理员能够将登陆尝试失败次数设置为介于0~999之间的值,若是将值设置为0,则永远不会锁定帐户。
通常状况下,为了对暴力破解(或者社会工程学猜解)攻击的防护,设置帐号登陆的最大次数在5~10次左右,若是攻击者尝试登陆该帐户超过此数值,帐号会被自动锁定。
2.定义帐户锁定时间
设置完“错误锁定”策略后,打开“帐户锁定时间”策略,这里设置FTP帐号被锁定的时间,帐号一旦被锁定,超过这个时间值,才能从新使用,界面如图
112821440.jpg
真经第九重大伏魔拳——启用目录安全性杜绝大多数各种FTP 攻击
通过上述设置,一个安全性足够、使用效率很高的FTP服务器已经架设成功,可是做为一个专门为管理员服务的维护型FTP服务器,若是能作到下面的一个设置,将把总体的安全性提升至少2个档次!
无论是什么样的FTP攻击,能登陆是最基本的一个步骤,也是绝大部分攻击发起的目标成果,若是系统管理员采用“一招制敌”的方式,直接掐断非法用户的FTP登陆功能,让攻击者没法使用(或者很是难使用)暴力破解攻击,让攻击者获得FTP帐户密码也没有登陆权限的话,就能解决起码90%以上的攻击!
在IIS的FTP Server中,“目录安全性”能够实现这个功能,不过根据管理员不一样的环境,策略会有些许变化。
依次指向IIs管理器的FTP站点,右击并选择“ftp属性”,打开“目录安全性”,在界面中选择“拒绝访问”,而后单击“添加”按钮定义容许访问的单一计算机、多台计算机,设置好的界面“目录安全性”是经过FTP用户的登陆IP进行判断的一种机制,上图中的“拒绝访问”表明默认拒绝全部IP的FTP使用请求,除非请求登陆FTP的计算机IP地址包含在“下面列出的除外”列表框中。
启用目录安全性杜绝大多数各种FTP
经过这个设置,管理员能够控制惟一的,或者是极少的绝对信任IP可使用P)(y功能。例如,在一个大型的公司网络中,所有员工都是使用的固定IP链接网络(或使用固定IP地址的出口网关上网),管理员能够定义只容许此IP地址的计算机(或计算机群)进行FTP服务器的使用,其余全部的I1)地址均不能访问FTP服务器。
通过这样的设置,全部的外部攻击者都被阻挡在FTP服务器之外了。不过这个功能在两种状况下可能存在缺陷:
第一种
状况是攻击者使用了IP伪造技术,不但成功欺骗了互联网,还成功欺骗了服务器,让服务器觉得攻击者就是被容许访问中的一员,从而让攻击者达到攻击网[y服务器的目的。不过这样的攻击难度实在太大,相信没有几个攻击者愿意尝试。
第二种

状况是攻击者经过渗透攻击等方式,控制了和服务器管理员同IP的计算机,好比管理员的同事等,而后在管理员同事的计算机上进行FTP攻击。固然,这样的渗透攻击自己就难于FTP攻击,因此现实中存在的相似攻击也是至关少。


真经总卷:对配置后的服务器进行最后的演练


有防护就有攻击,任何安全工程师都不可能说本身构建的防护体系是完美的,是不可能被攻破的。因此下面将针对上述的各项安全措施防护的维护型FTP服务器,进行理论化的高级攻防演练:
若是攻击者采用传统的暴力破解技术,那无疑是不能直接对上述加固后的FTP服务器进行穷举的,由于FTP服务器不但有IP限制策略,也就是目录安全性策略,就算攻击者成功地得到了一台容许使用FTP服务器的计算机(或某IP),丕有很大概率会卡在FTP服务器的端口隐藏策略、密码安全策略、密码更换策略、帐户登陆错误锁定策略等相关安全策略之中。
就如今的网络技术而言,通常状况下要对上述的安全FTP服务器进行暴力破解,成功率接近于零。若是攻击者想采用漏洞攻击,先不说目录安全性策略是否能绕过,就目前存在的、公布的漏洞来看,这样的漏洞尚未可用的(固然,不排除有很是牛的攻击者研究出了IIS下的FTP惊天漏洞而未公布)。若是攻击者采用嗅探技术得到上述FTP服务器的密码,那么接着须要解决的就是目录安全性的问题(也就是IP策略)、可能遇到的密码按期更改问题等。
    总的来讲,上述IIS下FTP服务器可能随着攻防技术的不断进步而产生漏洞,但就目前的技术水平来看,单就FTP服务自己而言(不包括服务器其余方面的服务出现漏洞等状况),安全性有了显著提升。

本文出自 “李晨光原创技术博客” 博客,谢绝转载!

相关文章
相关标签/搜索