windows2003 服务器安全配置的建议
一、操作系统配置
1.安装操作系统(NTFS分区)后,装杀毒软件,我选用的是卡巴。
2.安装系统补丁。扫描漏洞全面杀毒
3.删除Windows Server 2003默认共享
首先编写如下内容的批处理文件:
@echo off
net share C$ /del
net share D$ /del
net share E$ /del
net share F$ /del
net share admin$ /del
文件名为delshare.bat,放到启动项中,每次开机时会自动删除共享。
4.禁用IPC连接
打开CMD后输入如下命令即可进行连接:net use\\ip\ipc$ "password" /user:"usernqme"。我们可以通过修改注册表来禁用IPC连接。打开注册表编辑器。找到如下组建HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接。
5.删除"网络连接"里的协议和服务
在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),同时在高级tcp/ip设置里–"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。
6.启用windows连接防火墙,只开放web服务(80端口)。
注:在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候,如果仅仅只开放21端口,由于FTP协议的特殊性,在进行FTP传输的时候,由于FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。
7.磁盘权限
系统盘只给 Administrators 和 SYSTEM 权限
系统盘\Documents and Settings 目录只给 Administrators 和 SYSTEM 权限;
系统盘\Documents and Settings\All Users 目录只给 Administrators 和 SYSTEM 权限;
系统盘\Documents and Settings\All Users\Application Data目录只给 Administrators 和 SYSTEM 权限;
系统盘\Windows 目录只给 Administrators 、 SYSTEM 和 users 权限;
系统盘\Windows\System32\net.exe,net1.exe,cmd.exe,command.exe,ftp.exe,netstat.exe,regedit.exe,at.exe,attrib.exe,cacls.exe 文件只给 Administrators 权限(如果觉得没用就删了它,比如我删了cmd.exe,command.exe,嘿嘿。);
其它盘,有安装程序运行的(如:sql server 2000 在D盘)给 Administrators 和 SYSTEM 权限,无只给 Administrators 权限。
8.本地安全策略设置
开始菜单—>管理工具—>本地安全策略
A、本地策略——>审核策略 (可选用)
审核策略更改 成功 失败
审核登录事件 成功 失败
审核对象访问 失败
审核过程跟踪 无审核
审核目录服务访问 失败
审核特权使用 失败
审核系统事件 成功 失败
审核账户登录事件 成功 失败
审核账户管理 成功 失败
B、本地策略——>用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务拒绝登陆:加入Guests、Users组
通过终端服务允许登陆:只加入Administrators组,其他全部删除
C、本地策略——>安全选项
交互式登陆:不显示上次的用户名 启用
网络访问:可匿名访问的共享 全部删除
网络访问:可匿名访问的命名管道 全部删除
**网络访问:可远程访问的注册表路径 全部删除
**网络访问:可远程访问的注册表路径和子路径 全部删除
帐户:重命名来宾帐户 重命名一个帐户
(下面一项更改可能导致sqlserver不能使用)
帐户:重命名系统管理员帐户 重命名一个帐户
二、iis配置(包括网站所在目录)
1.新建自己的网站(*注意:在应用程序设置中执行权限设为无,在需要的目录里再更改),目录不在系统盘
注:为支持asp.net,将系统盘\Inetpub\wwwroot中的aspnet_client文件夹复制到web根目录下,并给web根目录加上users权限。
2.删掉系统盘\inetpub目录
3.删除不用的映射
在"应用程序配置"里,只给必要的脚本执行权限:ASP、ASPX。
4.为网站创建系统用户
A.例如:网站为yushan43436.net,新建用户yushan43436.net权限为guests。然后在web站点属性里"目录安全性"—"身份验证和访问控制"里设置匿名访问使用下列Windows 用户帐户"的用户名和密码都使用yushan43436.net这个用户的信息。(用户名:主机名\yushan43436.net)
B.给网站所在的磁盘目录添加用户yushan43436.net,只给读取和写入的权限。
5.设置应用程及子目录的执行权限
A.主应用程序目录中的"属性–应用程序设置–执行权限"设为纯脚本
B.在不需要执行asp、asp.net的子目录中,例如上传文件目录,执行权限设为无
6.应用程序池设置
我的网站使用的是默认应用程序池。设置"内存回收":这里的最大虚拟内存为:1000M,最大使用的物理内存为256M,这样的设置几乎是没限制这个站点的性能的。
回收工作进程(分钟):1440
在下列时间回收工作进程:06:00
三、sql server 2000 配置
1.密码设置
我编的程序用了sa用户,密码设置超复杂(自己记不住,保存在手机里,嘿嘿)。
2.删除危险的扩展存储过程和相关.dll。
Xp_cmdshell(这个肯定首当其冲,不用说了)、Xp_regaddmultistring、Xp_regdeletekey、Xp_regdeletevalue、Xp_regenumvalues、Xp_regread、Xp_regwrite、Xp_regremovemultistring
四、其它设置(可选用,本人可不负责)
1.任何用户密码都要复杂,不需要的用户—删。
2.防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为SynAttackProtect,值为2
3.禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名为PerformRouterDiscovery 值为0
4.防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects 值设为0
5.不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
6.禁用DCOM:
运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。
对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。
清除“在这台计算机上启用分布式 COM”复选框。