Win2003 Server 安全的个人Web服务器

如何才能打造一个安全的个人Web服务器?下面我们简单介绍一下
  一、Windows Server2003的安装
  1、安装系统最少两需要个分区,分区格式都采用NTFS格式
  2、在断开网络的情况安装好2003系统
  3、安装IIS,仅安装必要的 IIS 组件(禁用不需要的如FTP 和 SMTP 服务)。默认情况下,IIS服务没有安装,在添加/删除Win组件中选择“应用程序服务器”,然后点击“详细信息”,双击Internet信息服务(iis),勾选以下选项:
  Internet 信息服务管理器;
  公用文件;
  后台智能传输服务 (BITS) 服务器扩展;
  万维网服务。
  如果你使用 FrontPage 扩展的 Web 站点再勾选:FrontPage 2002 Server Extensions
  4、安装MSSQL及其它所需要的软件然后进行Update。
  5、使用Microsoft 提供的 MBSA(Microsoft Baseline Security Analyzer) 工具分析计算机的安全配置,并标识缺少的修补程序和更新。下载地址:见页末的链接

  二、设置和管理账户
  1、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。
  2、新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
  3、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码,当然现在也有一个DelGuest的工具,也许你也可以利用它来删除Guest账户,但我没有试过。
  4、在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”。
  5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用
  6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。
  7、创建一个User账户,运行系统,如果要运行特权命令使用Runas命令。

  三、网络服务安全管理
  1、禁止C$、D$、ADMIN$一类的缺省共享
  打开注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters,在右边的窗口中新建Dword值,名称设为AutoShareServer值设为0
  2、 解除NetBios与TCP/IP协议的绑定
  右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS
  3、关闭不需要的服务,以下为建议选项
  Computer Browser:维护网络计算机更新,禁用
  Distributed File System: 局域网管理共享文件,不需要禁用
  Distributed linktracking client:用于局域网更新连接信息,不需要禁用
  Error reporting service:禁止发送错误报告
  Microsoft Serch:提供快速的单词搜索,不需要可禁用
  NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用
  PrintSpooler:如果没有打印机可禁用
  Remote Registry:禁止远程修改注册表
  Remote Desktop Help Session Manager:禁止远程协助

  四、打开相应的审核策略
  在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。
  推荐的要审核的项目是:
  登录事件 成功 失败
  账户登录事件 成功 失败
  系统事件 成功 失败
  策略更改 成功 失败
  对象访问 失败
  目录服务访问 失败
  特权使用 失败

  五、其它安全相关设置
  1、隐藏重要文件/目录
  可以修改注册表实现完全隐藏:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0
  2、启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。
  3、防止SYN洪水攻击
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  新建DWORD值,名为SynAttackProtect,值为2
  4. 禁止响应ICMP路由通告报文
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
  新建DWORD值,名为PerformRouterDiscovery 值为0
  5. 防止ICMP重定向报文的攻击
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  将EnableICMPRedirects 值设为0
  6. 不支持IGMP协议
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  新建DWORD值,名为IGMPLevel 值为0
  7、禁用DCOM:
  运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。
  对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。
  清除“在这台计算机上启用分布式 COM”复选框。
  注:3-6项内容我采用的是Server2000设置,没有测试过对2003是否起作用。但有一点可以肯定我用了一段的时间没有发现其它副面的影响。

  六、配置 IIS 服务:
  1、不使用默认的Web站点,如果使用也要将 将IIS目录与系统磁盘分开。
  2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。
  3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。
  4、删除不必要的IIS扩展名映射。
  右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm
  5、更改IIS日志的路径
  右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性
  6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要。
  7、使用UrlScan
  UrlScan是一个ISAPI筛选器,它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。目前最新的版本是2.5,如果是2000Server需要先安装1.0或2.0的版本。下载地址见页未的链接
  如果没有特殊的要求采用UrlScan默认配置就可以了。
  但如果你在服务器运行ASP.NET程序,并要进行调试你需打开要%WINDIR%\System32\Inetsrv\URLscan
  文件夹中的URLScan.ini 文件,然后在UserAllowVerbs节添加debug谓词,注意此节是区分大小写的。
  如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。
  如果你的网页使用了非ASCII代码,你需要在Option节中将AllowHighBitCharacters的值设为1
  在对URLScan.ini 文件做了更改后,你需要重启IIS服务才能生效,快速方法运行中输入iisreset
  如果你在配置后出现什么问题,你可以通过添加/删除程序删除UrlScan。
  8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描.
  下载地址:[http://www.fanvb.net/websample/othersample.aspx]VB.NET爱好者[/url]

  七、配置Sql服务器
  1、System Administrators 角色最好不要超过两个
  2、如果是在本机最好将身份验证配置为Win登陆
  3、不要使用Sa账户,为其配置一个超级复杂的密码
  4、删除以下的扩展存储过程格式为:
  use master
  sp_dropextendedproc '扩展存储过程名'
  xp_cmdshell:是进入操作系统的最佳捷径,删除
  访问注册表的存储过程,删除
  Xp_regaddmultistring  Xp_regdeletekey  Xp_regdeletevalue  Xp_regenumvalues
  Xp_regread      Xp_regwrite    Xp_regremovemultistring
  OLE自动存储过程,不需要删除
  Sp_OACreate   Sp_OADestroy    Sp_OAGetErrorInfo  Sp_OAGetProperty
  Sp_OAMethod  Sp_OASetProperty  Sp_OAStop
  5、隐藏 SQL Server、更改默认的1433端口
  右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口。

  八、如果只做服务器,不进行其它操作,使用IPSec
  1、管理工具—本地安全策略—右击IP安全策略—管理IP筛选器表和筛选器操作—在管理IP筛选器表选项下点击
  添加—名称设为Web筛选器—点击添加—在描述中输入Web服务器—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为Tcp——IP协议端口第一项设为从任意端口,第二项到此端口80——点击完成——点击确定。
  2、再在管理IP筛选器表选项下点击
  添加—名称设为所有入站筛选器—点击添加—在描述中输入所有入站筛选—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为任意——点击下一步——完成——点击确定。
  3、在管理筛选器操作选项下点击添加——下一步——名称中输入阻止——下一步——选择阻止——下一步——完成——关闭管理IP筛选器表和筛选器操作窗口
  4、右击IP安全策略——创建IP安全策略——下一步——名称输入数据包筛选器——下一步——取消默认激活响应原则——下一步——完成
  5、在打开的新IP安全策略属性窗口选择添加——下一步——不指定隧道——下一步——所有网络连接——下一步——在IP筛选器列表中选择新建的 Web筛选器——下一步——在筛选器操作中选择许可——下一步——完成——在IP筛选器列表中选择新建的阻止筛选器——下一步——在筛选器操作中选择阻止 ——下一步——完成——确定
  6、在IP安全策略的右边窗口中右击新建的数据包筛选器,点击指派,不需要重启,IPSec就可生效.

  九、建议
  如果你按本文去操作,建议每做一项更改就测试一下服务器,如果有问题可以马上撤消更改。而如果更改的项数多,才发现出问题,那就很难判断问题是出在哪一步上了。

  十、运行服务器记录当前的程序和开放的端口
  1、将当前服务器的进程抓图或记录下来,将其保存,方便以后对照查看是否有不明的程序。
  2、将当前开放的端口抓图或记录下来,保存,方便以后对照查看是否开放了不明的端口。当然如果你能分辨每一个进程,和端口这一步可以省略。

(0)

相关推荐

  • Win2003 Server 安全的个人Web服务器

    如何才能打造一个安全的个人Web服务器?下面我们简单介绍一下 一.Windows Server2003的安装 1.安装系统最少两需要个分区,分区格式都采用NTFS格式 2.在断开网络的情况安装好2003系统 3.安装IIS,仅安装必要的 IIS 组件(禁用不需要的如FTP 和 SMTP 服务).默认情况下,IIS服务没有安装,在添加/删除Win组件中选择"应用程序服务器",然后点击"详细信息",双击Internet信息服务(iis),勾选以下选项: Internet

  • Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁

    3389端口是指windows系统中的远程桌面端口,可以使用它本管理远程计算机,就像操作本地的电脑一样,但是也容易被一些黑客利用,所以对于这个端口我必须要修改,且必须在安装完系统后就马上修改它. 随着云主机的普及和微软的大力更新,用windows server 2008 R2作为web服务器的人越来越多,而其强大的性能和可操作性得到了好评.连卖win2008的虚拟主机商也多起来了,所以今天我来讲讲我是怎么设置Win2008服务器安全的,拙见希望能帮到大家.一起远离肉鸡吧... 千里之行始于足下,

  • Python 搭建Web站点之Web服务器与Web框架

    之前用 Django 做过一个小的站点,感觉Django太过笨重,于是就准备换一个比较轻量级的 Web 框架来玩玩.Web.py 作者已经挂掉,项目好久没有更新,所以不准备用它.而 Flask 也是一个成熟的轻量级 Web 框架,在 github 上有众多的 Star 和 Fork,文档和扩展也很丰富,值得学习. 学习一个框架最好的方式就是用框架做一个项目,在实战中理解掌握框架.这里我用 Flask 框架,使用 Mysql 数据库做了一个 论坛系统 .麻雀虽小,五脏俱全,论坛效果图如下: 论坛系

  • python3实现微型的web服务器

    实验目的:用socket 模拟一个微型的web服务器,当py脚本run起后,实微型web server架起了,然后用本地浏览器访问127.0.0.1:8080(web server的ip_port)时web服务器就会将网页内容传给浏览器,实现网页浏览. sw+sys: python3.7.2 + windows10 64bit 本地准备的server端网页为下载的hao123主页(我已上载并上传,点击这里: ) 通过这个实验让我学到了: 1. 当get请求一个主页时,要完整的显示一个页面(包括文

  • Windows Server 2008 架设 Web 服务器教程(图文详解)

    一.安装 IIS 7.0 : 虽然 Windows Server 2008 内置了I IS 7.0,但是默认情况下并没有安装.由于 Windows Server 2008 中安装 IIS 服务和以前操作相比有很大的不同,因此首先要首先需要参照下述步骤安装 IIS 7.0 组件. 后来笔者又在 windows server 2012 上试了 iis,版本是 8,本文中也有截图提及. 1:开始 - 服务器管理器 - 角色 - 添加角色 : 2:勾选 Web服务器(IIS),接着可以查看到对 Web

  • Win2003架设WEB服务器与IIS的备份和移植

    Windows下的WWW服务器以其架设方便.操作简单赢得了很多人的青睐,下面将以Windows Server  2003为例,介绍如何配置一个Web服务器. 一.架设Web服务器 默认安装的Windows Server 2003没有配置IIS服务,需要我们手工安装.进入控制面板,执行"添加 或删除程序→添加/删除 Windows 组件"进入Windows组件向导窗口,勾选"应用程序服务器→Internet  信息服务","确定"后返回Window

  • 详解node.js创建一个web服务器(Server)的详细步骤

    前言 在 node.js 中创建一个服务器非常简单,只需要使用 node.js 为我们提供的 http 模块及相关 API 即可创建一个麻雀虽小但五脏俱全的web 服务器,相比 Java/Python/Ruby 搭建web服务器的过程简单的很. http model 要想创建一个基于 node.js 的 web 服务器,你就必须使用 node.js 提供的 http 模块,node.js 中的 http 接口旨在支持传统上难以使用的协议的许多特性, 特别是,大块的.可能块编码的消息,接口永远不会

  • Win2008 R2 WEB 服务器安全设置指南之禁用不必要的服务和关闭端口

    安全是重中之重,以最少的服务换取最大的安全.通过只启用需要用到的服务.关闭暂时用不到的服务或不用的服务,这样最大程度来提高安全性. 作为web服务器,并不是所有默认服务都需要的,所以像打印.共享服务都可以禁用.当然了,你的系统补丁也需要更新到最新,一些端口的漏洞已经随着补丁的更新而被修复了.网上的一些文章都是相互复制且是基于win2003系统较多,而win2008相比win2003本身就要安全很多. 那我们为什么还要谈关闭端口呢,因为我们要防患于未然,万一服务器被黑就不好玩了. 禁用不必要的服务

  • Erlang实现的一个Web服务器代码实例

    转贴一个简单的Web服务器: httpd.erl %% httpd.erl - MicroHttpd -module(httpd). -author("ninhenry@gmail.com"). -export([start/0,start/1,start/2,process/2]). -import(regexp,[split/2]). -define(defPort,8888). -define(docRoot,"public"). start() ->

  • python探索之BaseHTTPServer-实现Web服务器介绍

    在Python探索之SocketServer详解中我们介绍了Python标准库中的SocketServer模块,了解了要实现网络通信服务,就要构建一个服务器类和请求处理类.同时,该模块还为我们创建了不同的服务器类和请求处理类. 1.服务器类 BaseServer TCPServer(BaseServer) UDPServer(TCPServer) UnixStreamServer UnixDatagramServer 2.请求处理类 BaseRequestHandler StreamReques

随机推荐