开发者社区> 像教授> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看



本文转自 苏繁 51CTO博客,原文链接:http://blog.51cto.com/goxia/224790,如需转载请自行联系原作者基于Windows平台下IIS运行的网站总给人一种感觉就是脆弱。早期的IIS确实存在很多问题,不过我个人认为自从Windows Server 2003发布后,IIS6Windows Server 2003新的安全特性、更加完善的管理功能和系统的稳定性都有很大的增强。虽然从Windows Server 2003上可以看到微软不准备再发展ASP,特别是不再对Access数据库的完好支持,但是面对它的那些优势迫使我不得不舍弃Windows 2000 Server。况且我也不需要运行太多的ASP+Access,因为我的程序都是PHP+MySQL(说实话我不喜欢微软的ASPASPNET),而且我确实信赖Windows Server 2003
      服务器、网站,看到这些词大家都会想到什么,不只是性能更加关注的是它的安全问题。很多人都无法做到非常完美的安全加固,因为大部分的资料都来源互联网,而互联网的资料总不是那么详尽,毕竟每个服务器的应用环境及运行程序不同。
      我从事互联网这个行业只有2年时间,其间遇到了很多问题,我所管理的服务器部分是开放式(PUBLIC)的,它是向互联网的用户敞开的,所以我所面临的问题就更加的多!安全性首当其要,其次是系统的稳定性,最后才是性能。要知道服务器上存在很多格式各样的应用程序,有些程序本身就有缺陷,轻者造成服务器当机,严重的会危及到服务器的整个数据安全。
      举个例子,有一台运行着300多个网站的Windows 2000 Server,一段时间里它经常Down机,发现内存泄漏特别快,几分钟时间内存使用立刻飙升到900M甚至高达1.2G,这个时候通过远程是无法访问服务器了,但是服务器系统本身却还在运行着。这个问题着实让我头疼了很长一段时间,因为如果要排查故障就要从这些网站入手,而网站的数量阻碍了我的解决进度。后来通过Filemon监控文件读取来缩小排查范围,之后对可疑网站进行隔离,最终找到故障点并解决。要知道一段小小的代码就可以让运行IIS5Windows 2000 Server 挂掉!而在Windows Server 2003下,应用程序的级别低中高级变更为了程序池,这样我们就可以对一个池进行设置对内存和CPU进行保护。它的这一特性让我减轻了很多的工作量并且系统也稳定了很多。
      另外严重的就是安全性的问题了,无论任何文章都有一个宗旨就是尽量在服务器少开放端口,并开放必要的服务,禁止安装与服务器无关的应用程序。在Windows 2000 Server中,目录权限都是Everyone,很多服务都是以SYSTEM权限来运行的,如Serv-U FTP 这款出色的FTP服务器平台曾经害苦了不少人,它的溢出漏洞可以使入侵者轻松的获取系统完全控制权,如果做到呢?就是因为Serv-U FTP服务使用SYSTEM权限来运行,SYSTEM的权利比Administrator的权利可大的多,注册表SAM项它是可以直接访问和修改的,这样入侵者便利用这一特性轻松在注册表中克隆一个超级管理员账号并获取对系统的完全控制权限。
      我的目标:加固WEB服务器系统,使之提高并完善其稳定性及安全性。
      系统环境:Windows Server 2003 Enterprise Edition With Service Pack 1(以下简称W2k3SP1),WEB平台为IIS6FTP平台为Serv-U FTP Server
·安装配置操作系统
安装操作系统,在安装前先要先去调整服务器的BIOS设置,关闭不需要的I/O,这样节省资源又可以避免一些硬件驱动问题。务必断开服务器与网络的连接,在系统没有完成安全配置前不要将它接入网络。在安装过程中如果网卡是PNP类型的,那么应当为其网络属性只配置允许使用TCP/IP协议,并关闭在TCP/IP上的NETBIOS,为了提供更安全的保证,应该启用TCP/IP筛选,并不开放任何TCP端口。完成操作系统的安装后,首次启动W2K3SP1,会弹出安全警告界面,主要是让你立刻在线升级系统更新补丁,并配置自动更新功能,这个人性化的功能是W2K3SP1所独有的,在没有关闭这个警告窗口前,系统是一个安全运行的状态,这时我们应当尽快完成系统的在线更新。 
修改AdministratorGuest这两个账号的密码使其口令变的复杂,并通过组策略工具为这两个敏感账号更名。修改位置在组策略中Computer Configuration-Windows Settings-Security Setting-Local Policies-Security Options,这样做可以避免入侵者马上发动对此账号的密码穷举攻击。 
服务器通常都是通过远程进行管理的,所以我使用系统自带的组件“远程桌面”来对系统进行远程管理。之所以选择它,因为它是系统自带的组件缺省安装只需要去启用它就可以使用,支持驱动器映射、剪切板映射等应用,并且只要客户端是WindowsXP PRO都会自带连接组件非常方便,最主要还有一点它是免费的。当然第三方优秀的软件也有如:PCAnyWhere,使用它可以解决Remote Desktop无法在本地环境模式下工作的缺点。为了防止入侵者轻易地发现此服务并使用穷举攻击手段,可以修改远程桌面的监听端口:
1. 运行 Regedt32 并转到此项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
注意:上面的注册表项是一个路径;它已换行以便于阅读。
2. 找到“PortNumber”子项,您会看到值 00000D3D,它是 3389 的十六进制表示形式。使用十六进制数值修改此端口号,并保存新值。
要更改终端服务器上某个特定连接的端口,请按照下列步骤操作:• 运行 Regedt32 并转到此项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\connection
注意:上面的注册表项是一个路径;它已换行以便于阅读。
3. 找到“PortNumber”子项,您会看到值 00000D3D,它是 3389 的十六进制表示形式。使用十六进制数值修改此端口号,并保存新值。
注意:由于在终端服务器 4.0 版中尚未完全实现备用端口功能,因此只是“在合理的限度内尽量”提供支持,如果出现任何问题,Microsoft 可能要求您将端口重设为 3389
原文来源:微软知识库KB187623。当然为了达到更加安全的访问,还可以采用IPSec来保护远程桌面的连接访问。
禁用不必要的服务不但可以降低服务器的资源占用减轻负担,而且可以增强安全性。下面列出了可以禁用的服务:
·Application Experience Lookup Service
·Automatic Updates
·BITS
·Computer Browser
·DHCP Client
·Error Reporting Service
·Help and Support
·Network Location Awareness
·Print Spooler
·Remote Registry
·Secondary Logon
·Server
·Smartcard
·TCP/IP NetBIOS Helper
·Workstation
·Windows Audio
·Windows Time
·Wireless Configuration
打开服务器本地计算机策略(gpedit.msc),参考以下选择和修改对服务器进行加固:
1.  设置帐号锁定阀值为5次无效登录,锁定时间为30分钟;
2.   从通过网络访问此计算机中删除Everyone组;
3.  在用户权利指派下,从通过网络访问此计算机中删除Power UsersBackup Operators
4.  为交互登录启动消息文本。
5.  启用 不允许匿名访问SAM帐号和共享;
6.  启用 不允许为网络验证存储凭据或Passport
7.  启用 在下一次密码变更时不存储LANMAN哈希值;
8.  启用 清除虚拟内存页面文件;
9.  禁止IIS匿名用户在本地登录;
10.              启用 交互登录:不显示上次的用户名;
11.              从文件共享中删除允许匿名登录的DFS$COMCFG
12.              禁用活动桌面。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【镜像更新】Windows Server 2019 数据中心版
信息摘要: Windows Server 2019 数据中心版镜像更新适用客户: 使用Windows Server的用户版本/规格功能: 镜像ID: win2019_64_dtc_1809_zh-cn_40G_alibase_20190318.
4589 0
Windows server2003配置ftp服务
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/45010139 前言:如果你已经非常清楚的掌握了Windows server 2003的安全机制,那么你可以通过开启Windows自带的ftp服务进行使用,不过很多情况下,这不安全,但是我会告诉你方法,这需要你的Windows安装目录下有对应的ftp安装包。
687 0
+关注
1338
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载