服务器自动备份目录并删除旧备份批处理

xcopy "D:\www" "D:\backup\%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%-%time:~3,2%-%time:~6,2%\" /H/E/Y/V
forfiles /P D:\backup /D -7 /C "cmd /c if @isdir==TRUE rd /s /q @path"

第一行:复制D:\www目录下所有文件至D:\backup目录下并以当前日期时间命名目录
第二行:删除D:\backup目录下7天之前的备份

使用方法:将命令保存为BAT格式文件并添加到计划任务中。

最全的微软MSDN Windows原版系统镜像下载

MSDN 的全称是 Microsoft Developer Network。这是微软公司面向软件开发者的一种信息服务。MSDN 实际上是一个以 Visual Studio 和 Windows 平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、Blog、BBS、MSDN WebCast、与 CMP 合作的 MSDN 杂志等等一系列服务。

Windows 98 Second Edition 简体中文版
Windows 2000 Professional 简体中文版
Windows Me 简体中文版
Windows XP Professional SP3 简体中文版
Windows XP Tablet PC Edition 2005 简体中文版 -=CD1=- -=CD2=-
Windows XP Media Center Edition 2005 简体中文版 -=CD1=- -=CD2=-
Windows Server 2003 R2 Enterprise Edition SP2 简体中文版(32位) -=CD1=- -=CD2=-
Windows Server 2003 R2 Enterprise Edition SP2 简体中文版(64位) -=CD1=- -=CD2=-
Windows Vista 简体中文版(32位)
Windows Vista 简体中文版(64位)
Windows Server 2008 Datacenter, Enterprise and Standard 简体中文版(32位)
Windows Server 2008 Datacenter, Enterprise and Standard 简体中文版(64位)
Windows Server 2008 R2 Standard, Enterprise, Datacenter and Web 简体中文版(64位)
Windows 7 Ultimate 简体中文版(32位)
Windows 7 Ultimate 简体中文版(64位)
Win7 安装过程中已不提供版本选择,安装后你的版本由密钥决定,如果你的密钥是低版本的,那么输入密钥后会自动屏蔽高版本的功能,如果你要升级版本,只须输入高版本的密钥,即可拥有高版本的功能,这样升级版本时就很方便了。如果你在安装时要选择版本,只要将安装镜像下Sources目录下ei.cfg文件删除即可!
Windows 8.1 Pro VL 简体中文版(32位)
Windows 8.1 Pro VL 简体中文版(64位)
Win10正式版简体中文版(含家庭版、专业版)(32位)
Win10正式版简体中文版(含家庭版、专业版)(64位)

IIS的站点属性

Read only properties of W3SVC/1/Root:             // 只读属性

AppIsolated = 2             属性指出应用程序是在进程内、进程外还是在进程池中运行。值 0 表示应用程序在进程内运行,值 1 表示进程外,值 2 表示进程池。

AppPackageID =           为事务提供 COM+ 应用程序标识符 (ID)。此 ID 在由组件服务管理的所有事务中使用。

AppPackageName =      为事务提供 COM+ 应用程序名。

AppRoot = /LM/W3SVC/1/ROOT 包含到应用程序根目录的配置数据库路径。

Caption =              提供对象的一段简短文本描述(一行字符串)。

Description =         提供对象的一段较长文本描述。

InstallDate =          表示安装对象的时间。缺少值并不表示对象没有安装。

Name = W3SVC/1/ROOT     定义了用来识别对象的标签。创建子类时,可以将 Name 属性改写为 Key 属性。

Status =         表示对象当前状态。各种可操作的和不可操作的状态都可以被定义。可操作的状态为“正常”、“已降级”和“预见故障”。“预见故障”表示一个组件可能运行正常但预计很快会出现故障。例如,启用 SMART 的硬盘。还可指定不可操作的状态。这些状态为“错误”、“启动”、“停止”和“服务”。后者(即“服务”)可用于磁盘镜像过程、重新加载用户权限列表其他管理作业。并不是所有这类作业都联机;所以,被管理的组件不是“正常”状态处于任何其他状态。

 

Read/Write properties of W3SVC/1/Root:            // 可读/可写

AccessExecute = False  值 true 表示不论文件类型是什么,文件文件夹的内容都可以执行。

AccessFlags = 513 包含有用于配置文件访问权限的标志

AccessNoPhysicalDir = False

AccessNoRemoteExecute = False 值 true 表示拒绝远程请求执行应用程序;如果将 AccessExecute 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteExecute 设置为 false 来启用远程请求,将 AccessExecute 设置为 false 来禁止本地请求。

AccessNoRemoteRead = False      值 true 表示拒绝远程请求查看文件;如果将 AccessRead 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteRead 设置为 false 来启用远程请求,将 AccessRead 设置为 false 来禁止本地请求。

AccessNoRemoteScript = False    值 true 表示拒绝远程请求查看动态内容;如果将 AccessScript 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteScript 设置为 false 来启用远程请求,将 AccessScript 设置为 false 来禁止本地请求。

AccessNoRemoteWrite = False     值 true 表示拒绝远程请求创建更改文件;如果将 AccessWrite 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteWrite 设置为 false 来启用远程请求,将 AccessWrite 设置为 false 来禁止本地请求。

AccessRead = True              值 true 表示可通过 Microsoft Internet Explorer 读取文件文件夹的内容。

AccessScript = True             值 true 表示如果是脚本文件静态内容,则可以执行文件文件夹的内容。值 false 只允许提供静态文件,如 HTML 文件。

AccessSource = False           值 true 表示如果设置了读取写入权限,则允许用户访问源代码。源代码包括 Microsoft® Active Server Pages (ASP) 应用程序中的脚本。

AccessSSL = False        值 true 表示文件访问需要带有不带有客户端证书的 SSL 文件权限处理。

AccessSSL128 = False         值 true 表示文件访问需要至少 128 位密钥、带有不带有客户端证书的 SSL 文件权限处理。

AccessSSLFlags = 0             默认值 0 表示未设置任何 SSL 权限。

AccessSSLMapCert = False  值 true 表示 SSL 文件权限处理将客户端证书映射到 Microsoft Windows® 操作系统的用户帐户上。要实现映射,必须将 AccessSSLNegotiateCert 属性设置成 true。

AccessSSLNegotiateCert = False  值 true 表示 SSL 文件访问处理从客户端请求证书。值 false 表示如果客户端没有证书,仍可继续访问。如果服务器请求证书但证书不可用(即使也将 AccessSSLRequireCert 设成 true),某些版本的 Internet Explorer 将关闭连接。

AccessSSLRequireCert = False     值 true 表示 SSL 文件访问处理从客户端请求证书。如果客户端没有提供证书,连接会关闭。当使用 AccessSSLRequireCert 时,必须将 AccessSSLNegotiateCert 设成 true。

AccessWrite = False             值 true 表示允许用户将文件及其相关属性上载到服务器上已启用的目录中,者更改可写文件的内容。只有使用支持 HTTP 1.1 协议标准的 PUT 功能的浏览器,才能执行写入操作。

AdminACLBin =                   由 Microsoft® Exchange Server 使用

AnonymousPasswordSync = True       指出 IIS 是否应该为试图访问资源的匿名用户处理用户密码。下表列出了该属性行为的详细说明:如果将 AnonymousPasswordSync 设置为 false,管理员必须手动设置匿名用户密码的 AnonymousUserPass 属性;否则匿名访问将无法正常工作。 如果将 AnonymousPasswordSync 设置为 true,将由 IIS 设置匿名用户密码。 如果将 AnonymousPasswordSync 设置为 true 并且配置数据库属性 AllowAnonymous 值为 false,则不允许任何用户登录到 FTP 服务器。

AnonymousUserName = IUSR_COMPUTERNAME    指定用来验证匿名用户的已注册的本地用户名。服务器将每个服务器操作与用户名和密码关联起来。

AnonymousUserPass = XXXXXXXXXXXX      指定用来验证匿名用户的已注册的本地用户密码。服务器将每个服务器操作与用户名和密码关联起来。

AppAllowClientDebug = False       指定是否允许客户端调试。该属性与应用于服务器端调试的 AppAllowDebugging 无关。

AppAllowDebugging = False  指定是否允许在服务器上进行 ASP 调试。该属性与应用于客户端调试的 AppAllowClientDebug 属性无关。

AppFriendlyName = 默认应用程序     软件包应用程序的用户好记名称

AppOopRecoverLimit = -1           进程外应用程序在出现故障后重新启动的最大次数。服务器不会响应超出该范围的组件请求。该属性不适用于进程内运行的应用程序扩展。

AppPoolId = ASP.NET V2.0  应用程序在其中路由的应用程序池

AppWamClsid =                   为应用程序的 Web 应用程序管理 (WAM) 接口提供类 ID

AspAllowOutOfProcComponents = True     在 IIS 4.0 中,AspAllowOutOfProcComponents 属性指定是否允许 ASP 脚本调用进程外组件,这些组件是在应用程序内启动的可执行程序。在 IIS 5.0 中,该属性已过时,并且属性值将被忽略。但是,使用该属性的脚本仍然可以正常运行。

AspAllowSessionState = True       启用 ASP 应用程序会话状态持续性。如果将该值设置为 true,那么服务器将为每个连接创建 Session 对象,可访问会话状态,允许会话存储,出现 Session_OnStart 和 Session_OnEnd 事件,并且发送 ASPSessionID Cookie 到客户端。如果将该值设置为 false,那么不允许状态访问和存储,事件将不进行处理,并且也不发送 Cookie。

AspAppServiceFlags = 0              包含在 IIS 应用程序上启用 COM+ 服务所必须要设置的标志

AspBufferingLimit = 4194304       设置 ASP 缓冲区的最大大小。如果启动了响应缓冲,该属性将控制在进行刷新前 ASP 页面可以向响应缓冲区写入的最大字节数

AspBufferingOn = True        ASP 应用程序的输出是否需要缓冲

AspCalcLineNumber = True  ASP 是否计算和存储已执行代码的行号,以便在错误报告中提供

AspCodepage = 0                 为应用程序指定默认的代码页

AspDiskTemplateCacheDirectory = %windir%\system32\inetsrv\ASP Comp     目录的名称,该目录是 ASP 在存储器内的缓存溢出后,用来将已编译的 ASP 模板存储到磁盘的目录

AspEnableApplicationRestart = True     确定 ASP 应用程序能否自动重新启动

AspEnableAspHtmlFallback = False      当由于请求队列已满而拒绝新的请求时,AspEnableAspHtmlFallback 属性控制 ASP 的行为。将该属性设置为 true,将导致发送与请求的 .asp 文件名称类似的 .htm 文件(如果存在),而不是发送 .asp 文件。.htm 文件的命名约定是 .asp 文件名之后附加一个 _asp。例如,.asp 文件是 hello.asp,那么 .htm 文件应该是 hello_asp.htm。

AspEnableChunkedEncoding = True            指定是否为万维网发布服务(WWW 服务)启动 HTTP 1.1 chunked 传输编码

AspEnableParentPaths = False             页面是否允许当前目录的相对路径(使用 ..\ 表示法)。

AspEnableSxs = False                  值 true 将启动 COM+ 并排集合,该程序集允许 ASP 应用程序指定要使用哪个版本的系统 DLL 传统 COM 组件,例如 MDAC、MFS、MSVCRT、MSXML 等等。

AspEnableTracker = False            值 true 将启动 COM+ 跟踪器,管理员开发人员可用其来调试 ASP 应用程序。

AspEnableTypelibCache = True            是否在服务器上缓存类型库

AspErrorsToNTLog = False         是否将 IIS 脚本错误写入到 Windows 事件日志中

AspExceptionCatchEnable = True        页面是否捕获组件产生的异常。如果设置为 false (者禁用),那么 Microsoft 脚本调试程序工具将不捕捉所调试的组件发生的异常。

AspExecuteInMTA = 0                 ASP 能够在一个多线程单元 (MTA) 中运行其全部线程。如果 COM 组件主要是自由线程双线程组件,则将 ASP 线程作为 MTA 运行可显著改善性能。默认情况下,AspExecuteInMTA 属性设置为 0,这意味着 ASP 不在 MTA 中执行。在应用程序级别上将该属性设置为 1 可以使 ASP 在 MTA 中运行。

AspKeepSessionIDSecure = 0              启用 AspKeepSessionIDSecure 属性后,它可以确保将 SessionID 作为安全 Cookie 发送(如果已在安全通道上分配的话)。

AspLCID = 2048                         用程序指定默认的区域设置标识符 (LCID)。

AspLogErrorRequests = True              控制 Web 服务器是否将失败的客户请求写入到 Windows 事件日志文件中

AspMaxDiskTemplateCacheFiles = 2000      指定存储已编译 ASP 模板的最大数量。存储已编译模板的目录由 AspDiskTemplateCacheDirectory 属性配置。

AspMaxRequestEntityAllowed = 204800      指定一个 ASP 请求的实体正文中允许的最多字节数。

AspPartitionID =                  COM+ 分区用于将 Web 应用程序隔离到其各自的 COM+ 分区。COM+ 分区保存不同的自定义 COM 组件的版本。将 AspPartitionID 属性设置为 COM+ 分区的全局唯一标识符 (GUID)。同时,设置 AspAppServiceFlags 配置数据库属性的 AspUsePartition 标志。在应用程序级别设置这两个属性

AspProcessorThreadMax = 25             指定 IIS 可创建的每个处理器的最大工作线程数

AspQueueConnectionTestTime = 3              IIS 将所有的 ASP 请求放置到队列中。如果请求在队列中等待的时间比 AspQueueConnectionTestTime 属性指定的时间(以秒为单位)长,则 ASP 将在执行请求前检查确定客户端是否仍是连接的。如果客户端已断开连接,则不处理该请求并且从队列中删除该请求。

AspQueueTimeout = -1                允许 ASP 脚本请求在队列中等待的时间(以秒为单位)。无穷大表示为 -1。

AspRequestQueueMax = 3000             允许进入队列的并发 ASP 请求的最大数目。在队列占满时,任何试图请求 ASP 文件的客户端浏览器都将收到 HTTP 500“服务器太忙”的错误。

AspRunOnEndAnonymously = True            指定了 SessionOnEnd 和 ApplicationOnEnd 全局 ASP 函数是否应该作为匿名用户运行

AspScriptEngineCacheMax = 250        页面将在内存中保持缓存的脚本引擎的最大数目

AspScriptErrorMessage = 处理 URL 时服务器出错。请与系统管理员联系。    特殊调试错误没有被发送到客户端时(如果将 AspScriptErrorSentToBrowser 设置成 false)将发送给浏览器的错误消息

AspScriptErrorSentToBrowser = True  Web 服务器是否将调试细节(文件名、错误、行号、描述)写到客户端浏览器,并且记录到 Windows 事件日志中

AspScriptFileCacheSize = 500             要缓存的预编译脚本文件数。如果设置为 0,则不缓存任何脚本文件

AspScriptLanguage = VBScript            运行在 Web 服务器上的所有 ASP 应用程序的默认脚本语言

AspScriptTimeout = 90                AspScriptTimeout 属性指定了在终止脚本和将事件写入 Windows 事件日志之前,ASP 页面允许的脚本运行时间的默认值(以秒为单位)。

AspSessionMax = -1                    IIS 允许的最大并发会话数。当达到该限制时,如果客户端试图与 IIS 建立新连接,则客户端将接收到错误信息(HTTP 500“服务器太忙”)。无穷大表示为 -1。

AspSessionTimeout = 20                     完成最后的与 Session 对象相关的请求后,保留该对象的时间(以分钟为单位)。

AspSxsName =             启动并行 (SxS) 程序集。并行 (SxS) 程序集允许 ASP 应用程序指定要使用哪个版本的系统 DLL 传统 COM 组件,例如 MDAC、MFS、MSVCRT、MSXML 等。

AspTrackThreadingModel = False        IIS 是否检查应用程序创建的任意组件的线程模块。

AspUsePartition = False        值 true 将启动 COM+ 分区,可用其将 Web 应用程序隔离到各自的 COM+ 分区。COM+ 分区可拥有不同的自定义 COM 组件的版本。如果设置该标志,请同时设置 AspPartitionID 配置数据库属性。

AuthAdvNotifyDisable = True              禁用密码到期预先通知

AuthAnonymous = True               指定匿名身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthBasic = False                 指定基本身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthChangeDisable = True           禁止更改密码

AuthChangeUnsecure = False              允许在不安全端口更改密码

AuthChangeURL = /iisadmpwd/achg.asp      用户输入新密码时被调用的 URL

AuthExpiredUnsecureURL = /iisadmpwd/aexp3.asp     用户密码到期时调用的 URL

AuthExpiredURL = /iisadmpwd/aexp.asp      用户密码到期时调用的 URL。将以安全的 (HTTPS) 方式调用它。

AuthFlags = 5                      作为有效方案返回给客户端的 Windows 验证方案的设置

AuthMD5 = False                        指定摘要式身份验证和高级摘要式身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthNotifyPwdExpUnsecureURL = /iisadmpwd/anot3.asp  包含一个特定的 URL:如果用户的密码在 PasswordExpirePreNotifyDays 中指定的天数前到期,则调用该 URL。

AuthNotifyPwdExpURL = /iisadmpwd/anot.asp   包含一个特定的 URL:如果用户的密码在 PasswordExpirePreNotifyDays 中指定的天数前到期,则调用该 URL。将以安全的 (HTTPS) 方式调用它。

AuthNTLM = True                      指定集成 Windows 身份验证(也称作质询/响应 NTLM 验证)作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthPassport = False                   true 的值表示启用了 Microsoft® .NET Passport 身份验证

AuthPersistence = 64                   指定了使用 NTLM 验证跨越连接上的请求时的验证持久性

AuthPersistSingleRequest = True         将该标志设置成 true 指定验证仅对一个连接上的单个请求持久。IIS 在每个请求的末尾重设验证,并且在会话的下一个请求上强制执行重验证。

AzEnable = False                  用于虚拟目录、应用程序,配置数据库中项相应的 URL 的 URL 授权。

AzImpersonationLevel = 0            用于应用程序的模拟行为,该模拟行为允许配置 Web 应用程序模拟客户端用户、IIS 工作进程,工作进程的 IUSER_* 帐户。

AzScopeName =                         将虚拟目录、应用程序 URL 与作用域相关联。如果没有指定作用域指定了空子符串,则使用 IIS 6.0 URL 授权的默认作用域。

AzStoreName =                           授权管理器策略存储与虚拟目录、应用程序 URL 相关联。

CacheControlCustom =                指定了自定义 HTTP 1.1 缓存控制指令

CacheControlMaxAge = 0                   指定了 HTTP 1.1 缓存控制最大时间值。

CacheControlNoCache = False             保护缓存内容的 HTTP 1.1 指令

CacheISAPI = True                     在第一次使用 ISAPI 扩展后是否在内存中进行缓存。

Caption =                            提供对象的一段简短文本描述(一行字符串)。

CGITimeout = 300               指定 CGI 应用程序超时(以秒为单位)。

ContentIndexed = True                指定安装的目录索引程序是否应该检索该目录树下的内容。

CreateCGIWithNewConsole = False            指示 CGI 应用程序是否在自己的控制台上运行。

CreateProcessAsUser = True        是在系统环境中创建 CGI 进程还是在请求用户环境中创建 CGI 进程。

DefaultDoc = index.aspx,default.aspx   包含一个多个默认文档的文件名,如果在客户端的请求中不包含文件名,将把默认文档的文件名返回给客户端。

DefaultDocFooter =                     附加到返回到客户端的 HTML 文件的自定义页脚(页脚并不附加到 ASP 文件)。

DefaultLogonDomain =                服务器用来对用户进行身份验证的默认域(在 UserIsolationMode = 2 的 Web 宿主方案中)。

Description =                       提供对象的一段较长文本描述。

DirBrowseFlags = 1073741886            可以提供多少目录和文件信息(如果启用浏览)以及目录中是否包含默认页的标记。

DirBrowseShowDate = True        设置为 true 时,浏览目录时将显示日期信息。

DirBrowseShowExtension = True        设置为 true 时,浏览目录时将显示文件扩展名。

DirBrowseShowLongDate = True        设置为 true 时,显示目录时将在扩展格式中显示日期信息。

DirBrowseShowSize = True         设置为 true 时,浏览目录时将显示文件大小信息。

DirBrowseShowTime = True        设置为 true 时,显示目录时将显示文件时间信息。

DisableStaticFileCache = False             目录的静态文件缓存

DoDynamicCompression = False         与 HcDoDynamicCompression 属性相同。

DontLog = False                         是否将客户端的请求写入日志文件。

DoStaticCompression = False              与 HcDoStaticCompression 属性相同。

EnableDefaultDoc = True                    设置为 true 时,浏览目录时系统会加载该目录的默认文档(由 De, faultDoc 属性指定)。

EnableDirBrowsing = False           设置为 true 时,将启用目录浏览。

EnableDocFooter = False                    启用禁用由 DefaultDocFooter 属性指定的自定义页脚。

EnableReverseDns = False            启用禁用万维网发布服务(WWW 服务)的反向域名服务器 (DNS) 查找。

FrontPageWeb = True                  服务器实例是否由 Microsoft® FrontPage® 处理。

使用SC命令远程开启计算机的服务

SC其实是一个命令工具而已,它具备开启计算机服务的功能,早期都把它认为是黑客工具,而在Windows 2003中将这个命令内置在操作系统中,可以使用它远程开启其他计算机的服务,包括了系统上已经禁用的服务

下面介绍该工具的使用,开启远程主机192.168.1.202的telnet服务(需要知道该主机的用户名和密码):

1.首先使用sc \\192.168.1.202 query tlntsvr来查看远程主机的telnet的服务状态,得到结果是stopped(已停止)

如何在2003上使用SC命令远程开启服务 - ebay - 我的博客

2.然后使用sc \\192.168.1.202 qc tlntsvr 查询当前的telnet服务的配置状况,发现是disabled(已禁用)

如何在2003上使用SC命令远程开启服务 - ebay - 我的博客

3.使用sc \\192.168.1.202 config tlntsvr start= auto使telnet服务开机自动启动

如何在2003上使用SC命令远程开启服务 - ebay - 我的博客

4.使用

sc \\192.168.1.202 qc tlntsvr 查询经过配置的telnet服务是否已经发生改变,已经成为auto_start(自动启动)

如何在2003上使用SC命令远程开启服务 - ebay - 我的博客

5.使用sc \\192.168.1.202 start tlntsvr 来启动telnet服务

如何在2003上使用SC命令远程开启服务 - ebay - 我的博客

6.使用sc \\192.168.1.202 query tlntsvr 查看telnet服务是否已经在运行

如何在2003上使用SC命令远程开启服务 - ebay - 我的博客

7.接下来就可以使用telnet 192.168.1.202进行telnet了

通过命令行注销当前WINDOWS已登录的用户

第一步、首先你可以telnet到此主机上(不管你用哪种方法),当然如果能直接操作机器更好,不过直接操作就不必用命令行了,用控制台更直观,这里不是我们讲述的问题,略过。

第二步、Telnet上去后,先看登陆的用户:
输入命令:query user
系统返回:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
administrator console 0 运行中 . 2004-10-09 15:37
user1 UserMachine1 1 运行中 . 2004-10-09 15:37
user2 12 已断开 无 2004-10-09 15:37

此时可以看出的可能根我们的不一样,根据具体情况而定。
看到吗? ID 0 的用户是本地登陆的,ID 1 和 ID 12是3389登陆的用户,前者在运行中,后者已经断开了,但是断开了仍然占用系统资源和通道,我们要把它踢掉。如下进行操作即可。

输入命令:logoff 12

C:\>query user //再看看
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
administrator console 0 运行中 . 2004-10-09 15:37
user1 UserMachine1 1 运行中 . 2004-10-09 15:37

第三步、如果服务器关闭了telnet功能(这是默认的),还可以通过SqlServer的xp_cmdshell扩展存储过程,使用格式:master.dbo.xp_cmdshell ’命令内容’,其余可参考第二步。此方式要求有访问xp_cmdshell的权限。

删除windows用户时提示“用户不属于此组”解决方法

如果您是一名网络管理员,请保持经常检查服务器帐户的良好习惯,如果您看到一名陌生的帐户,而且发现这名帐户不属于任何用户组的时候,那么恭喜你,你的管理员帐户可能被克隆了,该用户很可能拥有服务器的超管权限,因为那是通过克隆你的超管帐号的sam信息建立的帐户,该用户不属于任何用户组,使用用户管理器或命令行下删除该用户时将提示“用户不属于此组”,正确删除方法如下:
运行注册表编辑器,依次展开HKEY_LOCAL_MACHINE\SAM\SAM,右键点击,选择权限,更改Administrators的权限为完全控制.刷新后依次展开该项下的的Domains\Account\Users\Names\ 删除该子项下的陌生帐号及与之相对应的Domains\Account\Users里的项;返回,删除administrator在HKEY_LOCAL_MACHINE\SAM\SAM下的权限。
重启系统搞定。

TCP连接的状态深度剖析

TCP状态转换图

状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
这个图n多人都知道,它对排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻地认识,不能只停留在一知半解之中。下面对这张图的11种状态详细解释一下,以便加强记忆!不过在这之前,先回顾一下TCP建立连接的三次握手过程,以及关闭连接的四次握手过程。

1、建立连接协议(三次握手)
(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。
(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。
(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。
2、连接终止协议(四次握手)
   由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
 (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
 (2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
 (3) 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
 (4) 客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。
CLOSED: 这个没什么好说的了,表示初始状态。
LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。
SYN_RCVD: 这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。
SYN_SENT: 这个状态与SYN_RCVD遥想呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文。
ESTABLISHED:这个容易理解了,表示连接已经建立了。
FIN_WAIT_1: 这个状态要好好解释一下,其实FIN_WAIT_1和FIN_WAIT_2状态的真正含义都是表示等待对方的FIN报文。而这两种状态的区别是:FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET即进入到FIN_WAIT_1状态。而当对方回应ACK报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2状态还有时常常可以用netstat看到。
FIN_WAIT_2:上面已经详细解释了这种状态,实际上FIN_WAIT_2状态下的SOCKET,表示半连接,也即有一方要求close连接,但另外还告诉对方,我暂时还有点数据需要传送给你,稍后再关闭连接。
TIME_WAIT: 表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2状态。
CLOSING: 这种状态比较特殊,实际情况中应该是很少见,属于一种比较罕见的例外状态。正常情况下,当你发送FIN报文后,按理来说是应该先收到(或同时收到)对方的ACK报文,再收到对方的FIN报文。但是CLOSING状态表示你发送FIN报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢?其实细想一下,也不难得出结论:那就是如果双方几乎在同时close一个SOCKET的话,那么就出现了双方同时发送FIN报文的情况,也即会出现CLOSING状态,表示双方都正在关闭SOCKET连接。
CLOSE_WAIT: 这种状态的含义其实是表示在等待关闭。怎么理解呢?当对方close一个SOCKET后发送FIN报文给自己,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。接下来呢,实际上你真正需要考虑的事情是察看你是否还有数据发送给对方,如果没有的话,那么你也就可以close这个SOCKET,发送FIN报文给对方,也即关闭连接。所以你在CLOSE_WAIT状态下,需要完成的事情是等待你去关闭连接。
LAST_ACK: 这个状态还是比较容易好理解的,它是被动关闭一方在发送FIN报文后,最后等待对方的ACK报文。当收到ACK报文后,也即可以进入到CLOSED可用状态了。
最后有2个问题的回答,我自己分析后的结论(不一定保证100%正确)
1、 为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。
2、 为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态?
这是因为:虽然双方都同意关闭连接了,而且握手的4个报文也都协调和发送完毕,按理可以直接回到CLOSED状态(就好比从SYN_SEND状态到ESTABLISH状态那样);但是因为我们必须要假想网络是不可靠的,你无法保证你最后发送的ACK报文会一定被对方收到,因此对方处于LAST_ACK状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个TIME_WAIT状态的作用就是用来重发可能丢失的ACK报文。

Windows 2003 服务器设置 完全版

第一步:
一、先关闭不需要的端口
  我比较小心,先关了端口。只开了3389 21 80 1433(MYSQL)有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改
了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接–属性–Internet协议(TCP/IP)–高级–选项–TCP/IP筛选–属性–把勾打上 然后添加你需要的端口即可。PS一句:设置完端口需要重新启动!
  当然大家也可以更改远程连接端口方法:
  Windows Registry Editor Version 5.00
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
  ”PortNumber”=dword:00002683
  保存为.REG文件双击即可!更改为9859,当然大家也可以换别的端口, 直接打开以上注册表的地址,把值改为十进制的输入你想要的端口即可!重启生效!
  还有一点,在2003系统里,用TCP/IP筛选里的端口过滤功能,使用Ftp服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。所做FTP下载的用户看仔细点,表怪俺说俺写文章是垃圾…如果要关闭不必要的端口,在\\system32\\drivers\\etc\\services中有列表,记事本就可以打开的。如果懒惰的话,最简单的方法是启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以!Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫描,提高windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。
  二、关闭不需要的服务 打开相应的审核策略
  我关闭了以下的服务
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 允许远程用户登录到此计算机并运行程序
  把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。
  在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里–“NetBIOS”设置”禁用tcp/IP上的NetBIOS(S)”。在高级选项里,使用”Internet连接防火墙”,这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
  在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。
  推荐的要审核的项目是:
  登录事件 成功 失败
  账户登录事件 成功 失败
  系统事件 成功 失败
  策略更改 成功 失败
  对象访问 失败
  目录服务访问 失败
  特权使用 失败
  三、磁盘权限设置
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不必要的映射,建立陷阱帐号,更改描述。
四、防火墙、杀毒软件的安装
我见过的Win2000/Nt服务器从来没有见到有安装了防毒软件的,其实这一点非常重要。一些好的杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序。这样的话,“黑客”们使用的那些有名的木马就毫无用武之地了。不要忘了经常升级病毒库,我们推荐mcafree杀毒软件+blackice防火墙
五、SQL2000 SERV-U FTP安全设置
  SQL安全方面
  1.System Administrators 角色最好不要超过两个
  2.如果是在本机最好将身份验证配置为Win登陆
  3.不要使用Sa账户,为其配置一个超级复杂的密码
  4.删除以下的扩展存储过程格式为:
  use master
  sp_dropextendedproc ‘扩展存储过程名’
  xp_cmdshell:是进入操作系统的最佳捷径,删除
  访问注册表的存储过程,删除
  Xp_regaddmultistring  Xp_regdeletekey  Xp_regdeletevalue  Xp_regenumvalues
  Xp_regread      Xp_regwrite    Xp_regremovemultistring
  OLE自动存储过程,不需要删除
  Sp_OACreate   Sp_OADestroy    Sp_OAGetErrorInfo  Sp_OAGetProperty
  Sp_OAMethod  Sp_OASetProperty  Sp_OAStop
  5.隐藏 SQL Server、更改默认的1433端口
  右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口
  serv-u的几点常规安全需要设置下:
  选中”Block “FTP_bounce”attack and FXP”。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个”PORT”命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过Ftp服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
  六、IIS安全设置
IIS的相关设置:
    删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给户。对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:WINNTsystem32inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。
    对于用户站点所在的目录,在此说明一下,用户的FTP根目录下对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步,更多的只能在方法用户从脚本提升权限:
    ASP的安全设置:
    http://www.knowsky.com/system.asp
    设置过权限和服务之后,防范asp木马还需要做以下工作,在cmd窗口运行以下命令:
    regsvr32/u C:\WINNT\System32\wshom.ocx
    del C:\WINNT\System32\wshom.ocx
    regsvr32/u C:\WINNT\system32\shell32.dll
    del C:\WINNT\system32\shell32.dll
    即可将WScript.Shell, Shell.application, WScript.Network组件卸载,可有效防止asp木马通过wscript或shell.application执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。
    另外,对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予c:winntsystem32scrrun.dll文件的执行权限,不需要的不给权限。重新启动服务器即可生效。
    对于这样的设置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用!
    PHP的安全设置:
    默认安装的php需要有以下几个注意的问题:
    C:\winnt\php.ini只给予users读权限即可。在php.ini里需要做如下设置:
    Safe_mode=on
    register_globals = Off
    allow_url_fopen = Off
    display_errors = Off
    magic_quotes_gpc = On [默认是on,但需检查一遍]
    open_basedir =web目录
    disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod
    默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;]
    MySQL安全设置:
    如果服务器上启用MySQL数据库,MySQL数据库需要注意的安全设置为:
    删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。赋予普通用户updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查mysql.user表,取消不必要用户的shutdown_priv,relo
    ad_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。可以为mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于mysql安装目录给users加上读取、列目录和执行权限。
    Serv-u安全问题:
    安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-u的banner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。
    更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530 Not logged in, home directory does not exist.比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的。
  七、其它
1.隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0
2.启动系统自带的Internet连接防火墙,在设置服务选项中勾选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之类的,只要不与其它冲突即可。
第二处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”即可。
12.禁用TCP/IP上的NetBIOS
网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。这样cracker就无法用nBTstat命令来读取你的NetBIOS信息和网卡MAC地址了。
13. 账户安全
首先禁止一切账户,除了你自己,呵呵。然后把Administrator改名。我呢就顺手又建了个Administrator账户,不过是什么权限都没有的那种,然后打开记事本,一阵乱敲,复制,粘贴到“密码”里去,呵呵,来破密码吧~!破完了才发现是个低级账户,看你崩溃不?
创建2个管理员用帐号
虽然这点看上去和上面这点有些矛盾,但事实上是服从上面的规则的。 创建一个一般权限帐号用来收信以及处理一些日常事物,另一个拥有Administrators 权限的帐户只在需要的时候使用。可以让管理员使用 “ RunAS” 命令来执行一些需要特权才能作的一些工作,以方便管理
14.更改C:\WINDOWS\Help\iisHelp\common\404b.htm内容改为这样,出错了自动转到首页。
15.本地安全策略和组策略的设置,如果你在设置本地安全策略时设置错了,可以这样恢复成它的默认值
打开 %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文件,安全数据库重建成功。
16.禁用DCOM:
运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。清除“在这台计算机上启用分布式 COM”复选框。
 
第二步:
尽管windows 2003的功能在不断增强,但是由于先天性的原因,它还存在不少安全隐患,要是不将这些隐患“堵住”,可能会给整个系统带来不必要的麻烦;下面笔者就介绍Windows2003中不常见的安全隐患的防堵方法,希望能对各位带来帮助!
堵住自动保存隐患
  windows 2003操作系统在调用应用程序出错时,系统中的Dr. Watson会自动将一些重要的调试信息保存起来,以便日后维护系统时查看,不过这些信息很有可能被黑客“瞄上”,一旦瞄上的话,各种重要的调试信息就会暴露无疑,为了堵住Dr. Watson自动保存调试信息的隐患,我们可以按如下步骤来实现:
  1、打开开始菜单,选中“运行”命令,在随后打开的运行对话框中,输入注册表编辑命令“ergedit”命令,打开一个注册表编辑窗口;
  2、在该窗口中,用鼠标依次展开HKEY_local_machine\software\Microsoft\WindowsdowsNT\CurrentVersion\AeDebug分支,在对应AeDebug键值的右边子窗口中,用鼠标双击Auto值,在弹出的参数设置窗口中,将其数值重新设置为“0”,
  3、打开系统的Windows资源管理器窗口,并在其中依次展开Documents and Settings文件夹、All Users文件夹、Shared Documents文件夹、DrWatson文件夹,最后将对应DrWatson中的User.dmp文件、Drwtsn32.log文件删除掉。
  完成上面的设置后,重新启动一下系统,就可以堵住自动保存隐患了。
堵住资源共享隐患
  为了给局域网用户相互之间传输信息带来方便,Windows Server 2003系统很是“善解人意”地为各位提供了文件和打印共享功能,不过我们在享受该功能带来便利的同时,共享功能也会“引狼入室”,“大度”地向黑客们敞开了不少漏洞,给服务器系统造成了很大的不安全性;所以,在用完文件或打印共享功能时,大家千万要随时将功能关闭哟,以便堵住资源共享隐患,下面就是关闭共享功能的具体步骤:
  1、执行控制面板菜单项下面的“网络连接”命令,在随后出现的窗口中,用鼠标右键单击一下“本地连接”图标;
  2、在打开的快捷菜单中,单击“属性”命令,这样就能打开一个“Internet协议(TCP/IP)”属性设置对话框;
  3、在该界面中取消“Microsoft网络的文件和打印机共享”这个选项;
  4、如此一来,本地计算机就没有办法对外提供文件与打印共享服务了,这样黑客自然也就少了攻击系统的“通道”。
堵住远程访问隐患
  在Windows2003系统下,要进行远程网络访问连接时,该系统下的远程桌面功能可以将进行网络连接时输入的用户名以及密码,通过普通明文内容方式传输给对应连接端的客户端程序;在明文帐号传输过程中,实现“安插”在网络通道上的各种嗅探工具,会自动进入“嗅探”状态,这个明文帐号就很容易被“俘虏”了;明文帐号内容一旦被黑客或其他攻击者另谋他用的话,呵呵,小心自己的系统被“疯狂”攻击吧!为了杜绝这种安全隐患,我们可以按下面的方法来为系统“加固”:
  1、点击系统桌面上的“开始”按钮,打开开始菜单;
  2、从中执行控制面板命令,从弹出的下拉菜单中,选中“系统”命令,打开一个系统属性设置界面;
  3、在该界面中,用鼠标单击“远程”标签;
  4、在随后出现的标签页面中,将“允许用户远程连接到这台计算机”选项取消掉,这样就可以将远程访问连接功能屏蔽掉,从而堵住远程访问隐患了。
堵住用户切换隐患
  windows 2003系统为我们提供了快速用户切换功能,利用该功能我们可以很轻松地登录到系统中;不过在享受这种轻松时,系统也存在安装隐患,例如我们要是执行系统“开始”菜单中的“注销”命令来,快速“切换用户”时,再用传统的方式来登录系统的话,系统很有可能会本次登录,错误地当作是对计算机系统的一次暴力“袭击”,这样Windows2003系统就可能将当前登录的帐号当作非法帐号,将它锁定起来,这显然不是我们所需要的;不过,我们可以按如下步骤来堵住用户切换时,产生的安全隐患:
  在windows 2003系统桌面中,打开开始菜单下面的控制面板命令,找到下面的“管理工具”命令,再执行下级菜单中的“计算机管理”命令,找到“用户帐户”图标,并在随后出现的窗口中单击“更改用户登录或注销的方式”;在打开的设置窗口中,将“使用快速用户切换”选项取消掉就可以了。
堵住页面交换隐患
  Windows 2003操作系统即使在正常工作的情况下,也有可能会向黑客或者其他访问者泄漏重要的机密信息,特别是一些重要的帐号信息。也许我们永远不会想到要查看一下,那些可能会泄漏隐私信息的文件,不过黑客对它们倒是很关心的哟!Windows 2003操作系统中的页面交换文件中,其实就隐藏了不少重要隐私信息,这些信息都是在动态中产生的,要是不及时将它们清除,就很有可能成为黑客的入侵突破口;为此,我们必须按照下面的方法,来让windows 2003操作系统在关闭系统时,自动将系统工作时产生的页面文件全部删除掉:
  1、在windows 2003的“开始”菜单中,执行“运行”命令,打开运行对话框,并在其中输入“Regedit”命令,来打开注册表窗口;
  2、在该窗口的左边区域中,用鼠标依次单击HKEY_local_machine\system\currentcontrolset\control\sessionmanager\memory management键值,找到右边区域中的ClearPageFileAtShutdown键值,并用鼠标双击之,在随后打开的数值设置窗口中,将该DWORD值重新修改为“1”;
  3、完成设置后,退出注册表编辑窗口,并重新启动计算机系统,就能让上面的设置生效了。

Windows Server 2003网络负载均衡的实现

  在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。
  那么,有没有一个办法或者技术来解决此类问题呢?使用windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法)。
  一、网络负载平衡的优点
  1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应。
  2.网络负载平衡对外只须提供一个IP地址(或域名)。
  3.如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断。网络负载平衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。此保护措施能够帮助你为关键的业务程序提供不中断的服务。可以根据网络访问量的增多来增加网络负载平衡服务器的数量。
  4.网络负载平衡可在普通的计算机上实现。
  在Windows Server 2003中,网络负载平衡的应用程序包括Internet信息服务 (IIS)、ISA Server 2000防火墙与代理服务器、VPN虚拟专用网、终端服务器、Windows Media Services(Windows视频点播、视频广播)等服务。同时,网络负载平衡有助于改善你的服务器性能和可伸缩性,以满足不断增长的基于 Internet客户端的需求。
  网络负载平衡可以让客户端用一个逻辑Internet名称和虚拟IP地址(又称群集IP地址)访问群集,同时保留每台计算机各自的名称。
  下面,我们将在两台安装Windows Server 2003的普通计算机上,介绍网络负载平衡的实现及应用。
  二、网络负载平衡的实现
  这两台计算机中,一台计算机名称为w2003-1,IP地址为202.206.197.190,另一台名为w2003-2,IP地址为202.206.197.191。
  规划网络负载平衡群集使用的IP地址为202.206.197.195,规划网络负载平衡群集完整的计算机名称为 cluster.heinfo.edu.cn。你需要在heinfo.edu.cn域中注册此主机名称并将地址设置为202.206.197.195。如果你没有DNS,可以在需要访问网络负载平衡的客户机(包括网络负载平衡主机)上编辑%systemroot%\system32\drivers\ etc目录下的hosts文件,添加一条信息“202.206.197.195 cluster.heinfo.edu.cn”,即可解决DNS域名解析的问题。
  当正式应用时,客户机只需要使用cluster.heinfo.edu.cn或IP地址202.206.197.195来访问服务器,网络服务平衡会根据每台服务器的负载情况自动选择202.206.197.190或者202.206.197.191对外提供服务。
  网络负载平衡的实现过程如下:
  在实现网络负载平衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),在网络属性中,“网络负载平衡”也不能被选择,这可以从“网络连接属性”中查看。
  ①先进入第一台计算机,以管理员身份登录,从“管理工具”中运行“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“新建群集”,进入“群集参数”界面。
 
  在“IP地址”后面输入规划的群集参数地址202.206.197.195,在子网掩码处使用默认值,在“完整Internet名称”后面输入cluster.heinfo.edu.cn(也可以是其他的名称,但输入的DNS名称必须与输入的IP地址相符)。
  如果允许远程控制,请选中“允许远程控制”,并在“远程密码”和“确认密码”处输入可以进行远程控制的密码。
  ②点击“下一步”按钮,进入群集IP地址页面后再进入“端口规则”界面,点击“下一步”按钮,进入“连接”界面。
 
  ③在“连接”界面的“主机”栏中输入当前计算机的名称w2003-1,然后点击“连接”按钮,将在“对配置一个新的群集可用的接口”框中显示出连接的计算机的网卡及IP地址。选择与群集IP地址同一网段的地址(用于对外提供网络应用的网卡),然后点击“下一步”按钮,进入设置“主机参数”界面,点击“完成”按钮,系统将自动开始网络负载平衡群集的配置。几分钟后,网络负载平衡群集配置完成。
  ④打开第二台计算机,并以管理员的身份登录进入。
  注意:在网络负载平衡中的每个节点上,管理员账号的用户名和密码最好一致。
  ⑤然后,在第一台计算机上,用鼠标右键单击新创建的群集,从出现的菜单中选择“添加主机到群集”。将出现“连接”界面,在“主机”中输入第二台计算机的计算机名称,点击“连接”按钮,将会在“对配置群集可用的接口”下面显示出连接的计算机上的网络配置。选择202.206.197.191的网卡,进入主机参数界面,点击“完成”按钮,即可返回网络负载平衡管理器。
 
  ⑥关闭网络负载平衡管理器后再进入网络负载平衡管理器。用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“连接到现存的”,将会弹出“连接”界面。
  输入第一台计算机的名称,点击“连接”按钮,在“群集”下面将列出群集的IP地址,选择此IP地址,并点击“完成”按钮,连接群集即可完成。
  以后,如果这两台服务器不能满足需求,可以按以上步骤添加第3台、第4台计算机到网络负载平衡中以满足要求。
  三、用IIS服务验证网络负载平衡
  网络负载平衡配置好后,为了实现某项具体的服务,需要在网络负载平衡的计算机上安装相应的服务。例如:为了实现IIS网站的负载平衡,需要在相应的网络负载平衡的计算机上安装IIS服务。
  安装网络负载平衡的应用程序时,不需要特别的方法,只需要在配置好网络负载平衡的计算机上安装相应的服务即可。但是为了让每个用户在通过网络负载平衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载平衡的每台计算机上保持数据的一致性。举例来说:实现了两个节点的IIS的网络负载平衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。
  为了检验网络负载平衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用相类似。
  在网络负载平衡的每一台计算机上安装IIS服务,方法如下:
  在“添加/删除程序”中,点击“添加Windows组件”,进入Windows组件向导,双击“应用程序服务器”,进入“应用程序服务器”。
 
  选中ASP.NET、Internet信息服务及应用网络COM+访问后,即可开始安装IIS服务。
  安装之后,进入第一台计算机的inetpub\wwwroot目录,新建一个文本文件,输入以下内容:
  <html>
  This win2003-1
  </html>
  然后将它保存为default.htm文件。这个网页在IE中将显示如下内容:
  This w2003-1
  在第二台计算机的inetpub\wwwroot目录,新建一个文本文件,并输入下面的内容:
  <html>
  This win2003-2
  </html>
  这个网页在IE浏览器中将显示“This w2003-2”,随后将这个文件以default.htm名称保存。
  然后,在其他计算机上的IE浏览器中键入http://cluster.heinfo.edu.cn,将会显示为“This win2003-1”或“This win2003-2”,根据网络的负载,网络负载平衡会自动转发到第一台计算机或第二台计算机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们只是测试的时候,为了验证网络负载平衡的效果,两个网站的内容不一致,而在正式应用的时候,网络负载平衡群集的每个节点计算机的内容将是一致的,这样,不管使用那一个节点响应,都保证访问的内容是一致的。

利用PHP&VBS辅助,彻底抵挡CC攻击

常见的CC攻击是通过大量代理向网站发送大量的访问请求以致网站宕机,手段之可恶可耻程度非同一般!而本人对此恶劣手段又是恨之入骨! 

通常要很好的抵挡CC攻击的方法是使用天价的硬件防火墙(如IPS)再配合相对廉价的软件防火墙(如冰盾)之类方能阻挡大部分攻击,但对于一些没条件的机房(如普通电信机房)咱们就只能眼睁睁的看着网站“倒闭”了…… 

金庸的武侠小说中有一句至理名言:“欲练神功,必先自宫”,今天便练一招“七伤拳”,拳谱口决如下: 

一、从APNIC机构下载IP分配表至本地:ftp://ftp.apnic.net/apnic/dbase/data/country-ipv4.lst 

二、使用下面的PHP脚本分两步生成一个VBS脚本文件,脚本的作用是批量添加IIS允许访问的IP(程序未经精心修改,略显粗糙) 

<?php
/*
Get IP address of a designated country & Create a VBS script for Security IP in IIS
Author: Leon Lin
Data: 2009/12/19
*/
class ipv4
{
  /*
  IPv4 class
  Example:
  $ip = new ipv4("58.14.0.0",15);
  print "Address: ".$ip->address()."<br />";
  print "Netbits: ".$ip->netbits()."<br />";
  print "Netmask: ".$ip->netmask()."<br />";
  print "Inverse: ".$ip->inverse()."<br />";
  print "Network: ".$ip->network()."<br />";
  print "Broadcast: ".$ip->broadcast()."<br />";
  */
  var $address;
  var $netbits; 

  // Create new class
  function ipv4($address,$netbits)
  {
    $this->address = $address;
    $this->netbits = $netbits;
  } 

  // Return the IP address
  function address() { return ($this->address); } 

  // Return the netbits
  function netbits() { return ($this->netbits); } 

  // Return the netmask
  function netmask()
  {
    return (long2ip(ip2long("255.255.255.255")
           << (32-$this->netbits)));
  } 

  // Return the network that the address sits in
  function network()
  {
    return (long2ip((ip2long($this->address))
           & (ip2long($this->netmask()))));
  } 

  // Return the broadcast that the address sits in
  function broadcast()
  {
    return (long2ip(ip2long($this->network())
           | (~(ip2long($this->netmask())))));
  } 

  // Return the inverse mask of the netmask
  function inverse()
  {
    return (long2ip(~(ip2long("255.255.255.255")
           << (32-$this->netbits))));
  } 

}�
//Create file: Grant IP script for IIS
if ($_GET['act']=='getvbs')
{
 $vbsFunStr = "Sub AddGrantIP(strWebNo, strGrantIp)\r\nOn Error Resume Next\r\nSet SecObj = GetObject(\"IIS://LocalHost/W3SVC/\" & strWebNo & \"/Root\")\r\nSet MyIPSec = SecObj.IPSecurity\r\nMyIPSec.GrantByDefault = False\r\nIPList = MyIPSec.IPGrant\r\ni = UBound(IPList) + 1\r\nReDim Preserve IPList(i)\r\nIPList(i) = strGrantIp\r\nMyIPSec.IPGrant = IPList\r\nSecObj.IPSecurity = MyIPSec\r\nSecObj.Setinfo\r\nEnd Sub\r\n";
 $handleVBS=fopen('./IpGrant_for_IIS.vbs','a+');
 if (!fwrite($handleVBS,$vbsFunStr)) echo 'create vbs file false!<br />';
 $handle=fopen('./cnip.txt','r');
 if ($handle) {
     while (!feof($handle)) {
         $buffer = explode('/', fgets($handle));
         if (count($buffer)==2)
         {
          $ip = new ipv4($buffer[0],$buffer[1]);
          $ipStr = 'AddGrantIP "6","'.$ip->address().','.$ip->netmask()."\"\r\n";
          if (!fwrite($handleVBS,$ipStr)) echo 'false';
         }
     }
     fclose($handle);
 }else{
  echo 'unread ip file.';
 }
 echo 'create vbs file successful!';
} 

//Create file: IP lists for china
//Source from ftp://ftp.apnic.net/apnic/dbase/data/country-ipv4.lst
if ($_GET['act']=='getiplist')
{
 $file = file('./country-ipv4.lst');
 $handle = fopen('./cnip.txt', 'a');
 if($handle) {
     foreach ($file as $key => $val) {
         if (strpos($val, '#') !== 0) {
             $ipLines = explode(' ', $val);
             if ($ipLines[6] == 'cn') {
              $bits = explode('/', $ipLines[4]);
                 fputs($handle, $ipLines[0] ."/". $bits[1]. "\r\n");
             }
         }
     }
 }
 echo 'create china ip list successful!';
}
?>

备注:代码$ipStr = ‘AddGrantIP “6”,”‘.$ip->address().’,’.$ip->netmask().”\”\r\n”;其中的数字6是代表IIS站点列表中的站点标识符 

使用步骤:第一步 ?act=getiplist 生成中国IP地址段(cn);第二步 ?act=getvbs 生成VBS批量添加IIS允许访问的IP段文件;第三步 将VBS文件拷至服务器中双击执行一次。 

经此设置后我们便达到了“双残”的目的:攻击者使用的代理中凡是非中国IP均“被拒绝攻击”从而保护了站点的正常运作倘若攻击者使用中国的代理来攻击那你便拔110吧;而同时我们的网站也将只能允许中国用户的访问了。 

附相关参考资料:VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP

VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP

'/*=========================================================================  
' * Intro       VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP  
' * FileName    VBScript-ADSI-IIS-Add-Deny-Grant-IP-Change-MetaBase.xml.vbs  
' * Author      yongfa365  
' * Version     v1.0  
' * WEB         http://www.yongfa365.com  
' * Email       yongfa365[at]qq.com  
' * FirstWrite  http://www.yongfa365.com/Item/ADSI-IIS-Add-Deny-Grant-IP.vbs.html  
' * From        http://blog.csdn.net/linyu/archive/2008/11/14/3300454.aspx  
' * MadeTime    2008-12-08 23:10:45  
' * LastModify  2008-12-08 23:10:45  
' *==========================================================================*/  
 
'AddDenyIP2All "192.168.1.106,255.255.255.0"  
'AddDenyIP2All "127.0.0.1"  
'AddDenyIP "123456","127.0.0.1"  
 
 
'添加要屏蔽的IP或一组计算机,到一个指定站点上  
 
Sub AddDenyIP(strWebNo, strDenyIp)  
    On Error Resume Next 
    Set SecObj = GetObject("IIS://LocalHost/W3SVC/" & strWebNo & "/Root")  
    Set MyIPSec = SecObj.IPSecurity  
    MyIPSec.GrantByDefault = True 
    IPList = MyIPSec.IPDeny  
    i = UBound(IPList) + 1  
    ReDim Preserve IPList(i)  
    IPList(i) = strDenyIp  
    MyIPSec.IPDeny = IPList  
    SecObj.IPSecurity = MyIPSec  
    SecObj.Setinfo  
End Sub 
 
 
'添加要屏蔽的IP或一组计算机,到IIS公共配置,以应用到所有站点  
'如果之前对有些站点单独做过屏蔽IP设置,在些设置不会生效,得在总的网站上设置一下,然后覆盖所有子结点  
 
Sub AddDenyIP2All(strDenyIp)  
    On Error Resume Next 
    Set SecObj = GetObject("IIS://LocalHost/W3SVC")  
    Set MyIPSec = SecObj.IPSecurity  
    MyIPSec.GrantByDefault = True 
    IPList = MyIPSec.IPDeny  
    i = UBound(IPList) + 1  
    ReDim Preserve IPList(i)  
    IPList(i) = strDenyIp  
    MyIPSec.IPDeny = IPList  
    SecObj.IPSecurity = MyIPSec  
    SecObj.Setinfo  
End Sub 
 
 
 
 
 
 
'添加允许的IP或一组计算机,到一个指定站点上  
 
Sub AddGrantIP(strWebNo, strGrantIp)  
    On Error Resume Next 
    Set SecObj = GetObject("IIS://LocalHost/W3SVC/" & strWebNo & "/Root")  
    Set MyIPSec = SecObj.IPSecurity  
    MyIPSec.GrantByDefault = False 
    IPList = MyIPSec.IPGrant  
    i = UBound(IPList) + 1  
    ReDim Preserve IPList(i)  
    IPList(i) = strGrantIp  
    MyIPSec.IPGrant = IPList  
    SecObj.IPSecurity = MyIPSec  
    SecObj.Setinfo  
End Sub 
 
 
'添加允许的IP或一组计算机,到IIS公共配置,以应用到所有站点  
'如果之前对有些站点单独做过屏蔽IP设置,在些设置不会生效,得在总的网站上设置一下,然后覆盖所有子结点  
 
Sub AddGrantIP2All(strGrantIp)  
    On Error Resume Next 
    Set SecObj = GetObject("IIS://LocalHost/W3SVC")  
    Set MyIPSec = SecObj.IPSecurity  
    MyIPSec.GrantByDefault = False 
    IPList = MyIPSec.IPGrant  
    i = UBound(IPList) + 1  
    ReDim Preserve IPList(i)  
    IPList(i) = strGrantIp  
    MyIPSec.IPGrant = IPList  
    SecObj.IPSecurity = MyIPSec  
    SecObj.Setinfo  
End Sub 
 
 
 
'显示IIS公共配置里禁止访问的IP  
Sub ListDenyIP()  
    Set SecObj = GetObject("IIS://LocalHost/W3SVC")  
    Set MyIPSec = SecObj.IPSecurity  
    IPList = MyIPSec.IPDeny 'IPGrant/IPDeny  
    WScript.Echo Join(IPList, vbCrLf)  
'   For i = 0 To UBound(IPList)  
'       WScript.Echo i + 1 & "-->" & IPList(i)  
'   Next  
End Sub

两个无线网卡如何连接 实现共享上网

硬件条件:
笔记本或PC A 一个网卡,一个USB无线网卡
笔记本或PC B 一个网卡,一个内置无线网卡
一根从交换机上分下来的网线 连接到A或B的网卡上,这里咱们连接到A上。

只要拥有以下两个协议就可以实现

Microsoft 网络客户端
Internet 协议 (TCP/IP)
想通过无线网卡连接两台电脑,并实现共享上网,设置如下:
首先声名,网上提供的方法基本上都是对的,只是细节方面很多人没有提到,导致像我这样的“高手”也没连接成功

在A上设置:
右击桌面“网上邻居”选择“属性”进入 “网络连接”,选中“本地连接”及“无线网络连接”,右击 点击“桥接”,等会,设置完成。

接下来操作 连接网线的机器 A,右击“无线网络连接”–>属性–>无线网络配置–>添加–>SSID里随便输入一个名,如:yongfa365,数据加密选“已禁用”,其它默认–>确定–>高级–>选中“仅计算机到计算机(特定)”–>关闭

OK,都设置好了,接下来要注意了,很多人会在这出错。搜索不到A这台机器上的无线信号。

按我的操作来,在A机器上双击“无线网络连接”,连接刚才建立的”yongfa365″,这时一时还连接不上,同时我们到B机器上也双击“无线网络连接”,刷新网络列表,会看到“yongfa365”,。连接他,有时一次连接不上,再连接一次,连接上后,机器A也连接上了,但有时显示却是别的,如:按需求,未连接。。。不管他,这样一来,两台机器都可以上网了。

以上操作,如果不先让A连接自己机器上的无线网络,B就连接不上,不知道是不是A没有发信号所以B不知道有这么个无线网络呢?windows 2008上设置好后,其它机器上就可以直接连接上。推荐机器配置高的人使用 windows 2008,非常人性化