WINDOWS2003服务器安全设置
WINDOWS2003服务器安全设置,教你打造完全的WEB服务器
>> 服务器要及时打上安全补丁,以免被溢出攻击。
>> 在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP)和Microsoft网络客户端。在高级tcp/ip设置里–”NetBIOS”设置”禁用tcp/IP上的NetBIOS(S)”。
>>用windows防火墙屏蔽相应的端口 并在TCP/IP连接 – 高级 – 选项 – 属性 – 启用tcp\ip筛选筛选相应要开放的端口
>> IIS (Internet信息服务器管理器) 在”主目录”选项设置以下
读 允许
写 不允许
脚本源访问 不允许
目录浏览 建议关闭
记录访问 建议关闭
索引资源 建议关闭
执行权限 推荐选择 “纯脚本”
>> 建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。
(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。
>> 在网站把 主目录 – 配置 – 选项 ”启用父路径“前面打上勾
>> 优化IIS6应用程序池
1、取消“在空闲此段时间后关闭工作进程(分钟)”
2、勾选“回收工作进程(请求数目)”
3、取消“快速失败保护”
>> 解决SERVER 2003不能上传大附件的问题
在“服务”里关闭 iis admin service 服务。
找到 windows\system32\inetsrv\ 下的 metabase.xml 文件。
找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(可修改为20M即:20480000)
存盘,然后重启 iis admin service 服务。
>> 解决SERVER 2003无法下载超过4M的附件问题
在“服务”里关闭 iis admin service 服务。
找到 windows\system32\inetsrv\ 下的 metabase.xml 文件。
找到 AspBufferingLimit 把它修改为需要的值(可修改为20M即:20480000)
存盘,然后重启 iis admin service 服务。
>> 超时问题
解决大附件上传容易超时失败的问题
在IIS中调大一些脚本超时时间,操作方法是: 在IIS的“站点或虚拟目录”的“主目录”下点击“配置”按钮,
设置脚本超时时间为:300秒 (注意:不是Session超时时间)
适当增加会话时间(Session)为 60分钟。在IIS站点或虚拟目录属性的“主目录”下点击“配置–>选项”,就可以进行设置了(Windows 2003默认为20分钟)
>> 修改3389远程连接端口
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]
“PortNumber”=dword:0000端口号
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
“PortNumber”=dword:0000端口号
设置这两个注册表的权限, 添加“IUSR”的完全拒绝禁止显示端口号
>> 本地策略 在开始菜单 运行 secpol.msc 本地安全策略—>用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除
>> 在安全设置里 本地策略-用户权利分配,通过终端服务拒绝登陆 加入
ASPNET
IUSR_
IWAM_
NETWORK SERVICE
(注意不要添加进user组和administrators组添加进去以后就没有办法远程登陆了)
>> 在安全设置里 本地策略在开始菜单 运行 secpol.msc -安全选项
网络访问:可匿名访问的共享;
网络访问:可匿名访问的命名管道;
网络访问:可远程访问的注册表路径;
网络访问:可远程访问的注册表路径和子路径;
将以上四项全部删除
>> 不允许 SAM 账户的匿名枚举 更改为”已启用”
>> 不允许 SAM 账户和共享的匿名枚举 更改为”已启用” ;
>> 网络访问: 不允许存储网络身份验证的凭据或 .NET Passports 更改为”已启用” ;
>> 网络访问.限制匿名访问命名管道和共享,更改为”已启用” ;
将以上四项通通设为“已启用”
>> 禁用不必要的服务
sc config AeLookupSvc start= AUTO
sc config Alerter start= DISABLED
sc config ALG start= DISABLED
sc config AppMgmt start= DEMAND
sc config aspnet_state start= DEMAND
sc config AudioSrv start= DISABLED
sc config BITS start= DEMAND
sc config Browser start= DEMAND
sc config CiSvc start= DISABLED
sc config ClipSrv start= DISABLED
sc config clr_optimization_v2.0.50727_32 start= DEMAND
sc config COMSysApp start= DEMAND
sc config CryptSvc start= AUTO
sc config DcomLaunch start= AUTO
sc config Dfs start= DEMAND
sc config Dhcp start= AUTO
sc config dmadmin start= DEMAND
sc config dmserver start= AUTO
sc config Dnscache start= AUTO
sc config ERSvc start= DISABLED
sc config Eventlog start= AUTO
sc config EventSystem start= AUTO
sc config helpsvc start= DISABLED
sc config HidServ start= AUTO
sc config HTTPFilter start= DEMAND
sc config IISADMIN start= AUTO
sc config ImapiService start= DISABLED
sc config IsmServ start= DISABLED
sc config kdc start= DISABLED
sc config lanmanworkstation start= DISABLED
sc config LicenseService start= DISABLED
sc config LmHosts start= DISABLED
sc config Messenger start= DISABLED
sc config mnmsrvc start= DISABLED
sc config MSDTC start= AUTO
sc config MSIServer start= DEMAND
sc config MSSEARCH start= AUTO
sc config MSSQLSERVER start= AUTO
sc config MSSQLServerADHelper start= DEMAND
sc config NetDDE start= DISABLED
sc config NetDDEdsdm start= DISABLED
sc config Netlogon start= DEMAND
sc config Netman start= DEMAND
sc config Nla start= DEMAND
sc config NtFrs start= DEMAND
sc config NtLmSsp start= DEMAND
sc config NtmsSvc start= DEMAND
sc config PlugPlay start= AUTO
sc config PolicyAgent start= AUTO
sc config ProtectedStorage start= AUTO
sc config RasAuto start= DEMAND
sc config RasMan start= DEMAND
sc config RDSessMgr start= DEMAND
sc config RemoteAccess start= DISABLED
sc config RemoteRegistry start= DISABLED
sc config RpcLocator start= DEMAND
sc config RpcSs start= AUTO
sc config RSoPProv start= DEMAND
sc config sacsvr start= DEMAND
sc config SamSs start= AUTO
sc config SCardSvr start= DEMAND
sc config Schedule start= AUTO
sc config seclogon start= AUTO
sc config SENS start= AUTO
sc config SharedAccess start= DISABLED
sc config ShellHWDetection start= AUTO
sc config SMTPSVC start= AUTO
sc config Spooler start= DISABLED
sc config SQLSERVERAGENT start= AUTO
sc config stisvc start= DISABLED
sc config swprv start= DEMAND
sc config SysmonLog start= AUTO
sc config TapiSrv start= DEMAND
sc config TermService start= AUTO
sc config Themes start= DISABLED
sc config TlntSvr start= DISABLED
sc config TrkSvr start= DISABLED
sc config TrkWks start= AUTO
sc config Tssdis start= DISABLED
sc config UMWdf start= DEMAND
sc config UPS start= DEMAND
sc config vds start= DEMAND
sc config VSS start= DEMAND
sc config W32Time start= AUTO
sc config W3SVC start= AUTO
sc config WebClient start= DISABLED
sc config WinHttpAutoProxySvc start= DEMAND
sc config winmgmt start= AUTO
sc config WmdmPmSN start= DEMAND
sc config Wmi start= DEMAND
sc config WmiApSrv start= DEMAND
sc config wuauserv start= DISABLED
sc config WZCSVC start= DISABLED
sc config xmlprov start= DEMAND
把以上复制到bat文件里面运行
>> 删除默认共享
@echo off
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 先列举存在的分区,然后再逐个删除以分区名命名的共享;
:: 通过修改注册表防止admin$共享在下次开机时重新加载;
:: IPC$共享需要administritor权限才能成功删除
::
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
title 默认共享删除器
color 1f
echo.
echo ——————————————————
echo.
echo 开始删除每个分区下的默认共享.
echo.
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @(
if exist %%a:\nul (
net share %%a$ /delete>nul 2>nul && echo 成功删除名为 %%a$ 的默认共享 || echo 名为 %%a$ 的默认共享不存在
)
)
net share admin$ /delete>nul 2>nul && echo 成功删除名为 admin$ 的默认共享 || echo 名为 admin$ 的默认共享不存在
echo.
echo ——————————————————
echo.
net stop Server /y>nul 2>nul && echo Server服务已停止.
net start Server>nul 2>nul && echo Server服务已启动.
echo.
echo ——————————————————
echo.
echo 修改注册表以更改系统默认设置.
echo.
echo 正在创建注册表文件.
echo Windows Registry Editor Version 5.00> c:\delshare.reg
:: 通过注册表禁止Admin$共享,以防重启后再次加载
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\delshare.reg
echo “AutoShareWks”=dword:00000000>> c:\delshare.reg
echo “AutoShareServer”=dword:00000000>> c:\delshare.reg
:: 删除IPC$共享,本功能需要administritor权限才能成功删除
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>> c:\delshare.reg
echo “restrictanonymous”=dword:00000001>> c:\delshare.reg
echo 正在导入注册表文件以更改系统默认设置.
regedit /s c:\delshare.reg
del c:\delshare.reg && echo 临时文件已经删除.
echo.
echo ——————————————————
echo.
echo 程序已经成功删除所有的默认共享.
echo.
echo 按任意键退出…
pause>nul
把以上文件保存为bat运行
禁用Server服务器完全禁止共享
>> 打开C:\Windows目录 搜索以下DOS命令文件
NET.EXE,NET1.EXE,CMD.EXE,FTP.EXE, TFTP.EXE,ATTRIB.EXE,CACLS.EXE,AT.EXE,FORMAT.COM,TELNET.EXE,COMMAND.COM,NETSTAT.EXE,REGEDIT.EXE,ARP.EXE,NBTSTAT.EXE,regedt32.exe,xcopy.exe,wscript.exe,cscript.exe,edlin.exe,route.exe;finger.exe;posix.exe;rsh.exe;atsvc.exe;qbasic.exe;runonce.exe;syskey.exe
把以上命令文件通通只给Administrators 和SYSTEM为完全控制权限
关闭445端口
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\netBT\Parameters
新建 “DWORD值”值名为 “SMBDeviceEnabled” 数据为默认值”0″
禁止建立空连接
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
新建 “DWORD值”值名为 “RestrictAnonymous” 数据值为”1″ [2003默认为1]
禁止系统自动启动服务器共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
新建 “DWORD值”值名为 “AutoShareServer” 数据值为”0″
禁止系统自动启动管理共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
新建 “DWORD值”值名为 “AutoShareWks” 数据值为”0″
禁止dump file的产生
dump文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料。然而,它也能够给黑客提供一些敏感信息比如一些应用程序的密码等。控制面板>系统属性>高级>启动和故障恢复把写入调试信息 改成无。
关闭华医生Dr.Watson
在开始-运行中输入”drwtsn32″,或者开始-程序-附件-系统工具-系统信息-工具-Dr Watson,调出系统里的华医生Dr.Watson ,只保留”转储全部线程上下文”选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。如果以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。
Asp 组件改名。防止asp木马进行文件操作
HKEY_CLASSES_ROOT\Scripting.FileSystemObject
可以改为
HKEY_CLASSES_ROOT\Scripting.FileSystemObject123
>> 卸载删除具有CMD命令功能的危险组件
WSHOM.OCX对应于WScript.Shell组件
HKEY_CLASSES_ROOT\WScript.Shell\
及
HKEY_CLASSES_ROOT\WScript.Shell.1\
添加IUSR用户完全拒绝权限
Shell32.dll对应于Shell.Application组件
HKEY_CLASSES_ROOT\Shell.Application\
及
HKEY_CLASSES_ROOT\Shell.Application.1\
添加IUSR用户完全拒绝权限
regsvr32/u C:\Windows\System32\wshom.ocx
regsvr32/u C:\Windows\System32\shell32.dll
WSHOM.OCXx和Shell32.dl这两个文件只给Administrator完全权限
>>> SQL权限设置
1、一个数据库,一个帐号和密码,比如建立了一个数据库,只给PUBLIC,SA帐号基本是不使用的,因为SA实在是太危险了.
2、更改 sa 密码为你都不知道的超长密码,在任何情况下都不要用 sa 这个帐户.
3、Web登录时经常出现”[超时,请重试]“的问题
如果安装了 SQL Server 时,一定要启用“服务器网络实用工具”中的“多协议”项。
4、将有安全问题的SQL扩展存储过程删除. 将以下代码全部复制到”SQL查询分析器”
use master
EXEC sp_dropextendedproc ‘xp_cmdshell’
EXEC sp_dropextendedproc ‘Sp_OACreate’
EXEC sp_dropextendedproc ‘Sp_OADestroy’
EXEC sp_dropextendedproc ‘Sp_OAGetErrorInfo’
EXEC sp_dropextendedproc ‘Sp_OAGetProperty’
EXEC sp_dropextendedproc ‘Sp_OAMethod’
EXEC sp_dropextendedproc ‘Sp_OASetProperty’
EXEC sp_dropextendedproc ‘Sp_OAStop’
EXEC sp_dropextendedproc ‘Xp_regaddmultistring’
EXEC sp_dropextendedproc ‘Xp_regdeletekey’
EXEC sp_dropextendedproc ‘Xp_regdeletevalue’
EXEC sp_dropextendedproc ‘Xp_regenumvalues’
EXEC sp_dropextendedproc ‘Xp_regread’
EXEC sp_dropextendedproc ‘Xp_regremovemultistring’
EXEC sp_dropextendedproc ‘Xp_regwrite’
drop procedure sp_makewebtask
恢复的命令是
EXEC sp_addextendedproc 存储过程的名称,@dllname =’存储过程的dll’
例如:恢复存储过程xp_cmdshell
EXEC sp_addextendedproc xp_cmdshell,@dllname =’xplog70.dll’
注意,恢复时如果xplog70.dll已删除需要copy一个。
>>>权限设置问题
为了安全考虑,每个网站都用独立的系统帐号进行访问
每个盘符都像这样设置
新建一个组(假设我建立的组为bbn),我d:/bbs为一个论坛目录,新建一个帐号bbs密码设置复杂点,让他属于users组,因为.net程序必须要users组的用户才能运行。然后把这个组加入bbn用户组,在IIS里面设置用这个用户访问论坛
然后在d:/bbs上添加bbs帐号和NETWORK SERVICE 这个帐号(一定要加,否则不能访问),
一般是默认权限。相对于要写入权限的目录如图片上传和mdb数据库目录把继承的权限删除掉。Administrator和system完全控制。访问帐号给写入 读取 列出权限,不给运行权限。
注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
设置只有 administrator 和system有权限
>>> C:\Program Files设置只有administrator和system有权限
在C:\Program Files 目录下的common files添加bbn(因为一个组都用得到这个文件夹,所以直接添加组)帐号和NETWORK SERVICE默认权限
C:\Documents and Settings\设置只有administrator和system有权限
–C:\Documents and Settings\All Users\Documents (如果找不到这个文件夹就直接在地址栏里面输入这个路径把这个文件夹下的都有文件和文件夹)设置只有administrator和system有权限–
删除C:\WINDOWS\Web\printers目录,此目录的存在会造成IIS里加入一个.printers的扩展名,可溢出攻击
建议删除C:\WINDOWS\Help\iisHelp目录
C:\windows\system32\config
C:\WINDOWS\Temp
C:\Documents and Settings\All Users\「开始」菜单\程序
c:\WINDOWS\system32\inetsrv\data
C:\RECYCLER

很好,受用了,收藏了~