我最近注意到了我的IISconfiguration的一些重大变化,其中一些有重大的影响。 我已经通过日常备份挖掘,发现这一变化与2014年9月12日安装的几个安全更新一致。 这些变化是微不足道的: <handlers>元素被locking; 更新解锁它,现在任何网站的目录可以有一个web.config添加处理程序映射。 大量的默认处理程序映射被添加,并被inheritance到我的网站。 所以,以前的网站被禁止执行,例如,一个.aspx文件,在这个更新之后,所有网站突然都能够从任何目录执行.aspx文件。 default.aspx被添加到允许的默认文档列表中。 再加上一些不太重要的,比如给每个我运行的站点添加一个X-Powered-By头文件! 完整的差异是可用的。 比较applicationHost.config的最新修改时间戳记和更新日志,这样做的更新是KB2972211或KB2894854 (都具有相同的安装时间戳,因此无法确定它是哪一个)。 我怀疑前者,因为在说明中提到了IIS和ASP.NET。 我对IIS比较陌生,所以我对这个事件有几个疑问: 这是正常的IIS相关的安全更新作出重大的改变? 是真的KB2972211,还是可能是一个人隐藏他们的轨道恶意的变化? 我的IISconfiguration是否错误? 例如我已经删除了默认的处理程序映射; 我这样做是错误的,并期望它保持这种方式? 我的网站是否应该能够在不破坏安全问题的情况下对根configuration进行修改?
我试图支持我的静态文件在IIS下的GZip压缩(这应该是默认启用,但不是),但目前为止没有工作。 以下是web应用程序的web.config文件中的<system.webServer>节点下的部分; <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" /> <dynamicTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="application/json" enabled="true" /> <add mimeType="*/*" enabled="false" /> </dynamicTypes> <staticTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="application/atom+xml" enabled="true" /> <add mimeType="application/xaml+xml" enabled="true" /> […]
我想比较两个服务器variables作为URL重写条件的一部分。 但首先,一些背景… 在IIS中,如果您请求http://www.example.com/foo并且foo是一个目录,则IIS会将302“Object moved”redirect到http://www.example.com/foo/作为“礼貌redirect“( 来源 )。 如果使用IIS + ARR作为带有SSL卸载的反向代理,则后端IIS节点接收的请求通过http而不是https。 结合这两个行为,以及IIS的礼貌redirect丢弃SSL。 礼貌redirect使用与IIS收到的请求( 源 )相同的scheme,在这种情况下http而不是https。 我想创build一个出站重写规则,将传入的URL与传出的位置标题进行比较,并在此情况下将其从http重写为https: 响应是redirect: {RESPONSE_STATUS}是302 传入的请求是通过SSL: {HTTPS}是“开” 传入的URL不会以斜杠结尾。 传出的位置标题以斜杠结尾。 以上都是在前提下处理的。 棘手的部分是最后一点: 传出位置标题的path与附加斜线的传入url相同。 以下是我到目前为止的代码。 前提条件和头重写都工作正常。 但是,该条件导致500错误(URL重写模块错误),大概是因为我在模式中使用{REQUEST_URI} 。 我已经尝试将条件分成两个并使用捕获组,但是这也不起作用。 有任何想法吗? <rule name="Fix: Courtesy Redirect + SSL Offloading = SSL dropped" preCondition="Courtesy Redirect Drops SSL" enabled="true"> <match serverVariable="RESPONSE_LOCATION" pattern="^http://(.+/)$" /> <conditions> <add input="{RESPONSE_LOCATION}" pattern="{REQUEST_URI}/" /> </conditions> <action […]
我需要恢复一个应用程序,以便在被淘汰之前可以被第三方存档。 为了在不危及整个服务器的情况下这样做,我想在连接之前强制用户进行身份validation,这意味着需要TLS。 不幸的是,该服务器上的443端口(xxx.xxx.xxx.120)由另一个应用程序(一个使用自己的HTTP服务器的Web邮件系统)占用,所以我添加了一个新的公共IP到服务器(xxx.xxx.xxx .120),并在这个新IP上的端口443的IIS中添加一个绑定: 我也确定,其他应用程序不在0.0.0.0:443债券,但使用特定的IP地址。 最后,我跑了netstat -ano | find ":443" netstat -ano | find ":443" ,得到这个: TCP xxx.xxx.xxx.120:443 0.0.0.0:0 LISTENING 3016 TCP xxx.xxx.xxx.120:443 0.0.0.0:0 LISTENING 3016 xxx.xxx.xxx.120是最初的服务器IP地址,新的是xxx.xxx.xxx.122。 为了好的措施,我也跑了netstat -aon | Find "xxx.xxx.xxx.122:443" netstat -aon | Find "xxx.xxx.xxx.122:443" (新的IP),并没有得到任何回报,如预期。 不幸的是,当我尝试启动Web应用程序时,出现以下错误消息: 这个错误是IIS发出的一个错误,如果IP:Port尝试绑定,但是netstat清楚的说它是可用的。 我错过了什么? 编辑:当我尝试启动服务时,系统事件日志中有两个事件: Log Name: System Source: Microsoft-Windows-IIS-W3SVC Date: 7/19/2014 11:59:44 AM Event ID: 1004 Task […]
尝试在Windows Server 2008 R2 Standard上新安装的IIS7.5上设置自定义HTTP响应头并且它们不起作用。 默认的头文件工作正常(X-Powered-By,等等)。 修改默认标题值(即将X-Powered-By更改为ASP.NET2)。 修改默认标题名称会导致标题停止输出(即将X-Powered-By更改为X-Powered-By2)。 有问题的网站是一个单一的HTML网页的testing网站。 自定义标头也不适用于ASP.NET 2.0站点。 我已经尝试在全球级别和网站级别设置标题无效。
我有一个简单的.NET自定义configuration组件,允许我在ASP.NET 2.0(Web项目的目标.NET Framework 3.5)Web应用程序的web.config文件中指定自定义configuration组和部分: 在我的web.config我有以下声明: <configuration> <configSections> <sectionGroup name="SimpleConfigGroup" type="CustomSettingsLib.SimpleConfigGroup, CustomSettingsLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7a58d3af5d6768c9"> <section name="SimpleConfigSection" type="CustomSettingsLib.SimpleConfigSection, CustomSettingsLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7a58d3af5d6768c9"/> </sectionGroup> </configSections> <SimpleConfigGroup> <SimpleConfigSection MySetting="Hello World" /> </SimpleConfigGroup> </configuration> 有几个类可以访问驻留在名为CustomSettingsLib类库项目中的此自定义configuration部分: SimpleConfigGroup.cs: using System.Configuration; namespace CustomSettingsLib { public class SimpleConfigGroup : ConfigurationSectionGroup { [ConfigurationProperty("SimpleConfigSection")] public SimpleConfigSection SimpleConfigSection { get { return (SimpleConfigSection)this.Sections["SimpleConfigSection"]; } } } […]
我正在尝试为IIS 7.5中的新网站设置Windows身份validation。 我有为该网站启用Windows身份validation模块和所有其他身份validationtypes(如匿名,基本等)被禁用。 该站点的应用程序池在自定义标识下运行,SPN和主机标头已适当设置。 在试图通过浏览器访问站点下的任何内容(如文本文件)时,出现401.2错误。 我遵循这个build议 ,并将useAppPoolCredentials属性添加到applicationHost.config,我可以使用Windows身份validation访问资源。 然后,我删除了属性,并保存applicationHost.config有效地撤消我的变化,我仍然能够访问资源。什么给? 有人能帮我理解这种行为吗? 另外在Win Server 2008R2的IIS 7.5的一个特定安装中,我注意到任何对站点(或应用程序)的默认configuration的更改都会导致IIS自动在站点/应用程序的根目录下生成Web.config文件。 有没有一个设置来启用这个,而不必直接更新applicationHost.config? 编辑浏览器caching响应,因此撤消更改和保存文件似乎没有任何区别。 所以现在唯一的问题是与Web.config的生成有关
我有一个面向公众的IIS 7.5 Web服务器,运行一个单独的ASP.NET网站,这个网站在我们的安全扫描中发现了一个“缓慢”的漏洞。 已尝试降低该站点的web.config中的httpruntime executiontimeout值,但该站点仍然无法执行安全扫描。 任何人有任何build议到IIS设置/configuration,以防止缓慢的DOS后攻击? 编辑:我想唯一的方法可能会阻止这是在应用程序中,在global.asx beginrequest子查看头,并根据内容的种类,结束/closures响应… 该工具build议使用此testing漏洞: https : //www.owasp.org/index.php/OWASP_HTTP_Post_Tool但是我真的只是试图确定是否有任何iisconfiguration可以做到解决它。 缓慢的post:“ HTTP POST DDOS攻击如何工作(HTTP / 1.0)(续) 例如,Content-Length = 1000(字节)HTTP消息正文是正确的URL编码,但.. …..再次发送,例如,每110秒1个字节。 将这样的连接乘以20,000,您的IIS Web服务器将成为DDOS。 大多数Web服务器可以在单个HTTP POST请求中接受最多2GB的内容。 ref: https : //media.blackhat.com/bh-dc-11/Brennan/BlackHat_DC_2011_Brennan_Denial_Service-Slides.pdf
我需要使用该function来设置IIS FTP7.5将使用的FTP PASV端口范围,但似乎在服务器级别的configuration中被locking; 我无法修改每个站点的端口范围。 (我可以修改IP地址,但不是通过pipe理器在每个站点上的端口范围,但我可以在服务器级别修改) 我的假设是,这是locking在某个地方的configuration,但我不知道在哪里看。 顺便说一下,它似乎不属于“特征委托”下的选项。 我不得不使用这个,因为有问题的系统正在运行FTPS,并在iptablespipe理的防火墙后面; 在这种情况下,state / conntrack模块不能提供帮助,因为防火墙不能检查FTPS数据包,因为它们是encryption的。 我希望能够为每个站点指定此端口范围,因为其中一个站点只需要非常窄的范围,而另一个站点需要更宽的范围。
这只是对我来说似乎不正确,所以我正在寻找某人告诉我我是如何configuration错误的IIS …configuration是IIS7.5(2008R2),没有SP1。 我有IIS 7.5configuration几个网站。 所有站点都有绑定中定义的主机名,没有主机名的站点。 但是,如果我从服务器IIS(技术上Microsoft-HTTPAPI / 2.0)请求未知的主机名返回404错误,而不是400错误。 我会期望一个400(或其他一些重大错误),而不是一个低404。 这导致了一个问题,当我有nginx在多个IIS前,并希望停止一个网站,所以nginx使它不能旋转。 由于即使没有该名称的活动站点,IIS仍然会返回404请求,所以nginx不知道服务器已经死亡。 注意:无论是否有服务器,IIS都会返回404,但已停止,或者没有服务器。 思考? 解决scheme? – 附加信息:好的,我添加了一个80(5000)以外的端口上的站点,然后在该端口的连接要求一个不存在的网站,我得到预期的错误400(无效的主机名)。 所以,虽然IIS不在80端口上侦听通用(无主机名)连接,但看起来似乎是这样。 任何想法如何让HTTPSys转储它正在监听的列表?