标签归档:权限

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”复选框。

 

 

如下的一些配置主要是 针对 WIN2003和NTFS格式的,而且是提供网络服务的,不是客户端电脑(客户端电脑自己去安装一些防木马间谍病毒或防火墙或其他,注意跟踪目前的较新的反弹式木马技术,简单的木马的隐蔽无非就是注册表、Win.ini、System.ini、Autoexec.bat、Congfig.sys、Winstart.bat、Wininit.ini、启动组等地方,仔细点一般可找出)。 
(1)系统升级、打操作系统补丁,尤其是IIS 6.0补丁、SQL SP3a补丁,甚至IE 6.0补丁也要打。到教科网计算机安全网上下载,也可以自己到微软升级网站或用瑞星的最新版扫描或其他,工具很多。要早点下载下来。其实,服务器端,把不要的东西删除,如Telnet、Wins等一般禁用或删除。不要直接在服务器端运行和访问其他网站(至少可以防止jpeg、vbs病毒等,当然也要打上JPEG漏洞补丁)。基本这些问题就不大了。运行 netstat –an 一目了然。漏洞的通知速度,我倒建议除了微软外,到瑞星网站看看:http://it.rising.com.cn/newSite/Channels/Safety/LatestHole/index.htm

(2)将FSO、WSH、Ado..Stream、Ditction..、shell.application等禁止(如:Regsvr32 /u scrrun.dll)或修改注册表中名称(推荐后者!)。方法在后面会说明。地球人都知道。

(3)停掉Guest 帐号、并给guest 加一个异常复杂的密码(反正不用,乱敲一通)。

(4)把Adm…改名或伪装(比如改为guest6,那么最好同时创建10来个如guest1――guest10等不同的帐号,但权限都极低,密码超级复杂,在帐号安全策略中,甚至都不允许他们进行本极登录,干扰视线),创建陷阱帐号(假的Administrator帐号,实际权限非常低),并在试图尝试的login scripts上做点手脚。当然,真正的帐号密码必须设置特殊字符和足够强度。

(5)关闭不必要的端口,在\system32\drivers\etc\services中有列表。网上邻居>属性>本地连接>属性>internet 协议(tcp/ip)>属性>高级>选项>tcp/ip筛选>属性 打开tcp/ip筛选,添加需要的tcp,udp,协议即可。

(6)如果懒惰的话,最简单的方法是启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以!Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫描,提高Windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。

网络->本地链接状态->高级->通过限制或阻止….来保护我的计算机,选中,并进行设置。剩下的就简单了。开必要的端口,如80、25、110等,要注意做安全日志。上面也有设置。但最好手工修改注册表。比如,把3389注册表中修改为××××端口,然后再通过防火墙映射为外部端口××××,内部端口××××。这样基本可以了。注册表中至少要修改4个地方,不过主要与PortNumber这个参数值有关,也方便找。我等会做个reg文件,运行一下就好了。

远程桌面端口:3389->××××->××××(这个肯定是要改变的)

SQL SERVER:1434->××× 同时隐藏SQL 实例

FTP端口21->××××
 
(7)打开审核策略!这个也非常重要,必须开启。当有人尝试入侵时,都会被安全审核记录下来。比如下表:

 策略 设置 

审核系统登陆事件 成功,失败 

审核帐户管理 成功,失败 

审核登陆事件 成功,失败 

审核对象访问 成功 

审核策略更改 成功,失败 

审核特权使用 成功,失败 

审核系统事件 成功,失败
 
(8)禁止建立空连接。可视化修改是这样:在管理工具->本地安全策略->选择本地策略->选择安全选项->网络访问:不允许SAM帐号和共享的匿名枚举(改成已启用)!

 或者修改注册表来禁止建立空连接(等同上面): 

Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即 

可。

 另外,本地安全策略一定要仔细看,有些功能要开启。反正,服务器端只运行必要的就可以了。

 (9)关闭默认共享,编写一个deletenetshare.bat文件(如下表)

net share ipc$ /delete 

net share admin$ /delete 

net share C$ /delete 

net share D$ /delete 

net share E$ /delete

net share F$ /delete 

net share print$ /delete
 
编写一个deletenetshare.reg 文件,把上面的bat写入启动项:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices]

"deletenetshare"="c:\\deletenetshare.bat"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"deletenetshare"="c:\\deletenetshare.bat"