搜索
Hi~登录注册
查看: 2432|回复: 0

VPS(win2003)安全设置教程

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-1-12 10:55:09 | 显示全部楼层 |阅读模式
VPS(win2003)安全设置教程 一、禁止默认共享。 方法一:建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中
net share c$ /del net share d$ /del net share e$ /del net share f$ /del net share ipc$ /del net share admin$ /del
方法二:修改注册表,(注意修改注册表前一定要先备份一下注册表,备份方法。在运行>regedit,选择 文件》导出,取个文件名,导出即可,如果修改注册表失败,可以找到导出的注册表文件双击运行即可。) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 新建 “DWORD值”值名为 “AutoShareWks” 数据值为“0”
二、远程桌面连接配置。 开始 > 程序 > 管理工具 > 终端服务配置 > 连接 选择右侧”RDP-tcp”连接右击 属性 > 权限 删除(除system外)所有用户组添加单一的允许使用的管理员账户,这样即使服务器被创建了其它的管理员.也无法使用终端服务。 三、serv_u安全设置(注意一定要设置管理密码,否则会被提权) ①打开serv_u,点击“本地服务“,在右边点击”设置/更改密码“,如果没有设置密码,”旧密码“为空,填好新密码点击”确定“。 ②另外,建议修改本地管理端口.只需要在ServUDaemon.ini中的[global]里加上一行LocalSetupPortNo=端口号,即可
四、关闭139、445端口 ①控制面板-网络-本地链接-属性(这里勾选取消"网络文件和打印机共享")-tcp/ip协议属性-高级-WINS-Netbios设置-禁用Netbios,即可关闭139端口. ②关闭445端口(注意修改注册表前一定要先备份一下注册表,备份方法。在 运行>regedit,选择文件》导出,取个文件名,导出即可,如果修改注册表失败,可以找到导出的注册表文件双击运行即可。) HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\netBT\Parameters 新建 “DWORD值”值名为 “SMBDeviceEnabled” 数据为默认值“0” 五、删除不安全组件 WScript.Shell 、Shell.application 这两个组件一般一些ASP木马或一些恶意程序都会使用到。方法:在“运行”里面分别输入以下命令 ①regsvr32 /u wshom.ocx 卸载WScript.Shell 组件 ②regsvr32 /u shell32.dll 卸载Shell.application 组件。 ③regsvr32 /u %windir%\system32\Wshext.dll 如果程序不使用fso对象,建议最好也卸载fso组件,需要的时候再重新注册。 Regsvr32 /u scrrun.dll 六、设置iis权限。 针对每个网站单独建立一个用户。 ①首先,右击“我的电脑”》管理》本地计算机和组》用户,在右边。右击“新用户”,建立新用户,并设置好密码。如图:例如:添加test为某一网站访问用户。 ②设置站点文件夹权限然后,打开internet信息服务管理器。找到相应站点。右击,选择“权限”如图:选择权限后,如下图:只保留一个超级管理员(可以自己定义),而不是管理员组。和系统用户(system),还有添加的网站用户。可以点击“添加”将刚才在系统创建的用户添加里面(如test)。然后只给该用户(test)读取和运行、浏览目录、读取的权限。其它权限不用给。另外超级管员也不给写入权限,系统用户(system)去掉“完全控制”权限。设置后点确定。 ③设置访问用户。右击 站点 属性》目录安全性》编辑, 将刚才添加的用户(如test)添加到匿名访问用户。密码和原来密码一致。设置站点访问权限。右击要设置的站点。属性》主目录 本地路径下面只选中 读取 记录访问 索引资源其它都不要选择。执行权限 选择性“纯脚本”.不要选择“脚本和可执行文件”。如图所示:其它设置和就是iis站点的一般设置,不再多说。注意:对于 ASP.NET 程序,则需要设置 IIS_WPG 组的帐号权限,上传目录的权限设置:用户的网站上可能会设置一个或几个目录允许上传文件,上传的方式一般是通过 ASP、PHP、ASP.NET 等程序来完成。这时需要注意,一定要将上传目录的执行权限设为“无”,这样即使上传了 ASP、PHP 等脚本程序或者 exe 程序,也不会在用户浏览器里就触发执行将(纯脚本)改成(无). 七、数据库安全设置 一定要设置数据库密码。另外。对于sql数据库建议卸载扩展存储过程xp_cmdshell xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。请把它去掉。使用这个SQL语句: use master sp_dropextendedproc 'xp_cmdshell' 如果你需要这个存储过程,请用这个语句也可以恢复过来。 sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'












在“网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里——“NetBIOS”设置“禁用tcp/IP上的NetBIOS(S)”。在高级选项里,使用“Internet连接防火墙”,这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。 一、修改3389远程连接端口修改注册表。开始——运行——regedit 依次展开 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/WDS/RDPWD/TDS/TCP。右边键值中 PortNumber 改为你想用的端口号。注意使用十进制(例 10000)依次展开 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/WINSTATIONS/RDP-TCP/右边键值中 PortNumber 改为你想用的端口号。注意使用十进制(例 10000)注意:别忘了在WINDOWS2003自带的防火墙给+上10000端口。修改完毕,重新启动服务器,设置生效。 二、用户安全设置1、禁用Guest账号在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。 2、限制不必要的用户去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。 3、把系统Administrator账号改名大家都知道,Windows 2003 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。 4、创建一个陷阱用户什么是陷阱用户?即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。 5、把共享文件的权限从Everyone组改成授权用户任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。 6、开启用户策略使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选) 7、不让系统显示上次登录的用户名默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的键值改成1。 密码安全设置 1、使用安全密码一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简单,比如“welcome”等等。因此,要注意密码的复杂性,还要记住经常改密码。 2、设置屏幕保护密码这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。 3、开启密码策略注意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位 ,设置强制密码历史为5次,时间为42天。 4、考虑使用智能卡来代替密码对于密码,总是使安全管理员进退两难,密码设置简单容易受到黑客的攻击,密码设置复杂又容易忘记。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。 三、系统权限的设置1、磁盘权限
  • 系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限
  • 系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限
  • 系统盘\Documents and Settings\All Users 目录只给 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、format.com、del文件只给 Administrators 组和SYSTEM 的完全 控制权限
  • 另将\System32\cmd.exe、format.com、ftp.exe转移到其他目录或更名
  • Documents and Settings下所有些目录都设置只给adinistrators权限。并且要一个一个目录查看,包括下面的所有子目录。
  • 删除c:\inetpub目录
2、本地安全策略设置开始菜单—〉管理工具—〉本地安全策略 A、本地策略——〉审核策略审核策略更改   成功 失败审核登录事件   成功 失败审核对象访问      失败审核过程跟踪   无审核审核目录服务访问    失败审核特权使用      失败审核系统事件   成功 失败审核账户登录事件 成功 失败审核账户管理   成功 失败 B、本地策略——〉用户权限分配关闭系统:只有Administrators组、其它全部删除。通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除 C、本地策略——〉安全选项交互式登陆:不显示上次的用户名       启用网络访问:不允许SAM帐户和共享的匿名枚举  启用网络访问:不允许为网络身份验证储存凭证   启用网络访问:可匿名访问的共享         全部删除网络访问:可匿名访问的命          全部删除网络访问:可远程访问的注册表路径      全部删除网络访问:可远程访问的注册表路径和子路径  全部删除帐户:重命名来宾帐户            重命名一个帐户帐户:重命名系统管理员帐户         重命名一个帐户 3、禁用不必要的服务 开始-运行-services.msc TCP/IPNetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享文件、打印和登录到网络 Server支持此计算机通过网络的文件、打印、和命名管道共享 Computer Browser 维护网络上计算机的最新列表以及提供这个列表 Task scheduler 允许程序在指定时间运行 Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息 Distributed File System: 局域网管理共享文件,不需要可禁用 Distributed linktracking client:用于局域网更新连接信息,不需要可禁用 Error reporting service:禁止发送错误报告 Microsoft Serch:提供快速的单词搜索,不需要可禁用 NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要可禁用 PrintSpooler:如果没有打印机可禁用 Remote Registry:禁止远程修改注册表 Remote Desktop Help Session Manager:禁止远程协助 Workstation 关闭的话远程NET命令列不出用户组以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。 4、修改注册表 修改注册表,让系统更强壮 1、隐藏重要文件/目录可以修改注册表实现完全隐藏 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL“,鼠标右击 ”CheckedValue“,选择修改,把数值由1改为0 2、防止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 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、禁止IPC空连接: cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。 Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成“1”即可。 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:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦 8. 删除默认共享有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可 9. 禁止建立空连接默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接: Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成“1”即可。 10、建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中
net share c$Content$nbsp;/del net share d$Content$nbsp;/del net share e$Content$nbsp;/del net share f$Content$nbsp;/del net share ipc$Content$nbsp;/del net share admin$Content$nbsp;/del
5、IIS站点设置:
  • 将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。
  • 启用父级路径
  • 在IIS管理器中删除必须之外的任何没有用到的映射(保留asp等必要映射即可)
  • 在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件
Web站点权限设定(建议) 读 允许写 不允许脚本源访问 不允许目录浏览 建议关闭日志访问 建议关闭索引资源 建议关闭执行 推荐选择 “仅限于脚本” 6、建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。 7、程序安全: 1) 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限; 2) 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。3) 防止ASP主页.inc文件泄露问题; 4) 防止UE等编辑器生成some.asp.bak文件泄露问题。 6、IIS权限设置的思路要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。 7、卸载最不安全的组件最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ )   regsvr32/u C:\WINDOWS\System32\wshom.ocxdel C:\WINDOWS\System32\wshom.ocxregsvr32/u C:\WINDOWS\system32\shell32.dlldel C:\WINNT\WINDOWS\shell32.dll然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”。  










公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表