Windows Server防木马权限设置IIS服务器安全配置整理.docx
《Windows Server防木马权限设置IIS服务器安全配置整理.docx》由会员分享,可在线阅读,更多相关《Windows Server防木马权限设置IIS服务器安全配置整理.docx(24页珍藏版)》请在冰豆网上搜索。
![Windows Server防木马权限设置IIS服务器安全配置整理.docx](https://file1.bdocx.com/fileroot1/2023-1/8/07ac0436-6aa5-494f-b90b-12b85b38873f/07ac0436-6aa5-494f-b90b-12b85b38873f1.gif)
WindowsServer防木马权限设置IIS服务器安全配置整理
WindowsServer2003防木马权限设置IIS服务器安全配置整理
一、系统的安装
1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。
2、IIS6.0的安装
开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件
应用程序———ASP.NET(可选)
|——启用网络COM+访问(必选)
|——Internet信息服务(IIS)———Internet信息服务管理器(必选)
|——公用文件(必选)
|——万维网服务———ActiveServerpages(必选)
|——Internet数据连接器(可选)
|——WebDAV发布(可选)
|——万维网服务(必选)
|——在服务器端的包含文件(可选)
然后点击确定—>下一步安装。
(具体见本文附件1)
3、系统补丁的更新
点击开始菜单—>所有程序—>WindowsUpdate
按照提示进行补丁的安装。
4、备份系统
用GHOST备份系统。
5、安装常用的软件
例如:
杀毒软件、解压缩软件等;安装完毕后,配置杀毒软件,扫描系统漏洞,安装之后用GHOST再次备份系统。
6、先关闭不需要的端口开启防火墙导入IPSEC策略
在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。
在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。
在高级选项里,使用"Internet连接防火墙",这是windows2003自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
修改3389远程连接端口
修改注册表.
开始--运行--regedit
依次展开HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/
TERMINALSERVER/WDS/RDPWD/TDS/TCP
右边键值中PortNumber改为你想用的端口号.注意使用十进制(例10000)
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINALSERVER/
WINSTATIONS/RDP-TCP/
右边键值中PortNumber改为你想用的端口号.注意使用十进制(例10000)
注意:
别忘了在WINDOWS2003自带的防火墙给+上10000端口
修改完毕.重新启动服务器.设置生效.
二、用户安全设置
1、禁用Guest账号
在计算机管理的用户里面把Guest账号禁用。
为了保险起见,最好给Guest加一个复杂的密码。
你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。
2、限制不必要的用户
去掉所有的DuplicateUser用户、测试用户、共享用户等等。
用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。
这些用户很多时候都是黑客们入侵系统的突破口。
3、把系统Administrator账号改名
大家都知道,Windows2003的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。
尽量把它伪装成普通用户,比如改成Guesycludx。
4、创建一个陷阱用户
什么是陷阱用户?
即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。
这样可以让那些Hacker们忙上一段时间,借此发现它们的入侵企图。
如下图Administrator已经不是管理员,是陷阱用户。
5、把共享文件的权限从Everyone组改成授权用户
任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。
6、开启用户策略
使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。
(该项为可选)
7、不让系统显示上次登录的用户名
默认情况下,登录对话框中会显示上次登录的用户名。
这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。
修改注册表可以不让对话框里显示上次登录的用户名。
方法为:
打开注册表编辑器并找到注册表“HKLM\Software\Microsoft\WindowsT\CurrentVersion
\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的键值改成1。
密码安全设置
1、使用安全密码
一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简单,比如“welcome”等等。
因此,要注意密码的复杂性,还要记住经常改密码。
2、设置屏幕保护密码
这是一个很简单也很有必要的操作。
设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。
3、开启密码策略
注意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位,设置强制密码历史为5次,时间为42天。
4、考虑使用智能卡来代替密码
对于密码,总是使安全管理员进退两难,密码设置简单容易受到黑客的攻击,密码设置复杂又容易忘记。
如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。
三、系统权限的设置
1、磁盘权限(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定)
系统盘及所有磁盘只给Administrators组和SYSTEM的完全控制权限
系统盘\DocumentsandSettings目录只给Administrators组和SYSTEM的完全控制权限
系统盘\DocumentsandSettings\AllUsers目录只给Administrators组和SYSTEM的完全控制权限
系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、
tftp.exe、telnet.exe、netstat.exe、regedit.exe、at.exe、attrib.exe、、
del文件只给Administrators组和SYSTEM的完全控制权限
另将\System32\cmd.exe、、ftp.exe转移到其他目录或更名
DocumentsandSettings下所有些目录都设置只给adinistrators权限。
并且要一个一个目录查看,包括下面的所有子目录。
删除c:
\inetpub目录
2、本地安全策略设置
开始菜单—>管理工具—>本地安全策略
A、本地策略——>审核策略
审核策略更改 成功 失败
审核登录事件 成功 失败
审核对象访问失败
审核过程跟踪 无审核
审核目录服务访问失败
审核特权使用失败
审核系统事件 成功 失败
审核账户登录事件 成功 失败
审核账户管理 成功 失败
B、本地策略——>用户权限分配
关闭系统:
只有Administrators组、其它全部删除。
通过终端服务允许登陆:
只加入Administrators,RemoteDesktopUsers组,其他全部删除
C、本地策略——>安全选项
交互式登陆:
不显示上次的用户名 启用
网络访问:
不允许SAM帐户和共享的匿名枚举 启用
网络访问:
不允许为网络身份验证储存凭证 启用
网络访问:
可匿名访问的共享 全部删除
网络访问:
可匿名访问的命全部删除
网络访问:
可远程访问的注册表路径全部删除
网络访问:
可远程访问的注册表路径和子路径全部删除
帐户:
重命名来宾帐户重命名一个帐户
帐户:
重命名系统管理员帐户 重命名一个帐户
3、禁用不必要的服务开始-运行-services.msc(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
TCP/IPNetBIOSHelper提供TCP/IP服务上的NetBIOS和网络上客户端的NetBIOS名称解析的支持而使用户能够共享
文件、打印和登录到网络
Server支持此计算机通过网络的文件、打印、和命名管道共享
ComputerBrowser维护网络上计算机的最新列表以及提供这个列表
Taskscheduler允许程序在指定时间运行
Messenger传输客户端和服务器之间的NETSEND和警报器服务消息
DistributedFileSystem:
局域网管理共享文件,不需要可禁用
Distributedlinktrackingclient:
用于局域网更新连接信息,不需要可禁用
Errorreportingservice:
禁止发送错误报告
MicrosoftSerch:
提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:
telnet服务和MicrosoftSerch用的,不需要可禁用
PrintSpooler:
如果没有打印机可禁用
RemoteRegistry:
禁止远程修改注册表
RemoteDesktopHelpSessionManager:
禁止远程协助
Workstation关闭的话远程NET命令列不出用户组
以上是在WindowsServer2003系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。
4、修改注册表(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
修改注册表,让系统更强壮
4.1、隐藏重要文件/目录可以修改注册表实现完全隐藏(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击“CheckedValue”,选择修改,把数值由1改为0
4.2、防止SYN洪水攻击(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为SynAttackProtect,值为2
新建EnablePMTUDiscoveryREG_DWORD0
新建NoNameReleaseOnDemandREG_DWORD1
新建EnableDeadGWDetectREG_DWORD0
新建KeepAliveTimeREG_DWORD300,000
新建PerformRouterDiscoveryREG_DWORD0
新建EnableICMPRedirectsREG_DWORD0
4.3.禁止响应ICMP路由通告报文(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
\Interfaces\interface
新建DWORD值,名为PerformRouterDiscovery值为0
4.4.防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects值设为0
4.5.不支持IGMP协议(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel值为0
4.6、禁止IPC空连接(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
cracker可以利用netuse命令建立空连接,进而入侵,还有netview,nbtstat这些都是基于空连接的,禁止空连接就好了。
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous把这个值改成”1”即可。
4.7、更改TTL值
cracker可以根据ping回的TTL值来大致判断你的操作系统,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
实际上你可以自己改的:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Tcpip\Parameters:
DefaultTTLREG_DWORD0-0xff(0-255十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
4.8.删除默认共享(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\LanmanServer\Parameters:
AutoShareServer类型是REG_DWORD把值改为0即可
4.9.禁止建立空连接(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。
我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous的值改成”1”即可。
4.10.建立一个记事本,填上以下代码。
保存为*.bat并加到启动项目中
netsharec$/del
netshared$/del
netsharee$/del
netsharef$/del
netshareipc$/del
netshareadmin$/del
5、IIS站点设置:
5.1、将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。
5.2、启用父级路径
5.3、在IIS管理器中删除必须之外的任何没有用到的映射(保留asp,aspxhtmlhtm等必要映射即可)
5.4、在IIS中将HTTP404ObjectNotFound出错页面通过URL重定向到一个定制HTM文件
5.5、Web站点权限设定(建议)
读允许
写不允许
脚本源访问不允许
目录浏览建议关闭
日志访问建议关闭
索引资源建议关闭
执行推荐选择“纯脚本”
5.6、建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。
(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为FullControl)。
5.7、程序安全:
1)涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;
2)需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
3)防止ASP主页.inc文件泄露问题;
4)防止UE等编辑器生成some.asp.bak文件泄露问题。
6、IIS权限设置的思路
·要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
·在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。
·设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
7、卸载最不安全的组件(注意:
按实际要求删除,删除后用不了FSO的)
(如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定,)
最简单的办法是直接卸载后删除相应的程序文件。
将下面的代码保存为一个.BAT文件,(以下均以WIN2000为例,如果使用2003,则系统文件夹应该是C:
\WINDOWS\)
regsvr32/uC:
\WINDOWS\System32\wshom.ocx
delC:
\WINDOWS\System32\wshom.ocx
regsvr32/uC:
\WINDOWS\system32\shell32.dll
delC:
\WINNT\WINDOWS\shell32.dll
然后运行一下,WScript.Shell,Shell.application,WScript.Network就会被卸载了。
可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。
为了方便大家,和减示错误,大部份步骤可以用如下脚本代替,我已经改成脚本cmd,新建一个txt文把,把如下代码,复制到里面后,把扩展名改为.cmd双击运行,运行后,请按提示backup。
代码如下
@echooff
ECHO.
ECHO.
ECHO.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ECHo.
ECHo你现在使用整理的"一建做安全"脚本
ECHo.
ECHO.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ECHO.
ECHO.
ECHO.-------------------------------------------------------------------------
ECHo请按提示操作备份好注册表,否则修改后无法还原,本人不负责.
ECHO.
ECHOYES=nextsetNO=exit(thistime30Seconddefaultforn)
ECHO.-------------------------------------------------------------------------
CHOICE/T30/Cyn/Dn
iferrorlevel2gotoend
iferrorlevel1gotonext
:
next
ifEXISTbackup(echo.)elsemdbackup
ifEXISTtemp(rmdir/s/qtemp|mdtemp)elsemdtemp
ifEXISTbackup\backupkey.reg(movebackup\backupkey.regbackup\backupkey_old.reg)elsegotorun
:
run
regedit/etemp\backup-reg1.key1"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\"
regedit/etemp\backup-reg2.key2"HKEY_CLASSES_ROOT\"
copy/b/y/vtemp\backup-reg1.key1+temp\backup-reg2.key2backup\backupkey.reg
ifexistbackup\wshom.ocx(echo备份已存在)elsecopy/v/y%SystemRoot%\System32\wshom.ocxbackup\wshom.ocx
ifexistbackup\shell32.dll(echo备份已存在)elsecopy/v/y%SystemRoot%\system32\shell32.dllbackup\shell32.dll
ECHO备份已经完成
ECHO.
gotonext2
:
next2
ECHO.
ECHO.-------------------------------------------------------------------
ECHo修改权限system32目录中不安全的几个exe文件,改为只有Administrators才有权限运行
ECHOYES=nextsetNO=thissetignore(thistime30Seconddefaultfory)
ECHO.-------------------------------------------------------------------
CHOICE/T30/Cyn/Dy
iferrorlevel2gotonext3
iferrorlevel1gotonext21
:
next21
xcacls.exe%SystemRoot%\system32\net.exe/t/gAdministrators:
F/y/C
xcacls.exe%SystemRoot%\system32\net1.exe/t/gAdministrators:
F/y/C
xcacls.exe%SystemRoot%\system32\cmd.exe/t/gAdministrators:
F/y/C
xcacls.exe%SystemRoot%\system32\tftp.exe/t/gAdministrators:
F/y/C
xcacls.exe%SystemRoot%\system32\netstat.exe/t/gAdministrators:
F/