Windows WEB服务器安全配置方案.docx
《Windows WEB服务器安全配置方案.docx》由会员分享,可在线阅读,更多相关《Windows WEB服务器安全配置方案.docx(21页珍藏版)》请在冰点文库上搜索。
![Windows WEB服务器安全配置方案.docx](https://file1.bingdoc.com/fileroot1/2023-5/28/da4858a7-8324-4726-9ebf-3e697a70a4a6/da4858a7-8324-4726-9ebf-3e697a70a4a61.gif)
WindowsWEB服务器安全配置方案
一、Windows2003安全配置
■.确保所有磁盘分区为NTFS分区
■.操作系统、Web主目录、日志分别安装在不同的分区
■.不要安装不需要的协议,比如IPX/SPX,NetBIOS?
■.不要安装其它任何操作系统
■.安装所有补丁(用瑞星安全漏洞扫描下载)
■.关闭所有不需要的服务
*Alerter(disable)
*ClipBookServer(disable)
*ComputerBrowser(disable)
*DHCPClient(disable)
*DirectoryReplicator(disable)
*FTPpublishingservice(disable)
*LicenseLoggingService(disable)
*Messenger(disable)
*Netlogon(disable)
*NetworkDDE(disable)
*NetworkDDEDSDM(disable)
*NetworkMonitor(disable)
*PlugandPlay(disableafterallhardwareconfiguration)
*RemoteAccessServer(disable)
*RemoteProcedureCall(RPC)locater(disable)
*Schedule(disable)
*Server(disable)
*SimpleServices(disable)
*Spooler(disable)
*TCP/IPNetbiosHelper(disable)
*TelephoneService(disable)
■.帐号和密码策略
1)保证禁止guest帐号
2)将administrator改名为比较难猜的帐号
3)密码唯一性:
记录上次的6个密码
4)最短密码期限:
2
5)密码最长期限:
42
6)最短密码长度:
8
7)密码复杂化(passfilt.dll):
启用
8)用户必须登录方能更改密码:
启用
9)帐号失败登录锁定的门限:
6
10)锁定后重新启用的时间间隔:
720分钟
■.保护文件和目录
将C:
\winnt,C:
\winnt\config,C:
\winnt\system32,C:
\winnt\system等目录的访问权限做限制,限制everyone的写权限,限制users组的读写权限
■.注册表一些条目的修改
1)去除logon对话框中的shutdown按钮
将HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\WindowsNT\CurrentVersion\Winlogon\中
ShutdownWithoutLogonREG_SZ值设为0
2)去除logon信息的cashing功能
将HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\WindowsNT\CurrentVersion\Winlogon\中
CachedLogonsCountREG_SZ值设为0
4)限制LSA匿名访问
将HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Control\LSA中
RestricAnonymousREG_DWORD值设为1
5)去除所有网络共享
将HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\LanManServer\Parameters\中
AutoShareServerREG_DWORD值设为0
二、IIS的安全配置
■.关闭并删除默认站点:
默认FTP站点
默认Web站点
管理Web站点
■.建立自己的站点,与系统不在一个分区,如
D:
\wwwroot3.建立E:
\Logfiles目录,以后建立站点时的日志文件均位于此目录,确保此目录上的访问控制权限是:
Administrators(完全控制)System(完全控制)
■.删除IIS的部分目录:
IISHelpC:
\winnt\help\iishelp
IISAdminC:
\system32\inetsrv\iisadmin
MSADCC:
\ProgramFiles\CommonFiles\System\msadc\
删除C:
\\inetpub
■.删除不必要的IIS映射和扩展:
IIS被预先配置为支持常用的文件名扩展如.asp和.shtm文件。
IIS接收到这些类型的文件请求时,该调用由DLL处理。
如果您不使用其中的某些扩展或功能,则应删除该
映射,步骤如下:
选择计算机名,点鼠标右键,选择属性:
然后选择编辑
然后选择主目录,点击配置
选择扩展名\.htw\,\.htr\,\.idc\,\.ida\,\.idq\和\.printer\,点击删除
如果不使用serversideinclude,则删除\.shtm\\.stm\和\.shtml\
■.禁用父路径:
“父路径”选项允许您在对诸如MapPath函数调用中使用“..”。
在默认情况下,该选项
处于启用状态,应该禁用它。
禁用该选项的步骤如下:
右键单击该Web站点的根,然后从上下文菜单中选择“属性”。
单击“主目录”选项卡。
单击“配置”。
单击“应用程序选项”选项卡。
取消选择“启用父路径”复选框。
■.在虚拟目录上设置访问控制权限
主页使用的文件按照文件类型应使用不同的访问控制列表:
CGI(.exe,.dll,.cmd,.pl)
Everyone(X)
Administrators(完全控制)
System(完全控制)
脚本文件(.asp)
Everyone(X)
Administrators(完全控制)
System(完全控制)
include文件(.inc,.shtm,.shtml)
Everyone(X)
Administrators(完全控制)
System(完全控制)
静态内容(.txt,.gif,.jpg,.html)
Everyone(R)
Administrators(完全控制)
System(完全控制)
在创建Web站点时,没有必要在每个文件上设置访问控制权限,应该为每个文件类型创建一个新目录,然后在每个目录上设置访问控制权限、允许访问控制权限传给各个文件。
例如,目录结构可为以下形式:
D:
\wwwroot\myserver\static(.html)
D:
\wwwroot\myserver\include(.inc)
D:
\wwwroot\myserver\script(.asp)
D:
\wwwroot\myserver\executable(.dll)
D:
\wwwroot\myserver\images(.gif,.jpeg)
■.启用日志记录
确定服务器是否被攻击时,日志记录是极其重要的。
应使用W3C扩展日志记录格式,步骤如下:
打开Internet服务管理器:
右键单击站点,然后从上下文菜单中选择“属性”。
单击“Web站点”选项卡。
选中“启用日志记录”复选框。
从“活动日志格式”下拉列表中选择“W3C扩展日志文件格式”。
单击“属性”。
单击“扩展属性”选项卡,然后设置以下属性:
*客户IP地址
*用户名
*方法
*URI资源
*HTTP状态
*Win32状态
*用户代理
*服务器IP地址
*服务器端口
删除WindowsServer2003默认共享
首先编写如下内容的批处理文件:
@echooff
netshareC$/del
netshareD$/del
netshareE$/del
netshareF$/del
netshareadmin$/del
以上文件的内容用户可以根据自己需要进行修改。
保存为delshare.bat,存放到系统所在文件夹下的system32GroupPolicyUserScriptsLogon目录下。
然后在开始菜单→运行中输入gpedit.msc,
回车即可打开组策略编辑器。
点击用户配置→Windows设置→脚本(登录/注销)→登录(如图3)。
本帖包含图片附件:
在出现的“登录属性”窗口中单击“添加”,会出现“添加脚本”对话框,在该窗口的“脚本名”栏中输入delshare.bat,然后单击“确定”按钮即可(如图4)。
本帖包含图片附件:
重新启动计算机系统,就可以自动将系统所有的隐藏共享文件夹全部取消了,这样就能将系统安全隐患降低到最低限度。
2、禁用IPC连接
IPC$(InternetProcessConnection)是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方计算机即可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。
它是WindowsNT/2000/XP/2003特有的功能,但它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。
NT/2000/XP/2003在提供了ipc$功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(c$,d$,e$……)和系统目录winnt或windows(admin$)共享。
所有的这些,微软的初衷都是为了方便管理员的管理,但也为简称为IPC入侵者有意或无意的提供了方便条件,导致了系统安全性能的降低。
在建立IPC的连接中不需要任何黑客工具,在命令行里键入相应的命令就可以了,不过有个前提条件,那就是你需要知道远程主机的用户名和密码。
打开CMD后输入如下命令即可进行连接:
netuse\ipipc$password/user:
usernqme。
我们可以通过修改注册表来禁用IPC连接。
打开注册表编辑器。
找到如下组建HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接(如图5)。
本帖包含图片附件:
四、清空远程可访问的注册表路径
大家都知道,Windows2003操作系统提供了注册表的远程访问功能,只有将远程可访问的注册表路径设置为空,这样才能有效的防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息(如图6)。
本帖包含图片附件:
打开组策略编辑器,依次展开“计算机配置→Windows设置→安全设置→本地策略→安全选项”,在右侧窗口中找到“网络访问:
可远程访问的注册表路径”,然后在打开的窗口中,将可远程访问的注册表路径和子路径内容全部设置为空即可(如图7)。
本帖包含图片附件:
五、关闭不必要的端口
对于个人用户来说安装中默认的有些端口确实是没有什么必要的,关掉端口也就是关闭无用的服务。
139端口是NetBIOS协议所使用的端口,在安装了TCP/IP协议的同时,NetBIOS也会被作为默认设置安装到系统中。
139端口的开放意味着硬盘可能会在网络中共享;网上黑客也可通过NetBIOS知道你的电脑中的一切!
在以前的Windows版本中,只要不安装Microsoft网络的文件和打印共享协议,就可关闭139端口。
但在WindowsServer2003中,只这样做是不行的。
如果想彻底关闭139端口,具体步骤如下:
鼠标右键单击“网络邻居”,选择“属性”,进入“网络和拨号连接”,再用鼠标右键单击“本地连接”,选择“属性”,打开“本地连接属性”页(如图8),
本帖包含图片附件:
然后去掉“Microsoft网络的文件和打印共享”前面的“√”(如图9),
本帖包含图片附件:
接下来选中“Internet协议(TCP/IP)”,单击“属性”→“高级”→“WINS”,把“禁用TCP/IP上的NetBIOS”选中,即任务完成(如图10)!
本帖包含图片附件:
对于个人用户来说,可以在各项服务属性设置中设为“禁用”,以免下次重启服务也重新启动,端口也开放了。
假如你的电脑中还装了IIS,你最好重新设置一下端口过滤。
步骤如下:
选择网卡属性,然后双击“Internet协议(TCP/IP)”,在出现的窗口中单击“高级”按钮,会进入“高级TCP/IP设置”窗口,接下来选择“选项”标签下的“TCP/IP筛选”项,点“属性”按钮,会来到“TCP/IP筛选”的窗口,在该窗口的“启用TCP/IP筛选(所有适配器)”前面打上“√”,然后根据需要配置就可以了。
如果你只打算浏览网页,则只开放TCP端口80即可,所以可以在“TCP端口”上方选择“只允许”,然后单击“添加”按钮,输入80再单击“确定”即可(如图11)
本帖包含图片附件:
六、杜绝非法访问应用程序
WindowsServer2003是一种服务器操作系统,为了防止登陆到其中的用户,随意启动服务器中的应用程序,给服务器的正常运行带来不必要的麻烦,我们很有必要根据不同用户的访问权限,来限制。
他们去调用应用程序。
实际上我们只要使用组策略编辑器作进一步的设置,即可实现这一目的,具体步骤如下:
打开“组策略编辑器”的方法为:
依次点击“开始→运行”,在“运行”对话框中键入“gpedit.msc”命令并回车,即可打开“组策略编辑器”窗口。
然后依次打开“组策略控制台→用户配置→管理模
板→系统”中的“只运行许可的Windows应用程序”并启用此策略(如图12)。
本帖包含图片附件:
然后点击下面的“允许的应用程序列表”边的“显示”按钮,弹出一个“显示内容”对话框,在此单击“添加”按钮来添加允许运行的应用程序即可(如图13)。
本帖包含图片附件:
--------------------------------------------------------------------------------
二、设置和管理账户
1、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。
2、新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
3、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码,当然现在也有一个DelGuest的工具,也许你也可以利用它来删除Guest账户,但我没有试过。
4、在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时渖栉?
0分钟”,“复位锁定计数设为30分钟”。
5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用
6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。
如果你使用了A还要保留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、关闭不需要的服务,以下为建议选项
ComputerBrowser:
维护网络计算机更新,禁用
DistributedFileSystem:
局域网管理共享文件,不需要禁用
Distributedlinktrackingclient:
用于局域网更新连接信息,不需要禁用
Errorreportingservice:
禁止发送错误报告
MicrosoftSerch:
提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:
telnet服务和MicrosoftSerch用的,不需要禁用
PrintSpooler:
如果没有打印机可禁用
RemoteRegistry:
禁止远程修改注册表
RemoteDesktopHelpSessionManager:
禁止远程协助
四、打开相应的审核策略
在运行中输入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。