IIS启用gzip的方法,IIS如何开启gzip

现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收 之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是相当可观的。如果每个用 户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。

IIS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面。所以要打开这个选项,还要费些功夫。

首先,如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件 (PHP,asp,aspx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某 个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。 Continue reading

iisapp 命令 弹出 iisschlp.wsc [88,25] 属性值无效 progid

在执行iisapp.vbs时,可能会提示如下错误:

Windows Script Component - file://C:WINDOWSsystem32iisschlp.wsc
[88,25] 属性值无效 : progid

不要汗,解决也挺简单。

原因是为了所谓的ASP安全,卸载了 shell.applaction 组件,也就是 wshom.ocx

重新注册即可正常运行 iisapp.vbs

注册命令:

regsvr32 wshom.ocx

用完以后,可以再把这个组件卸载掉:

regsvr32 /u /s weboffice.ocx

有关iisapp命令的用法请参考:http://blog.haohtml.com/archives/9

web服务器做301重定向优化设置(apache,nginx,iis)

做网站优化的时候,网站301重定向是一个非常重要的操作方式。这样能够把多个域名的权重集中到一个域名,例如:www.haohtml.com和 haohtml.com,我们把haohtml.com重定向到www.haohtml.com,搜索引擎在搜索的时候,会把搜索结果或者Google评级的时候都集 中到www.haohtml.com。但是,在设置301的时候,会根据服务器的不同,有不同的设置。

一般情况下,网站301重定向可以分为IIS、Apache、Nginx三种,接下来我说明一下在虚拟主机下如何实现301重定向。

IIS:如果使用ASP的网站程序,可以使用asp脚本实现301重定向:写入header.asp或者其他头部文件。
这种方法最为简单,当然空间支持ISAPI 可以在网站根目录新建一个httpd.ini
将haohtml.com转移到www.haohtml.com上

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^haohtml.com\.com$
RewriteRule (.*) http\://www\.haohtml\.com$1 [I,RP]

Apache:当服务器是apache的时候,只要在网站根目录新建一个.htaccess,写入以下代码:

rewriteEngine on
rewriteCond %{http_host} ^haohtml.com [NC]
rewriteRule ^(.*)$ http://www.haohtml.com/$1 [R=301,L]

Nginx:如果web服务器是Nginx,需要修改绑定的域名的配置文件,例如:haohtml.com.conf

在行 :server_name www.haohtml.com haohtml.com;下面添加

if ($host != ‘www.haohtml.com’ ) {
rewrite ^/(.*)$ http://www.haohtml.com/$1 permanent;
}

实现重定向的方法还有很多,这里仅列举最常见的。如果你已经设置好301重定向,请务必使用:http://www.ranknow.cn/tools/redirectcheck监测是否成功重定向

IIS中的上传目录权限设置问题

虽然 Apache 的名声可能比 IIS 好,但我相信用 IIS 来做 Web 服务器的人一定也不少。说实话,我觉得 IIS 还是不错的,尤其是 Windows 2003 的 IIS 6(马上 Longhorn Server 的 IIS 7 也就要来了,相信会更好),性能和稳定性都相当不错。但是我发现许多用 IIS 的人不太会设置 Web 服务器的权限,因此,出现漏洞被人黑掉也就不足为奇了。但我们不应该把这归咎于 IIS 的不安全。如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是很小的(Web 应用程序本身有问题和通过其它方式入侵黑掉服务器的除外)。下面是我在配置过程中总结的一些经验,希望对大家有所帮助。 Continue reading

IIS安全权限设置

系统用户情况为:
administrators 超级管理员(组)
system 系统用户(内置安全主体)
guests 来宾帐号(组)
iusr_服务器名 匿名访问web用户
iwam_服务器名 启动iis进程用户
www_cnnsc_org 自己添加的用户、添加后删除Users(组)、删除后添加到guests来宾帐号(组)
为加强系统安全、(guest)用户及(iusr_服务器名)用户均被禁用
将访问web目录的全部账户设为guests组、去除其他的组
■盘符 安全访问权限
△C:\盘 administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
△D:\盘 (如果用户网站内容放置在这个分区中)、administrators(组) 完全控制权限
△E:\盘 administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
△f:\盘 administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
△如有其他盘符类推下去.

■目录安全访问权限
▲c:\windows\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
▲c:\windows\system32\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限、iwam_服务器名(用户) 读取+运行权限
▲c:\windows\temp\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限、guests(组) 完全控制权限
▲C:\WINDOWS\system32\config\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
▲c:\Program Files\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
▲C:\Program Files\Common Files\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限、guests(组) 读取+运行权限
▲c:\Documents and Settings\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
▲C:\Documents and Settings\All Users\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
▲C:\Documents and Settings\All Users\Application Data\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
▲C:\Documents and Settings\All Users\Application Data\Microsoft\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限
▲C:\Documents and Settings\All Users\Application Data\Microsoft\HTML Help\
△administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限

■禁止系统盘下的EXE文件:
net.exe、cmd.exe、tftp.exe、netstat.exe、regedit.exe、regedt32.exe、at.exe、attrib.exe、cacls.exe
△些文件都设置成 administrators 完全控制权限

■新建WWW(网站)根目录【administrators(组) 完全控制权限、system(内置安全主体) 完全控制权限】
▲根目录里新建wwwroot目录
▲网站根目录、网页请上传到这个目录
△administrators(组) 完全控制权限
△www_cnnsc_org(用户)完全控制权限
▲根目录里新建logfiles目录
▲网站访问日志文件、本目录不占用您的空间
△administrators(组) 完全控制权限
▲根目录里新建database目录
▲数据库目录、用来存放ACCESS数据库
△administrators(组) 完全控制权限
▲根目录里新建others目录
▲用于存放您的其它文件、该类文件不会出现在网站上
△administrators(组) 完全控制权限
△www_cnnsc_org(用户)完全控制权限
▲在FTP(登陆消息文件里填)IIS日志说明:
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
欢迎您使用本虚拟主机.
请使用CUTEFTP或者LEAFTP等软件上传您的网页.
注意、如果上传不了、请把FTP软件的PASV模式关掉再试.
您登陆进去的根目录为FTP根目录
\--wwwroot网站根目录、网页请上传到这个目录.
\--logfiles 网站访问日志文件、本目录不占用您的空间.
\--database 数据库目录、用来存放ACCESS数据库.
\--others 用于存放您的其它文件,该类文件不会出现在网站上.
为了保证服务器高速稳定运行、请勿上传江湖游戏、广告交换、
博彩类网站、大型论坛、软件下载等耗费系统资源的程序.
IIS日志说明
\--Date 动作发生时的日期
\--Time 动作发生时的时间
\--s-sitename 客户所访问的Internet服务于以及实例号
\--s-computername 产生日志条目的服务器的名字
\--s-ip 产生日志条目的服务器的IP地址
\--cs-method客户端企图执行的动作(例如GET方法)
\--cs-uri-stem被访问的资源、例如Default.asp
\--cs-uri-query 客户所执行的查询
\--s-port 客户端连接的端口号
\--cs-username通过身份验证访问服务器的用户名、不包括匿名用户
\--c-ip 访问服务器的客户端IP地址
\--cs(User-Agent) 客户所用的浏览器
\--sc-status用HTTP或者FTP术语所描述的动作状态
\--sc-win32-status用Microsoft Windows的术语所描述的动作状态
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

■禁止下载Access数据库
△Internet 信息服务(IIS)管理器→网站→属性→主目录→配置→添加
△可执行文件:C:\WINDOWS\twain_32.dll
△扩展名:.mdb
▲如果你还想禁止下载其它的东东
△Internet 信息服务(IIS)管理器→网站→属性→主目录→配置→添加
△可执行文件:C:\WINDOWS\twain_32.dll
△扩展名:.(改成你要禁止的文件名)
▲然后删除扩展名:shtml stm shtm cdx idc cer

■防止列出用户组和系统进程:
△开始→程序→管理工具→服务
△找到 Workstation 停止它、禁用它

■卸载最不安全的组件:
△开始→运行→cmd→回车键
▲cmd里输入:
△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
△也可以设置为禁止guests用户组访问

■解除FSO上传程序小于200k限制:
△在服务里关闭IIS admin service服务
△打开 C:\WINDOWS\system32\inetsrv\MetaBase.xml
△找到ASPMaxRequestEntityAllowed
△将其修改为需要的值、默认为204800、即200K、把它修改为51200000(50M)、然后重启
IIS admin service服务

■禁用IPC连接
△开始→运行→regedit
△找到如下组建(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa)中的
(restrictanonymous)子键
△将其值改为1即

■清空远程可访问的注册表路径:
△开始→运行→gpedit.msc
△依次展开“计算机配置→Windows 设置→安全设置→本地策略→安全选项”
△在右侧窗口中找到“网络访问:可远程访问的注册表路径”
△然后在打开的窗口中、将可远程访问的注册表路径和子路径内容全部设置为空即

■关闭不必要的服务
△开始→程序→管理工具→服务
△Telnet、TCP\IP NetBIOS Helper

■解决终端服务许可证过期的办法
△如果你服务器上已经开着终端服务、那就在添加删除程序里删除终端服务和终端授权
服务
△我的电脑--右键属性--远程---远程桌面、打勾、应用
△重启服务器、OK了、再也不会提示过期了

■取消关机原因提示
△开始→运行→gpedit.msc
△打开组策略编辑器、依次展开
△计算机配置→管理模板→系统
△双击右侧窗口出现的(显示“关闭事件跟踪程序”)
△将(未配置)改为(已禁用)即可

Security Assertion Markup Language (SAML)

    SAML, developed by the Security Services Technical Committee of OASIS, is an XML-based framework for communicating user authentication, entitlement, and attribute information. As its name suggests, SAML allows business entities to make assertions regarding the identity, attributes, and entitlements of a subject (an entity that is often a human user) to other entities, such as a partner company or another enterprise application. Federation is the dominant movement in identity management today. Federation refers to the establishment of some or all of business agreements, cryptographic trust, and user identifiers or attributes across security and policy domains to enable more seamless cross-domain business interactions. As Web services promise to enable integration between business partners through loose coupling at the application and messaging layer, federation does so at the identity management layer — insulating each domain from the details of the others' authentication and authorization infrastructure. Key to this loose coupling at the identity management layer are standardized mechanisms and formats for the communication of identity information between the domains — the standard provides the insulating buffer. SAML defines just such a standard." [FAQ 2006]

    May 2003 CS Overview: The Security Assertion Markup Language (SAML) is being developed by the OASIS XML-Based Security Services Technical Committee (SSTC). The Security Assertion Markup Language (SAML) is "an XML-based framework for exchanging security information. This security information is expressed in the form of assertions about subjects, where a subject is an entity (either human or computer) that has an identity in some security domain. A typical example of a subject is a person, identified by his or her email address in a particular Internet DNS domain. Assertions can convey information about authentication acts performed by subjects, attributes of subjects, and authorization decisions about whether subjects are allowed to access certain resources. Assertions are represented as XML constructs and have a nested structure, whereby a single assertion might contain several different internal statements about authentication, authorization, and attributes. Note that assertions containing authentication statements merely describe acts of authentication that happened previously. Assertions are issued by SAML authorities, namely, authentication authorities, attribute authorities, and policy decision points. SAML defines a protocol by which clients can request assertions from SAML authorities and get a response from them. This protocol, consisting of XML-based request and response message formats, can be bound to many different underlying communications and transport protocols; SAML currently defines one binding, to SOAP over HTTP. SAML authorities can use various sources of information, such as external policy stores and assertions that were received as input in requests, in creating their responses. Thus, while clients always consume assertions, SAML authorities can be both producers and consumers of assertions."

Why SAML?

Why is SAML required? There are four 'drivers' behind the creation of the SAML standard:

  • Limitations of Browser cookies: Most existing Single-Sign On products use browser cookies to maintain state so that re-authentication is not required. Browser cookies are not transferred between DNS domains. So, if you obtain a cookie from www.abc.com, then that cookie will not be sent in any HTTP messages to www.xyz.com. This could even apply within an organization that has separate DNS domains. Therefore, to solve the Cross-Domain SSO (CDSSO) problem requires the application of different technology. All SSO products solve the CDSSO problem by different techniques.
  • SSO Interoperability: How products implement SSO and CDSSO are completely proprietary. If you are an organization and you want to perform SSO across different DNS domains within the same organization or you want to perform CDSSO to trading partners, then you will have to use the same SSO product in all the domains.
  • Web Services: Security within Web Services is still being defined. Most of the focus has been on how to provide confidentiality and authentication/integrity services on an end-to-end basis. The SAML standard provides the means by which authentication and authorization assertions can exchanged between communicating parties.
  • Federation: The need to simplify identity management across organizational boundaries, allowing users to consolidate many local identities into a single (or at least a reduced set) Federated Identity..." [excerpted from the Security Assertion Markup Language (SAML) 2.0 Technical Overview, Working Draft 01 22-July-2004.]

 

使用 iissapp.vbs 列出正在运行的 Web 应用程序

可使用命令行脚本 iisapp.vbs(存储在 systemroot\system32 中)查看当前正在运行的任何工作进程。该命令通常用于排除故障。

发出该命令的计算机必须运行 Windows XP 或 Windows Server 2003 家族的成员。该命令所影响的计算机必须运行带有 IIS 6.0 的 Windows Server 2003 家族的成员。

重要事项:
只有本地计算机上 Administrators 组的成员才能运行脚本和可执行文件。作为安全性最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用 runas 命令以管理员身份运行脚本和可执行文件。在命令提示符下,键入 runas /profile /User:MyComputer\Administrator cmd,使用管理员权限打开一个命令窗口,然后键入 cscript.exeScriptName(包括脚本的完整路径和任何参数)。

本主题包括下列信息:

• 语法:键入命令时必须采用的顺序以及它后面的任何参数和选项。

• 参数:赋予命令中变量的值。

• 示例:示例代码和对结果的说明。

语法

iisapp [/a AppPoolName | /p PID]

参数
/a AppPoolName Continue reading