假设需要在windows 环境下建立一个web网站服务器,该服务器将为多个用户提供web网站服务,网站暂且只支持asp和asp .net。网站程序开发由用户负责,程序代码不保证安全性。在这种情况下,黑客很可能通过SQL注入等方式入侵web网站,上载webshell,并尝试进一步入侵其他网站,甚至入侵整个操作系统。
  在Windows Server 2003环境下安装web网站时需要做好安全配置,除了最基本的打补丁,设置防火墙、除木马软件和杀病毒软件之外,还应做好网站的权限管理,以实现两个目的:
  1、如果某一网站被黑客入侵,避免相同服务器上其他网站惨遭池鱼之殃;
  2、如果网站被入侵,避免让黑客进一步访问操作系统其它文件。
 
  以下设置未必完整和准确,请大家指正。
 
  首先介绍服务器基本软件环境:
  操作系统:Windows 2003 Server;
  安全软件:Windows自带防火墙、360安全卫士和杀病毒软件(例如Symantec Client Security);
  系统软件:Internet Information Server、Jmail 4.3版(发送邮件的免费组件);
  应用软件:WinRAR(压缩解压缩)、EditPlus 2(文本编辑)
       Microsoft Office 2003(文档编辑、数据库访问控件);
 
  接下来介绍系统中开启的服务: 
  ●Application Experience Lookup Service(在应用程序启动时为应用程序处理应用程序兼容性查找请求。)
  ●Application Layer Gateway Service(为 Internet 连接共享和 Windows 防火墙提供第三方协议插件的支持)
  ●COM+ Event System(支持系统事件通知服务 (SENS),此服务为订阅的组件对象模型 (COM) 组件提供自动分布事件功能。如果停止此服务,SENS 将关闭,而且不能提供登录和注销通知。如果禁用此服务,显式依赖此服务的其他服务都将无法启动。)
  ●Cryptographic Services(提供三种管理服务: 编录数据库服务,它确定 Windows 文件的签名;受保护的根服务,它从此计算机添加和删除受信根证书颁发机构的证书;和密钥(Key)服务,它帮助注册此计算机获取证书。如果此服务被终止,这些管理服务将无法正常运行。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●DCOM Server Process Launcher(为 DCOM 服务提供启动的功能。)
  ●Distributed Link Tracking Client(启用客户端程序跟踪链接文件的移动,包括在同一 NTFS 卷内移动,移动到同一台计算机上的另一 NTFS、或另一台计算机上的 NTFS。如果此服务被停用,这台计算机上的链接将不会维护或跟踪。如果此服务被禁用,任何依赖于它的服务将无法启用。)
  ●Distributed Transaction Coordinator(协调跨多个数据库、消息队列、文件系统等资源管理器的事务。如果停止此服务,则不会发生这些事务。如果禁用此服务,显式依赖此服务的其他服务将无法启动。)
  ●DNS Client(为此计算机解析和缓冲域名系统(DNS)名称。如果此服务被停止,计算机将不能解析 DNS 名称并定位 Active Directory 域控制器。如果此服务被禁用,任何明确依赖它的服务将不能启动。)
  ●Error Reporting Service(收集、存储和向 Microsoft 报告异常应用程序崩溃。如果此服务被停用,那么错误报告仅在内核错误和某些类型用户模式错误时发生。如果此服务被禁用,任何依赖于它的服务将无法启用。)
  ●Event Log(启用在事件查看器查看基于 Windows 的程序和组件颁发的事件日志消息。无法终止此服务。)
  ●Help and Support(启用在此计算机上运行帮助和支持中心。如果停止服务,帮助和支持中心将不可用。如果禁用服务,任何直接依赖于此服务的服务将无法启动。)。
  ●HTTP SSL(此服务通过安全套接字层(SSL)实现 HTTP 服务的安全超文本传送协议(HTTPS)。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●IIS Admin Service(允许此服务器管理 Web 和 FTP 服务。如果此服务被停止,服务器将不能运行 Web,FTP,NNTP,SMTP 站点,或配置 IIS。如果此服务被禁止,任何明确依赖于它的服务都将不能启动。)
  ●IPSEC Services(提供 TCP/IP 网络上客户端和服务器之间端对端的安全。如果此服务被停用,网络上客户端和服务器之间的 TCP/IP 安全将不稳定。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●Logical Disk Manager(监测和监视新硬盘驱动器并向逻辑磁盘管理器管理服务发送卷的信息以便配置。如果此服务被终止,动态磁盘状态和配置信息会过时。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●Machine Debug Manager(支持对 Visual Studio 和脚本调试器进行本地和远程调试。如果该服务停止,调试器将不能正常工作。)
  ●Network Connections(管理“网络和拨号连接”文件夹中对象,在其中您可以查看局域网和远程连接。如果服务被禁用,您将无法查看局域网和远程连接而且任何依赖它的服务将无法启动。)
  ●Network Location Awareness (NLA)(收集并保存网络配置和位置信息,并在信息改动时通知应用程序。)
  ●Plug and Play(使计算机在极少或没有用户输入的情况下能识别并适应硬件的更改。终止或禁用此服务会造成系统不稳定。)
  ●Protected Storage(保护敏感数据(如私钥)的存储,以便防止未授权的服务、过程或用户对其的非法访问。如果此服务被停用,保护性存储将不可用。如果此服务被禁用,任何依赖于它的服务将无法启用。)
  ●Remote Procedure Call (RPC)(作为终结点映射程序(endpoint mapper)和 COM 服务控制管理器使用。如果此服务被停用或禁用,使用 COM 或远程过程调用(RPC)服务的程序工作将不正常。)
  ●SAVRoam(Symantec AntiVirus 漫游服务)
  ●Secondary Logon(启用替换凭据下的启用进程。如果此服务被终止,此类型登录访问将不可用。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●Security Accounts Manager(此服务的启动通知其他服务安全帐户管理 (SAM) 准备好接收请求。禁用此服务将使系统中的其他服务接收不到 SAM 准备好的通知,从而导致这些服务启动不正确。此服务不应被禁用。)
  ●Shell Hardware Detection(为自动播放硬件事件提供通知。)
  ●Simple Mail Transfer Protocol (SMTP)(跨网传输电子邮件)
  ●Symantec AntiVirus(提供 Symantec AntiVirus 的实时病毒扫描、报告和管理功能。)
  ●Symantec AntiVirus Definition Watcher(监控和维护病毒定义。)
  ●Symantec Event Manager(事件扩展和记录服务)
  ●Symantec Settings Manager(设置存储和管理服务)
  ●Symantec SPBBCSvc(Symantec SPBBC)
  ●System Event Notification(监视系统事件并通知 COM+ 事件系统“订阅者(subscriber)”。如果此服务被停用,COM+ 事件系统“订阅者”将接收不到系统事件通知。如果此服务被禁用,任何依赖于它的服务将无法启用。)
  ●Task Scheduler(使用户能在此计算机上配置和计划自动任务。如果此服务被终止,这些任务将无法在计划时间里运行。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●TCP/IP NetBIOS Helper(提供 TCP/IP (NetBT) 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持,从而使用户能够共享文件、打印和登录到网络。如果此服务被停用,这些功能可能不可用。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●Terminal Services(允许用户以交互方式连接到远程计算机。远程桌面、快速用户切换、远程协助和终端服务器依赖此服务 - 停止或禁用此服务会使您的计算机变得不可靠。要阻止远程使用此计算机,请在“系统”属性控制面板项目上清除“远程”选项卡上的复选框。)
  ●Windows Firewall/Internet Connection Sharing (ICS)(为家庭或小型办公网络提供网络地址转换,定址以及名称解析和/或防止入侵服务。)
  ●Windows Management Instrumentation(提供共同的界面和对象模式以便访问有关操作系统、设备、应用程序和服务的管理信息。如果此服务被终止,多数基于 Windows 的软件将无法正常运行。如果此服务被禁用,任何依赖它的服务将无法启动。)
  ●Windows Time(维护在网络上的所有客户端和服务器的时间和日期同步。如果此服务被停止,时间和日期的同步将不可用。如果此服务被禁用,任何明确依赖它的服务都将不能启动。)
  ●Workstation(创建和维护到远程服务的客户端网络连接。如果服务停止,这些连接将不可用。如果服务被禁用,任何直接依赖于此服务的服务将无法启动。)
  ●World Wide Web Publishing Service(通过 Internet 信息服务管理器提供 Web 连接和管理)
 
  设置防火墙开放的端口:
  ●HTTP(TCP 80端口)
  ●远程桌面(TCP 3389端口,限制特定IP才能访问)
  设置windows自身安全策略:
  设置Windows操作系统自身的安全策略,点击“开始”→“程序”→“管理工具”→“本地安全策略”,做以下设置:
  ●密码策略        安全设置
  ●密码必须符合复杂性要求 启用
  ●密码长度最小值     8
  ●密码锁定策略      安全设置
  ●复位帐户锁定计数器   30分钟之后
  ●帐户锁定时间      30分钟
  ●帐户锁定阀值      5次无效登录
  ●审核策略        安全设置
  ●审核策略更改      成功、失败
  ●审核登录事件      成功、失败
  ●审核帐户登录事件    成功、失败
  ●审核帐户管理      成功、失败
 
  打补丁:
  ●计算机的操作系统、防病毒软件和Microsoft Office均打了最新补丁,并且设置了自动更新功能。
  磁盘情况:
  ●计算机有C、D、E三个磁盘分区,文件系统为NTFS。系统文件全部装在C区,日志在D盘,所有网站全部在E区。
 
  用户组配置:
  创建IIS_GUEST(IIS匿名访问用户组),该组的访问权限为:
  ●C:\WINDOWS\system32\vfpodbc.dll(可读)
  ●C:\WINDOWS\system32\vbscript.dll(可读)
  ●C:\WINDOWS\system32\vbschs.dll(可读)
  ●C:\WINDOWS\system32\VBAME.DLL(可读)
  ●C:\WINDOWS\system32\vbajet32.dll(可读)
  ●C:\WINDOWS\system32\odbc*.dll(可读)
  ●C:\WINDOWS\system32\jsproxy.dll(可读)
  ●C:\WINDOWS\system32\jscript.dll(可读)
  ●c:\program files\common files\system\(可读)
  ●c:\program files\common files\odbc\(可读)
  ●C:\Program Files\Dimac\w3JMail4\jmail.dll(可读)
  ●C:\WINDOWS\Temp(该目录设置为可读写)
 
  Internet Information Server(IIS)配置:
  ●安装IIS时只支持ASP和ASP .net。
  ●IIS的日志存放在D:\LogFiles。
 
  为用户创建网站的步骤是:
  1、为每个用户分配一个独立的IIS匿名访问用户,该用户属于IIS匿名访问用户组(IIS_GUEST);
  2、在E盘为用户分配一个独立的目录,该目录只允许administrators组和对应的IIS匿名访问用户才能访问,缺省访问权限为读取和列目录,对用户上载目录设置为可读写但不可执行,用户文件数据库文件设置为可修改。
  3、在IIS中为用户创建网站,有独立域名的建立虚拟网站,没有域名的建立虚拟目录。虚拟网站和目录的目录安全性设置为:对应的IIS匿名访问用户才能访问。
 
  除了系统的安装和设置外,日常安全管理也是站点安全中重要的一环,以下也许是Windows系统安全管理员每天应做的事: 
  1.检查操作系统和Serv-U有无新增帐户,并了解其来源及用途;查看管理员组里有无新增帐户,该组的帐户除系统最初设置外,以后不应该增加帐户; 
  2. 在命令行状态下,运行netstat –an命令查看当前连接及打开的端口,查找可疑连接及可疑的端口; 
  3.查看“任务管理器”,查找有无可疑的应用程序或后台进程在运行,并观察CPU及内存的使用状态; 
  4.运行注册表编辑器,查找有无可疑的程序被加到windows的启动项里,并查看有无新增的可疑服务; 
  5. 使用 Windows事件查看器查看“系统日志”“安全日志”和“应用程序日志”,以发现有无可疑的事件或影响系统性能的事件; 
  7.在发觉异常时,查看\WINNT\system32\LogFiles下的WEB服务器日志,以发现是否有试图攻击WEB的行为; 
  8. 定期运行杀毒软件全盘查杀病毒; 
  9. 定期打系统补丁,及时填补安全漏洞。
  10.定期对系统进行整体备份。