windows server2003是目前最为成熟的网络服务器平台,安全性相对于windows 2000有大大的提高,但是2003默认的安全配置不一定适合我们的需要,所以,我们要根据实际情况来对win2003进行全面安全配置。说实话,安全配置是一项比较有难度的网络技术,权限配置的太严格,好多程序又运行不起,权限配置的太松,又很容易被黑客入侵,所以总结出以下一些方法来提高我们服务器的安全性。
第一:
正确划分文件系统格式,选择稳定的操作系统安装盘
为了提高安全性,服务器的文件系统格式一定要划分成NTFS(新技术文件系统)格式,它比FAT16、FAT32的安全性、空间利用率都大大的提高,我们可以通过它来配置文件的安全性,磁盘配额、EPS文件加密等。如果你已经分成FAT32的格式了,可以用CONVERT 盘符 /FS:NTFS /V 来把FAT32转换成NTFS格式。
第二:
正确设置磁盘的安全性,具体如下(虚拟机的安全设置,我们以asp程序为例子)重点:
1、系统盘权限设置
C:分区部分:
c:\
administrators 全部(该文件夹,子文件夹及文件)
CREATOR OWNER 全部(只有子文件来及文件)
system 全部(该文件夹,子文件夹及文件)
IIS_WPG 创建文件/写入数据(只有该文件夹)
IIS_WPG(该文件夹,子文件夹及文件)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
创建文件夹/附加数据
读取权限
c:\Documents and Settings
administrators 全部(该文件夹,子文件夹及文件)
Power Users (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
SYSTEM全部(该文件夹,子文件夹及文件)
C:\Program Files
administrators 全部(该文件夹,子文件夹及文件)
CREATOR OWNER全部(只有子文件来及文件)
IIS_WPG (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
Power Users(该文件夹,子文件夹及文件)
修改权限
SYSTEM全部(该文件夹,子文件夹及文件)
TERMINAL SERVER USER (该文件夹,子文件夹及文件)
修改权限
2、网站及虚拟机权限设置(比如网站在E盘)
说明:我们假设网站全部在E盘wwwsite目录下,并且为每一个虚拟机创建了一个guest用户,用户名为vhost1...vhostn并且创建了一个webuser组,把所有的vhost用户全部加入这个webuser组里面方便管理
E:\
Administrators全部(该文件夹,子文件夹及文件)
E:\wwwsite
Administrators全部(该文件夹,子文件夹及文件)
system全部(该文件夹,子文件夹及文件)
service全部(该文件夹,子文件夹及文件)
E:\wwwsite\vhost1
Administrators全部(该文件夹,子文件夹及文件)
system全部(该文件夹,子文件夹及文件)
vhost1全部(该文件夹,子文件夹及文件)
3、数据备份盘
数据备份盘最好只指定一个特定的用户对它有完全操作的权限
比如F盘为数据备份盘,我们只指定一个管理员对它有完全操作的权限
4、其它地方的权限设置
请找到c盘的这些文件,把安全性设置只有特定的管理员有完全操作权限
下列这些文件只允许administrators访问
net.exe
net1.exet
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.com
5.删除c:\inetpub目录,删除iis不必要的映射,建立陷阱帐号,更改描述
第三:
禁用不必要的服务,提高安全性和系统效率
Computer Browser 维护网络上计算机的最新列表以及提供这个列表
Task scheduler 允许程序在指定时间运行
Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务
Removable storage 管理可移动媒体、驱动程序和库
Remote Registry Service 允许远程注册表操作
Print Spooler 将文件加载到内存中以便以后打印。要用打印机的朋友不能禁用这项
IPSEC Policy Agent 管理IP安全策略以及启动ISAKMP/OakleyIKE)和IP安全驱动程序
Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知
Com+ Event System 提供事件的自动发布到订阅COM组件
Alerter 通知选定的用户和计算机管理警报
Error Reporting Service 收集、存储和向 Microsoft 报告异常应用程序
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
Telnet 允许远程用户登录到此计算机并运行程序
第四:
修改注册表,让系统更强壮
1、隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL",鼠标右击 "CheckedValue",选择修改,把数值由1改为0
2、启动系统自带的Internet连接_blank">防火墙,在设置服务选项中勾选Web服务器。
3、防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为SynAttackProtect,值为2
EnablePMTUDiscovery REG_DWORD 0
NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0
KeepAliveTime REG_DWORD 300,000
PerformRouterDiscovery REG_DWORD 0
EnableICMPRedirects REG_DWORD 0
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.修改终端服务端口
运行regedit,找到[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp],看到右边的PortNumber了吗?在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。
2、第二处HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。
8、禁止IPC空连接:
cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。打开注册表,找到Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成"1"即可。
9、更改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:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
10. 删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可
11. 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成"1"即可。
- 一般禁用以下端口
- 135 138 139 443 445 4000 4899 7626
- 8.本地安全策略和组策略的设置,如果你在设置本地安全策略时设置错了,可以这样恢复成它的默认值.
- 打开 %SystemRoot%\Security文件夹,创建一个 "OldSecurity"子目录,将%SystemRoot%\Security下所有的.log文件移到这个新建的子文件夹中.
- 在%SystemRoot%\Security\database\下找到"Secedit.sdb"安全数据库并将其改名,如改为"Secedit.old".
- 启动"安全配置和分析"MMC管理单元:"开始"->"运行"->"MMC",启动管理控制台,"添加/删除管理单元",将"安全配置和分析"管理单元添加上.
- 右击"安全配置和分析"->"打开数据库",浏览"C:\WINNT\security\Database"文件夹,输入文件名"secedit.sdb",单击"打开".
- 当系统提示输入一个模板时,选择"Setup Security.inf",单击"打开".
- 如果系统提示"拒绝访问数据库",不管他.
- 你会发现在"C:\WINNT\security\Database"子文件夹中重新生成了新的安全数据库,在"C:\WINNT\security"子文件夹下重新生成了log文件.安全数据库重建成功.
- 1.
- 删除以下的注册表主键:
- WScript.Shell
- WScript.Shell.1
- Shell.application
- Shell.application.1
- WSCRIPT.NETWORK
- WSCRIPT.NETWORK.1
- regsvr32/u wshom.ocx回车、regsvr32/u wshext.dll回车
- Windows 2003 硬盘安全设置
- c:\
- administrators 全部
- system 全部
- iis_wpg 只有该文件夹
- 列出文件夹/读数据
- 读属性
- 读扩展属性
- 读取权限
- c:\inetpub\mailroot
- administrators 全部
- system 全部
- service 全部
- c:\inetpub\ftproot
- everyone 只读和运行
- c:\windows
- administrators 全部
- Creator owner
- 不是继承的
- 只有子文件夹及文件
- 完全
- Power Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- system 全部
- IIS_WPG 读取和运行,列出文件夹目录,读取
- Users 读取和运行(此权限最后调整完成后可以取消)
- C:\WINDOWS\Microsoft.Net
- administrators 全部
- Creator owner
- 不是继承的
- 只有子文件夹及文件
- 完全
- Power Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- system 全部
- Users 读取和运行,列出文件夹目录,读取
- 'www.knowsky.com
- C:\WINDOWS\Microsoft.Net
- administrators 全部
- Creator owner
- 不是继承的
- 只有子文件夹及文件
- 完全
- Power Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- system 全部
- Users 读取和运行,列出文件夹目录,读取
-
- C:\WINDOWS\Microsoft.Net\temporary ASP.NET Files
- administrators 全部
- Creator owner
- 不是继承的
- 只有子文件夹及文件
- 完全
- Power Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- system 全部
- Users 全部
-
- c:\Program Files
- Everyone 只有该文件夹
- 不是继承的
- 列出文件夹/读数据
- administrators 全部
- iis_wpg 只有该文件夹
- 列出文件/读数据
- 读属性
- 读扩展属性
- 读取权限
- c:\windows\temp
- Administrator 全部权限
- System全部权限
- users 全部权限
- c:\Program Files\Common Files
- administrators 全部
- Creator owner
- 不是继承的
- 只有子文件夹及文件
- 完全
- Power Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- system 全部
- TERMINAL SERVER Users(如果有这个用户)
- 修改,读取和运行,列出文件夹目录,读取,写入
- Users 读取和运行,列出文件夹目录,读取
- c:\Program Files\Dimac(如果有这个目录)
- Everyone 读取和运行,列出文件夹目录,读取
- administrators 全部
- c:\Program Files\ComPlus Applications (如果有)
- administrators 全部
- c:\Program Files\GflSDK (如果有)
- administrators 全部
- Creator owner
- 不是继承的
- 只有子文件夹及文件
- 完全
- Power Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- system 全部
- TERMINAL SERVER Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- Users 读取和运行,列出文件夹目录,读取
- Everyone 读取和运行,列出文件夹目录,读取
- c:\Program Files\InstallShield Installation Information (如果有)
- c:\Program Files\Internet Explorer (如果有)
- c:\Program Files\NetMeeting (如果有)
- administrators 全部
- c:\Program Files\WindowsUpdate
- Creator owner
- 不是继承的
- 只有子文件夹及文件
- 完全
- administrators 全部
- Power Users
- 修改,读取和运行,列出文件夹目录,读取,写入
- system 全部
- c:\Program Files\Microsoft SQL(如果SQL安装在这个目录)
- administrators 全部
- Service 全部
- system 全部
- d:\ (如果用户网站内容放置在这个分区中)
- administrators 全部权限
- d:\FreeHost (如果此目录用来放置用户网站内容)
- administrators 全部权限
- SERVICE 读取与运行
- 从安全角度,我们建议WebEasyMail(WinWebMail)安装在独立的盘中,例如E:
- E:\(如果webeasymail安装在这个盘中)
- administrators 全部权限
- system 全部权限
- IUSR_*,默认的Internet来宾帐户(或专用的运行用户)
- 读取与运行
- E:\WebEasyMail (如果webeasymail安装在这个目录中)
- administrators 全部
- system 全部权限
- SERVICE全部
- IUSR_*,默认的Internet来宾帐户 (或专用的运行用户)
- 全部权限
- C:\php\uploadtemp
- C:\php\sessiondata
- everyone
- 全部
- C:\php\
- administrators 全部
- system 全部权限
- SERVICE全部
- Users 只读和运行
- c:\windows\php.ini
- administrators 全部
- system 全部权限
- SERVICE全部
- Users 只读和运行
- 防止海洋木马列出WIN服务器的用户和进程
- 禁用服务里面倒数第二个 workstation 服务,可以防止列出用户和服务
- 差不多了,如有需要,请慢慢看,寻找需要的解决方法
- 猴岛技术组