Windows+Server+服务器配置.docx
《Windows+Server+服务器配置.docx》由会员分享,可在线阅读,更多相关《Windows+Server+服务器配置.docx(13页珍藏版)》请在冰豆网上搜索。
Windows+Server+服务器配置
WindowsServer2003服务器配置
基本配置
系统用户情况为:
administrators超级管理员(组)
system系统用户(内置安全主体)
guests来宾帐号(组)
iusr_服务器名匿名访问web用户即Internet来宾帐户
iwam_服务器名启动iis进程用户
1、为了能运行ASPX,首先给服务器装上Microsoft.NETFramework;如需要安装1.0和2.0两个版本,则先装1.0,再装2.0。
2、“Web服务扩展”,ActiveServerPages-允许。
3、新建运行ASP和ASPX虚拟目录时如图设置(图1),或者在一建好的虚拟目录上右击,选属性,在“执行权限”选择“纯脚本”如图
(2)。
否则报错:
HTTP错误403.1-禁止访问:
执行访问被拒绝。
Internet信息服务(IIS)
4、“启用父路径”,“虚拟目录属性”“配置”“选项”“启用父路径”。
否则报错:
HTTP500-内部服务器错误InternetExplorer
5、目录安全权限
(1)根目录,只运行ASP给Administrators(组)和SYSTEM(内置安全主体)所有权限,切记是Administrators而不是Administrator,因为Administrator不一定是Administrators组里的成员,给Internet来宾帐户“读取”的权限。
如还需运行ASPX,则必须给Users默认权限(“读取和运行”、“列出文件夹目录”、“读取”),否则报错:
(2)上传文件的目录如“UploadFiles”或着利用脚本新建子目录的目录,给Administrators(组)和SYSTEM所有权限,给Internet来宾帐户“读取”和“写入”权限,此目录的执行权限设成“无”(“虚拟目录属性”“执行权限”“无”)。
如果是运行ASPX的网站,则还必须给Users默认权限(“读取和运行”、“列出文件夹目录”、“读取”)和“写入”的权限。
(3)存放数据库的目录和存放静态生成页的目录,同
(2)。
图
(1)
图
(2)
6、如只需要本机调试,网站的IP地址设为“(全部未分配)”,需要作为服务器,则IP地址设为本机的IP。
7、开启匿名访问,IIS网站属性的“目录安全性”标签,选“编辑”,勾选“启用匿名访问”复选框。
如果要在VisualStudio里调试网站,则要勾选“集成Windows身份验证”。
安全配置
1、磁盘安全访问权限
△C:
\盘administrators(组)完全控制权限、SYSTEM(内置安全主体)完全控制权限
△D:
\盘(如果用户网站内容放置在这个分区中)、SYSTEM(组)完全控制权限
△E:
\盘administrators(组)完全控制权限、SYSTEM(内置安全主体)完全控制权限
△f:
\盘administrators(组)完全控制权限、SYSTEM(内置安全主体)完全控制权限
△如有其他盘符类推下去.
系统盘\DocumentsandSettings目录只给Administrators和SYSTEM权限;
系统盘\DocumentsandSettings\AllUsers目录只给Administrators和SYSTEM权限;
系统盘\DocumentsandSettings\AllUsers\ApplicationData目录只给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权限
其它盘,有安装程序运行的给Administrators和SYSTEM权限,无只给Administrators权限。
2、删除WindowsServer2003默认共享
是在安装服务器的时候,把系统安装分区自动进行共享,虽然对其访问还需要超级用户的密码,但这是潜在的安全隐患,从服务器的安全考虑,最好关闭这个“默认共享”,以保证系统安全。
删除后开机又会自动建立。
首先编写如下内容的批处理文件:
@echooff
netshareC$/del
netshareD$/del
netshareE$/del
netshareF$/del
netshareadmin$/del
文件名为delshare.bat,放到启动项中,每次开机时会自动删除共享。
另外彻底删除默认共享的方法:
单击“开始/运行”,在运行窗口中输入“Regedit”,打开注册表编辑器,展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters”项,添加键值AutoShareServer(如果已存在则直接修改),类型为REG_DWORD,值为0。
这样就可以彻底关闭“默认共享”。
然后还是在这一窗口下再找到“AutoShareWks”项,也把键值由1改为0,关闭admin$共享。
最后到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa”项处找到“restrictanonymous”,将键值设为1,关闭IPC$共享。
注意:
本法必须重启机器,但一经改动就会永远停止共享。
停止服务法:
在“计算机管理”窗口中,单击展开左侧的“服务和应用程序”并选中其中的“服务”,此时右侧就列出了所有服务项目。
共享服务对应的名称是“Server”(在进程中的名称为services),找到后双击它,在弹出的“常规”标签中把“启动类型”由原来的“自动”更改为“已禁用”。
然后单击下面“服务状态”的“停止”按钮,
3、关闭不需要的服务
ComputerBrowser:
维护网络计算机更新,禁用
DistributedFileSystem:
局域网管理共享文件,不需要禁用
Distributedlinktrackingclient:
用于局域网更新连接信息,不需要禁用
Errorreportingservice:
禁止发送错误报告
MicrosoftSerch:
提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:
telnet服务和MicrosoftSerch用的,不需要禁用
Telnet、TCP\IPNetBIOSHelper
4、本地安全策略设置
开始菜单管理工具本地安全策略
A、本地策略审核策略(可选用)
审核策略更改成功失败
审核登录事件成功失败
审核对象访问失败
审核过程跟踪无审核
审核目录服务访问失败
审核特权使用失败
审核系统事件成功失败
审核账户登录事件成功失败
审核账户管理成功失败
B、本地策略——>用户权限分配
关闭系统:
只有Administrators组、其它全部删除。
通过终端服务拒绝登陆:
加入Guests、Users组
通过终端服务允许登陆:
只加入Administrators组,其他全部删除
C、本地策略——>安全选项
交互式登陆:
不显示上次的用户名启用
网络访问:
可匿名访问的共享全部删除
网络访问:
可匿名访问的命名管道全部删除
**网络访问:
可远程访问的注册表路径全部删除
**网络访问:
可远程访问的注册表路径和子路径全部删除
帐户:
重命名来宾帐户重命名一个帐户
(下面一项更改可能导致sqlserver不能使用)
帐户:
重命名系统管理员帐户重命名一个帐户
5、“组策略”设置
在运行中输入gpedit.msc回车,打开组策略编辑器
计算机配置管理模板系统关闭自动播放已启用所有驱动器
开始运行mountvol/e让移动硬盘能自动识别
计算机配置Windows设置安全设置账户策略账户锁定策略,将账户设为“三次登陆无效”,“锁定时间30分钟”,“复位锁定计数设为30分钟”。
计算机配置Windows设置在安全设置本地策略安全选项中将“不显示上次的用户名”设为启用
计算机配置Windows设置在安全设置本地策略用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。
如果你使用了A还要保留Aspnet账户。
清空远程可访问的注册表路径:
“算机配置→Windows设置→安全设置→本地策略→安全选项,在右侧窗口中找到“网络访问:
可远程访问的注册表路径”,然后在打开的窗口中、将可远程访问的注册表路径和子路径内容全部设置为空即可。
6、禁止下载
Internet信息服务(IIS)管理器→网站→属性→主目录→配置→添加
△可执行文件:
C:
\WINDOWS\twain_32.dll
△扩展名:
.(改成你要禁止的文件名)如.mdb
7、防止列出用户组和系统进程:
△开始→程序→管理工具→服务
△找到Workstation停止它、禁用它
8、卸载最不安全的组件:
△开始→运行→cmd→回车键
▲cmd里输入:
△regsvr32/uC:
\WINDOWS\system32\wshom.ocx
△delC:
\WINDOWS\system32\wshom.ocx
△regsvr32/uC:
\WINDOWS\system32\shell32.dll
△delC:
\WINDOWS\system32\shell32.dll
△也可以设置为禁止guests用户组访问
9、解除FSO上传程序小于200k限制:
△在服务里关闭IISadminservice服务
△打开C:
\WINDOWS\system32\inetsrv\MetaBase.xml
△找到ASPMaxRequestEntityAllowed
△将其修改为需要的值、默认为204800、即200K、把它修改为51200000(50M)、然后重启
IISadminservice服务
10、禁用IPC连接
打开CMD后输入如下命令即可进行连接:
netuse\\ip\ipc$"password"/user:
"usernqme"。
我们可以通过修改注册表来禁用IPC连接。
打开注册表编辑器。
找到如下组建HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接。
11、解决终端服务许可证过期的办法
如果你服务器上已经开着终端服务、那就在添加删除程序里删除终端服务和终端授权
服务
我的电脑--右键属性--远程---远程桌面、打勾、应用
△重启服务器、OK了、再也不会提示过期了
12、取消关机原因提示
△开始→运行→gpedit.msc
△打开组策略编辑器、依次展开
△计算机配置→管理模板→系统
△双击右侧窗口出现的(显示“关闭事件跟踪程序”)
△将(未配置)改为(已禁用)即可
13、防范拒绝服务攻击
禁止响应ICMP重定向报文。
此类报文有可能用以攻击,所以系统应该拒绝接受ICMP重定向报文。
"EnableICMPRedirects"=dword:
00000000
14、解除NetBios与TCP/IP协议的绑定
右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS
15、设置和管理账户
系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。
新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
16、删除"网络连接"里的协议和服务
在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),同时在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。
17启用windows连接防火墙,只开放web服务(80端口)。
启用防火墙和tcp/ip过滤,再serv-u开启一组端口映射80\20\21\2121\*以及serv-u端口组
18、iis配置(包括网站所在目录)
(1)新建自己的网站(*注意:
在应用程序设置中执行权限设为无,在需要的目录里再更改),目录不在系统盘
注:
为支持,将系统盘\Inetpub\wwwroot中的aspnet_client文件夹复制到web根目录下,并给web根目录加上users权限。
(2)删掉系统盘\inetpub目录
(3)删除不用的映射
(4)在"应用程序配置"里,只给必要的脚本执行权限:
ASP、ASPX。
设置调试为向客户端发送自定义的文本信息。
(5)在自定义HTTP错误选项里,有必要定义下譬如404,500等错误,不过有有时候为了调试程序,好知道程序出错在什么地方,建议只设置404就可以了。
(6)为网站创建系统用户
A.例如:
网站为,新建用户权限为guests。
然后在web站点属性里"目录安全性"---"身份验证和访问控制"里设置匿名访问使用下列Windows用户帐户"的用户名和密码都使用这个用户的信息。
(用户名:
主机名\)
B.给网站所在的磁盘目录添加用户,只给读取和写入的权限。
(7)应用程序池设置
我的网站使用的是默认应用程序池。
设置"内存回收":
这里的最大虚拟内存为:
1000M,最大使用的物理内存为256M,这样的设置几乎是没限制这个站点的性能的。
回收工作进程(分钟):
1440
在下列时间回收工作进程:
06:
00
19、终端服务默认端口号:
3389。
更改原因:
不想让非法用户连接到服务器进行登录实验。
当这台服务器托管在外时更不希望发生这种情况,呵呵,还没忘记2000的输入法漏洞吧?
更改方法:
(1)、第一处[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp],看到右边的PortNumber了吗?
在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。
(2)、第二处[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。
注册表删除WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、Shell.application
注册表改名adodb.stream、Scripting.Dictionary、Scripting.FileSystemObject
20、SQLServer2005配置
1)、安装MSSQL时使用混合模式,当然SA密码最好不能为空,在SQL2005中,可以对SA这个超级用户名进行修改或删除。
usemaster
ALTERLOGIN[sa]WITHNAME=[zxs]/*修改SA帐号*/
sp_password'111111','123456','sa'/*修改SA密码*/
使用以上命令可修改SA帐号,也可进行图形化的修改
使用安全的帐号策略。
对SA或等同用户进行最强的保护,当然,包括使用一个非常强壮的密码,如下图
这里可以看到SQL2005比SQL2000增强的地方了。
2)、SQL的认证有Windows身份认证和混合身份认证。
在2005中,登陆SQL可以使用indows身份认证和混合身份认证方便,如果不希望系统管理员接触数据库的话,可以在安全性==登录名是把系统帐号“BUILTIN\Administrators”删除。
当然,还有别的多余的帐号也可一同禁止,只需要在帐号==属性==状态中把是否允许连接到数据库引擎改为拒绝,还有登录改为禁用即可,不过这样的坏处就是当你忘了SA的密码时,我也没办法帮你啦。
也可用命令sp_change_users_login'report'搜索一下独立的帐户再删除
3)、管理扩展存储过程
删除不必要的存储过程,因为有些存储过程能很容易地被人利用起来提升权限或进行破坏。
如果你不需要扩展存储过程xp_cmdshell请把它去掉。
xp_cmdshell根本就是一个大后门。
如果不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下:
sp_OACreatesp_OADestroysp_OAGetErrorInfosp_OAGetProperty
sp_OAMethodsp_OASetPropertysp_OAStop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:
xp_regaddmultistringxp_regdeletekeyxp_regdeletevaluexp_regenumvalues
xp_regreadxp_regremovemultistringxp_regwrite
还有一些其他的扩展存储过程,你也最好检查检查。
在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
运行以下SQL语句可删除所有危险的SP。
DROPPROCEDUREsp_makewebtask
execmaster..sp_dropextendedprocxp_cmdshell/*命令行*/
execmaster..sp_dropextendedprocxp_dirtree/*可以展开你需要了解的目录,获得所有目录深度*/
execmaster..sp_dropextendedprocxp_fileexist/*用来确定一个文件是否存在*/
execmaster..sp_dropextendedprocxp_getnetname/*可以获得服务器名称*/
execmaster..sp_dropextendedprocxp_terminate_process
execmaster..sp_dropextendedprocsp_oamethod
execmaster..sp_dropextendedprocsp_oacreate
execmaster..sp_dropextendedprocxp_regaddmultistring
execmaster..sp_dropextendedprocxp_regdeletekey
execmaster..sp_dropextendedprocxp_regdeletevalue
execmaster..sp_dropextendedprocxp_regenumkeys
execmaster..sp_dropextendedprocxp_regenumvalues
execmaster..sp_dropextendedprocsp_add_job
execmaster..sp_dropextendedprocsp_addtask
execmaster..sp_dropextendedprocxp_regread
execmaster..sp_dropextendedprocxp_regwrite
execmaster..sp_dropextendedprocxp_readwebtask
execmaster..sp_dropextendedprocxp_makewebtask
execmaster..sp_dropextendedprocxp_regremovemultistring
execmaster..sp_dropextendedprocsp_OACreate
DROPPROCEDUREsp_addextendedproc
5)、SQLServer2005本身就具有加密功能,完全集成了一个密钥管理架构。
不过,最好远程网络连接时使用SSL来加密协议,这就需要一个证书来支持。
这里搜索一下就会有很多这方面的说明,就不多说了。
6)、使用IPSec策略阻止所有地址访问本机的TCP1433与UDP1434端口,也可对TCP1433端口进行修改,但是在SQL2005中,可以使用TCP动态端口,(在SQLServerConfigurationManager的SQL2005网络配置中)如下图
这是SQL帮助中的说明
如果某个SQLServer实例已配置为侦听动态端口,则在启动时,该实例将检查操作系统中的可用端口,并为该端口打开一个端点。
传入连接必须指定要连接的端口号。
由于每次启动SQLServer时端口号都可能会改变,因此SQLServer提供SQLServer浏览器服务器,来监视端口并将传入连接指向该实例的当前端口。
也可对每个IP进行侦听
这是SQL帮助中的说明
指定SQLServer是否侦听所有绑定到计算机网卡的IP地址。
如果设置为“否”,则使用每个IP地址各自的属性对话框对各个IP地址进行配置。
如果设置为“是”,则IPAll属性框的设置将应用于所有IP地址。
默认值为“是”。
当然你也可以下面的SQLNativeClient配置中新建一别名来指定你的SQL服务器和端口,也可在服务器属性==连接==远程服务器链接==把允许远程链接到本服务器的勾去掉
关闭远程链接命令行为
EXECsys.sp_configureN'remoteaccess',N'0'
8)、对远程网络连接进行IP限制,SQLServer2005如同SQL2000一样没有提供网络连接的安全解决办法,但是Windows2K以上系统了提供了IPSec策略。
对远程网络连接的IP进行限制,只保证需要的IP能够访问,拒绝其他IP进行的端口连接,把安全威胁降到最低。
9)、在服务器的属性安全中,启用登录审核中的失败与成功登陆,启用C2审核跟踪,C2是一个政府安全等级,它保证系统能够保护资源并具有足够的审核能力。
C2模式允许我们监视对所有数据库实体的所有访问企图。
如图
启用C2审核的命令为
EXECsys.sp_configureN'c2auditmode',N'1'
补充:
使用Server2003登录网站后台,WEBEDIT不显示时,启用IE中的Scriptlet