论坛风格切换切换到宽版
  • 2638阅读
  • 0回复

设置安全的windows2003虚拟主机服务器 [复制链接]

上一主题 下一主题
离线admin
 

发帖
17319
金钱
88512080
威望
88
贡献值
20070
只看楼主 倒序阅读 使用道具 0 发表于: 2010-09-23
设置安全的windows2003虚拟主机服务器
 
1.   权限设置(着重讲解系统盘设置)


点击 "用在此显示的可以应用到子对象的项目替代所有子对象的权限项目"
B-1


提供ASP环境支持
 
安装MSSQL,则给
C:\Program Files\Microsoft SQL Server\* 目录下所有文件 administrators组权限,安装其他JPEG,ASPUPLOAD等,则加入 users读取运行权限即可;
C:\Program Files\Internet Explorer\iexplore.exe,只给administrators组权限即可;




为系统目录设置权限

C:\WINDOWS\repair 去掉USERS组,添加GUEST组(具体指网站访问用户所在组) [列出文件夹/读取数据 :拒绝]
C:\WINDOWS\system32\config 添加GUEST组(具体指网站访问用户所在组) [列出文件夹/读取数据 :拒绝]

 
设置完以上后,用如下批处理来设置关键EXE程序权限
Cacls.exe %SystemRoot%\System32\cmd.exe  /e /R system users administrators /G 改为自己的管理员名:F
Cacls.exe %SystemRoot%\System32\net.exe  /e /R system users administrators /G 改为自己的管理员名:F
Cacls.exe %SystemRoot%\System32\net1.exe  /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\System32\regsvr32.exe /e /R system users administrators /G 改为自己的管理员名:F  
Cacls.exe %SystemRoot%\System32\telnet.exe  /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\System32\regedt32.exe /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\System32\ftp.exe /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\System32\taskmgr.exe /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\System32\taskkill.exe /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\System32\tasklist.exe /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\System32\format.com /e /R system users administrators /G 改为自己的管理员名:F
cacls.exe %SystemRoot%\regedit.exe /e /R system users 【此命令必须给administrators组,否则主机管理平台无法注册开通】
cacls.exe %SystemRoot%\System32\cacls.exe /e /R system users 【此命令必须给administrators组,否则开通空间后FTP权限无法继承】
 
设置完毕后,
手动为以上除了 regedit.exe 与 cacls.exe 外的其他EXE添加 SYSTEM组拒绝权限;
手动为CMD.EXE与shell32.dll 额外添加 guest组 拒绝权限;
 
系统环境辅助权限设置:
。NET目录权限 C:\WINDOWS\Microsoft.NET(users读取/运行)\Framework\版本号\Temporary ASP.NET Files(添加aspnet与iis_wpg 修改/读取/运行权限)
SVER-U在服务器开启防火墙的情况下,让客户端不修改设置也能登录呢?
解决方法:在例外里面添加Serv-U目录的ServUDaemon.exe,并且在防火墙的-高级-本地连接设置将“FTP服务器”的勾选取消。将本地连接的“FTP服务器”取消才能使用FEAT命令呢?这个要问MS才知道,我估计是MS不想让用户使用非IIS的FTP吧。。【完毕后重新启动serv-u服务】
(删除恶意脚本)格式bat
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINDOWS\system32\shell32.dll
(系统性能提升) 格式reg
 
Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsMenu"=hex:01,00,00,00
"NoRecentDocsHistory"=hex:01,00,00,00
 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DontDisplayLastUserName"="1"
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000001
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Parameters]
"AutoShareServer"=dword:00000000
"AutoShareWks"=dword:00000000
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableICMPRedirect"=dword:00000000
"KeepAliveTime"=dword:000927c0
"SynAttackProtect"=dword:00000002
"TcpMaxHalfOpen"=dword:000001f4
"TcpMaxHalfOpenRetried"=dword:00000190
"TcpMaxConnectResponseRetransmissions"=dword:00000001
"TcpMaxDataRetransmissions"=dword:00000003
"TCPMaxPortsExhausted"=dword:00000005
"DisableIPSourceRouting"=dword:00000002
"TcpTimedWaitDelay"=dword:0000001e
"TcpNumConnections"=dword:00004e20
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"PerformRouterDiscovery"=dword:00000000
"EnableICMPRedirects"=dword:00000000
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"BacklogIncrement"=dword:00000005
"MaxConnBackLog"=dword:000007d0
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
"EnableDynamicBacklog"=dword:00000001
"MinimumDynamicBacklog"=dword:00000014
"MaximumDynamicBacklog"=dword:00007530
"DynamicBacklogGrowthDelta"=dword:0000000a
 
单独注册表设置
设置终端权限
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\RDPDR 把everyone删掉,并且设置system的权限为只读。然后加入管理员组完全控制权限。
SAM权限
HKEY_LOCAL_MACHINE\SAM\SAM 去掉eveyone权限
MSSQL
删除与恢复可疑扩展
exec sp_dropextendedproc 'xp_cmdshell'   [删除此项扩展后,将无法远程连接数据库]
exec sp_dropextendedproc 'xp_dirtree'    [删除此项扩展后,将无法新建或附加数据库]
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives' [删除此项扩展后,将无法还原数据库]
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_regaddmultistring'
exec sp_dropextendedproc 'xp_regdeletekey'
exec sp_dropextendedproc 'xp_regdeletevalue'
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_regread' [删除此项扩展后, 还原数据库辅助]
exec sp_dropextendedproc 'xp_regremovemultistring'
exec sp_dropextendedproc 'xp_regwrite'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'xp_regenumvalues'
恢复扩展
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
EXEC sp_addextendedproc 'Sp_OACreate', 'xpstar.dll'
EXEC sp_addextendedproc 'Sp_OADestroy', 'xpstar.dll'
EXEC sp_addextendedproc 'Sp_OAGetErrorInfo', 'xpstar.dll'
EXEC sp_addextendedproc 'Sp_OAGetProperty', 'xpstar.dll'
EXEC sp_addextendedproc 'Sp_OAMethod', 'xpstar.dll'
EXEC sp_addextendedproc 'Sp_OASetProperty', 'xpstar.dll'
EXEC sp_addextendedproc 'Sp_OAStop', 'xpstar.dll'
exec sp_addextendedproc 'xp_regread', 'xpstar.dll'
exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
 
解决SERVER 2003不能上传大附件的问题:
在服务里关闭 iis admin service 服务。
找到 windows\system32\inetsrv\ 下的 metabase.xml 文件。
用纯文本方式打开,找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(可修改为10M即:10240000),默认为:204800,即:200K。
存盘,然后重启 iis admin service 服务。
PHp环境常见参数配置
一些朋友经常反映无法上传较大的文件或者运行某些程序经常超时,那么可以找到C:\Windows ( Windows 2000 下为 C:\WINNT)目录下的PHP.INI以下内容修改:
max_execution_time = 30 ; 这个是每个脚本运行的最长时间,可以自己修改加长,单位秒
max_input_time = 60 ; 这是每个脚本可以消耗的时间,单位也是秒
memory_limit = 8M ; 这个是脚本运行最大消耗的内存,也可以自己加大
upload_max_filesize = 2M ; 上载文件的最大许可大小 ,自己改吧,一些图片论坛需要这个更大的值
PHP超过最大执行时间设置
当php程序访问出现类似 Fatal error: Maximum execution time of 30 seco...
说明php超过最大执行时间,可以修改php.ini,将max_execution_time = 300或者更多
改为0则为不限制
PHP时间函数问题
由ASP转到PHP。ASP里使用now()返回服务器的当前时间,查了一下PHP手册,是用date函数,格式化成相应的时间应该是date('Y-m-d H:m:s');,可是试了一下发现返回的不是服务器当前时间,难道是格林威治时间?怎么可以转化成服务器当前时间呢?
php默认时间显示是UTC 将其设置修改为PRC即可,如下:
打开php.ini,设置 date.timezone = PRC,重新启动IIS即可!
 
safe_mode = Off 【如果为 on,phpcms将无法正常生成】
disable_functions = passthru,exec,system,phpinfo,popen,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
 
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
 
上一个 下一个