加固基于Windows平台的WEB服务器――续

强化 TCP 协议栈:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000001
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"KeepAliveTime"=dword:00300000
"PerformRouterDiscovery"=dword:00000000
"TcpMaxConnectResponseRetransmissions"=dword:00000003
"TcpMaxHalfOpen"=dword:00000100
"TcpMaxHalfOpenRetried"=dword:00000080
"TcpMaxPortsExhausted"=dword:00000005
・安装和配置 IIS
进入 Windows 组件安装,找到应用程序服务器,进入详细信息,勾选 ASP.NET 后, IIS 必须的组件就会被自动选择,如果你的服务器需要运行 ASP 脚本,那么还需要进入 Internet 信息服务( IIS - 万维网服务下勾选 Active Server Pages 。完成安装后,应当在其他逻辑分区上单独建立一个目录用来存储 WEB 网站程序及数据。
一台 WEB 服务器上都运行着多个网站,他们之间可能互不相干,所以为了起到隔离和提高安全性,需要建立一个匿名 WEB 用户组,为每一个站点创建一个匿名访问账号,将这些匿名账号添加到之前建立的匿名 WEB 用户组中,并在本地计算机策略中禁止此组有本地登录权限。
最后优化 IIS6 应用程序池设置:
1.  禁用缺省应用程序池的空闲超时;
2.  禁用缓存 ISAPI 扩展;
3.  将应用程序池标识从 NetworlService 改为 LocalService
4.  禁用快速失败保护;
5.  将关机时间限制从 90 秒改为 10 秒;
6.  内存回收下最大使用的内存改为 300M
注:应根据当前服务器运营的业务进行评估并对某些网站配置应用程序池,这样可以降低当机率,并且也保证网站的可访问率,同时在出现故障时可以方便的排查。
・安装和配置 Serv-U FTP Server
这里之所以要将 Serv-U FTP Server 作为部署案例,是因为 Serv-U 使用者之多,操作及管理方便。并且从 Serv-U 的配置上大家应该能够理解到我开头说提到的服务运行权限。 Serv-U 的安装不再复述,很多人在安装后就开始直接使用,自从 Serv-U 的溢出漏洞出现使我开始重新认识和思考关于服务的运行权限问题,通常 Serv-U 是以 SYSTEM 权限来运行服务的,这样的好处是我们可以轻松的访问系统任何一个角落,包括注册表(在 Serv-U 溢出后,可以直接访问注册表中账号存储设定的关键项 SAM ),但是后果也是非常可怕的,所以分析了目前的服务器情况,为了方便起见我创建了一个具有管理员身份的账号来运行 Serv-U ,这样做是为了不需要重复的去设置目录权限,同时解决低级权限所可能造成的兼容性问题。但是为了保证这个账号的安全,需要禁止它具有远程桌面访问权利,禁止有本地登录的权利。
TCP/IP 端口筛选 vs IPSec 策略
在确定我们所要开放的服务之后就要去配置端口,是使用 TCP/IP 筛选 还是 IPSec ?其实我很少用到 IPSec ,因为它是 IP 安全设置,除了我要禁止一个用户来访问我或配置一个特定的连接访问我几乎不去用 IPSec 。也去是因为我太懒了,只会记得要开放什么端口。
在我看来, TCP/IP 端口筛选和 IPSec 是相辅相成的,普通的应用我认为还是用端口来的方便,毕竟它可以做到只开放哪些端口,之后针对其中特定的端口用 IPSec 作安全加固,这样我倒是认为更好。一些朋友喜欢在事先做好一个 IPSec 模板,之后将其应用在其他服务器上,这样做我认为真的不对,毕竟每台服务器的应用都不会完全相同,这样做只会造成更多的故障,我就经常遇到这样的问题,一些客户总是抱怨他们的服务器出现莫名其妙的问题,最后通过我的排查分析发现很多问题都是因为同时使用 TCP/IP 端口筛选和 IPSec 造成的,而罪魁祸首则是那些好心人发布的 IPSec 模板,我没有恶意诋毁他们这些好心人的意思,而最终是要痛斥那些不作自身评估,技术意识贫乏的服务器管理员们,我曾经就让这些朋友们搞得哭笑不得,并开始厌恶我当前的工作。在当前案例中,我开放的端口是: TCP80 TCP25 TCP20 TCP21 TCP3389 TCP4000~4020 。开放 4000~4020 是为了支持 Serv-U PASV 模式(同时需要在 Serv-U 中设置这段被动端口范围),当然你也可以用其他端口,没有特殊要求,记得我之前部署的一台服务器开放的就是这个端口范围,一个自称黑客的朋友联系了我所在的公司经理,并在其 QQ 上友情提示了服务器的这个所谓的端口漏洞,记得好像是这么说的:“你们的服务器不堪一击,在服务器上还开放了 QQ 和它的端口。”后来好像还提到如果公司愿意付费可以帮助解决安全问题,现在想起来心里都在暗笑,不过我接到警告信息都会非常重视,因为我明白一个道理:没有绝对的安全!!!不过后来服务器确实受到了攻击,不是被入侵而是被那个黑客小小的 DDos 了一下。这种一种非常有效的攻击方式,提高 TCP/IP 协议栈,甚至使用软件、硬件防火墙也只是在相对情况下可以抵御它,所以请各位遵守网络公德,不要使用 DDos !!!
・目录权限的分配
1.  除系统所在分区之外的所有分区都赋予 Administrators SYSTEM 有完全控制权,之后再对其下的子目录作单独的目录权限,如果 WEB 站点目录,你要为其目录权限分配一个与之对应的匿名访问帐号并赋予它有修改权限,如果你想使网站坚固,可以分配只读权限并对特殊的目录作可写权限,作为一个开放式的服务器,这样的工作量是非常巨大的,所以我认为将威胁控制缩小到在这个网站中就已经够了。
2.  系统所在分区下的根目录都要设置为不继承父权限,之后为该分区只赋予 Administrators SYSTEM 有完全控制权。
3.  因为服务器只有管理员有本地登录权限,所在要配置 Documents and Settings 这个目录权限只保留 Administrators SYSTEM 有完全控制权,其下的子目录同样。另外别忘记还有一个隐藏目录也需要同样操作。因为如果你安装有 PCAnyWhere 那么他的的配置信息都保存在其下,使用 webshell FSO 可以轻松的调取这个配置文件,那么你的系统就为黑客敞开了大门。
4.  配置 Program files 目录,为 Common Files 目录之外的所有目录赋予 Administrators SYSTEM 有完全控制权。
5.  配置 Windows 目录,其实这一块主要是根据自身的情况如果使用默认的安全设置也是可行的,不过还是应该进入 SYSTEM32 目录下,将 cmd.exe ftp.exe net.exe scrrun.dll shell.dll 这些杀手锏程序赋予匿名帐号拒绝访问。
    OK !该做得都做了,好像没有遗漏什么,如果真有也许是我故意的,也许是我太累了。不知不觉,写了几个小时才写完,效率真的是非常低下,并且明白其中一定有错误和语句不同的地方,总之自己是尽力了
分享至
一键收藏,随时查看,分享好友!
0人
了这篇文章
类别: IIS┆阅读( 0)┆评论( 0) ┆ 返回博主首页┆ 返回博客首页
上一篇 加固基于Windows平台的WEB服务器 下一篇 从命令提示符执行 IIS 中的管理任务

相关文章

  • windows下安装apache web服务器
  • 15招保障Web服务器安全
  • win2k3基本的web服务器安全设置
  • Web服务器日志统计分析完全解决方案
  • 保护(IIS)Web服务器

职位推荐

  • linux运维工程师
  • 网络工程师
  • 前台兼人事助理
  • 高级系统运维工程师
  • 信息安全研究工程师

文章评论

 
 

发表评论            

昵  称:
登录  快速注册
验证码:

点击图片可刷新验证码请点击后输入验证码博客过2级,无需填写验证码

内  容:

同时赞一个

你可能感兴趣的:(职场,web服务器,休闲,windows平台,加固)