我有一个ASP.NET MVC 5应用程序,它使用Exchange Web服务托pipeAPI从内部Exchange查询数据,并将数据显示在Server 2012 R2上的IIS 8.5中的Intranet站点主机上。 我使用Windows身份validation来保护网站。 问题是移动设备(及其浏览器)在打开网站时不会获得login提示,并立即收到401访问被拒绝错误(无效凭证)。 这里是工作的设备: join了Opera / IE / Firefox的Windows 8个人电脑(我的开发机器) 非域名join的Windows 7个人电脑与IE / Firefox Windows Phone 8模拟器(在开发机器上) 这里是不工作的设备: 带边缘的Windows 10手机 Android平板电脑与股票浏览器/铬/火狐/歌剧 工作的设备获取login提示,不工作的设备不是。 从IISconfiguration: 内核模式启用 应用程序池作为域帐户运行 SPN在机器帐户(http /&http /)上设置 applicationhost.config中的useAppPoolCredentials设置为false ASP.Net模拟已closures 匿名身份validation已closures,Windows身份validation已打开 提供商:协商,NTLM(按特定顺序) 任何人都可以帮忙吗?
我有一个生产服务器,我打电话给CONTOSO\MachineA ,运行SQL Server。 我有一个开发服务器,我打电话给CONTOSO\MachineB ,运行IIS。 这两个服务器都运行Windows Server 2008.我有一个域用户,我将打电话给CONTOSO\MyAppSvc 。 我有两个CNAMElogging, myapp => MachineA和myappdev => MachineB 。 我的目标是让(intranet)客户端连接到MachineB上的IIS并通过Windows身份validation进行身份validation,然后让应用程序模拟它们并以MachineA身份连接到SQL。 MachineB正在运行SQL Server的另一个实例进行testing,并且通过运行SELECT * FROM [MachineA].[My App DB].App.SomeTablevalidationSQL是否设置了正确的双跳validationSELECT * FROM [MachineA].[My App DB].App.SomeTable via SSMS (on MyWorkstation) => SQL Server (on MachineB) => SQL Server (on Machine A) 。 MyApp上IIS上的MyApp使用模拟和Windows身份validation(仅协商)进行设置,并在运行MyAppPool中运行。 system.webServer/ security/ authentication/ windowsAuthentication @useAppPoolCredentials为true, @useKernelMode为false。 MyAppSvc和MyAppSvc都被委托给无约束的委托。 MyAppSvc上有两个SPN: HTTP/myapp和HTTP/myapp.contoso.local […]
如果执行IIS重置,那么当前正在处理但尚未完成的请求是否已loginIIS日志? 而且,已完成但尚未刷新到日志文件的请求仍会写入文件吗?
这是我第一次设置IIS安装,我想确保提供最大的安全性。 build立时有一些问题突然出现在我的脑海里: 请注意,此服务器托pipe的外部网站每天约有50个用户,每天约1000个用户,而且还包含仅用于内部目的的内部网站(这种情况下的内部手段是我们公司用户在networking外使用的网站,客户使用这些网站) 应用程序池标识: 我读过使用ApplicationPoolIdentity的内置帐户ApplicationPoolIdentity是最好的安全措施。 我的问题是,如果我可以为每个应用程序池使用此embedded式帐户,因为我将部署Wep应用程序隔离 – 意味着我将为每个Web应用程序都设置一个不同的AppPool。 即使我为每个Web App部署不同的应用程序,这是不是每个AppPool使用相同的帐户的矛盾? 服务器强化: 我想安装尽可能less的function和服务,尽可能强化服务器。 有没有办法来检查我安装的function是否使用,或者如果它不需要这些? (是的,我知道,有点小问题) 身份authentication: 有外部访问者的网站需要匿名authentication吗? 像www.mycompany.com这样的网站需要被所有人访问吗? 我还没有find一种方法来禁用匿名authentication,但使网站仍然可以为所有人。 一般networking问题: 我一直认为IIS的最佳做法是将服务器放入DMZ中,因为如果服务器被黑了,入侵者将无法访问我们的域网中的所有其他服务器。 由于像Digestauthentification这样的新的authentication方法需要与一个域控制器进行通信,而且服务器本身也需要在这个域中,所以我问自己是否最好把服务器放在域networking中,并保证访问的安全与其他安全措施(代理等),还是DMZ仍然是最好的安全做法? 预先感谢您的每一个input。
我正在IIS 7.5上运行一个UCC SSL证书的网站,其中有10个域名是安全的。 他们中的大多数是something.company.ch ,但有些是something.anothercompany.ch 我们在web.config中有一个redirect规则,它将每个HTTP请求redirect到一个HTTPS请求 我的问题是,我们有像company.de,company.com这些不受SSL证书保护的域名,但这些域名实际上指向我的company.ch网站(在IIS中的站点绑定)。 如果有人现在打开urlwww.company.de,他得到一个证书错误。 为了获得最好的谷歌排名,你应该在web.config中做HTTPSredirect,所以我们认为我们需要这样做。 因此,我们试图首先将http://www.company.deredirect到http://company.ch ,然后再转到https://www.company.ch,但不幸的是,这并不能解决问题。 有谁知道如何解决这个问题? 或者更好的方法来完成这个? 这是web.config规则的一部分 # Redirect of company.de to company.ch <rule name="company.de to company.ch" patternSyntax="ECMAScript" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_HOST}" pattern="^company.de$" /> </conditions> <action type="Redirect" url="https://www.company.ch/{R:0}" /> </rule> # Redirect everything to HTTPS <rule name="Redirect to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> […]
我有一台名为WEBSERV的服务器(Window Server 2008 R2 Standard)上运行的ASP.NET 4.0(IIS 7.5)应用程序和另一台服务器上名为DATASERV的SQL Server(2008)数据库。 SQL Server具有login设置作为我的数据库用户具有读取权限。 我是与SQL Serverlogin关联的AD组的所有者,名为READGROUP,我使用集成安全性来访问数据库,我知道这是Windows身份validation。 ASP.NET应用程序的应用程序池标识设置为NetworkService。 匿名身份validation已启用。 ASP.NET模拟,基本身份validation,摘要式身份validation,表单身份validation,Windows身份validation全部禁用。 如果需要,我可以启用这些。 对于我来说,让人类用户读取数据库的访问权限,我将它们添加到READGROUP。 我的目标是添加一个非人类用户到READGROUP,以便ASP.NET应用程序可以查询数据库并在HTML表格中显示数据。 我的代码工作在我的开发盒,但它的操作与我的凭据,有权访问的数据,因为我是READGROUP的一部分。 当应用程序在WEBSERV上运行时,其Windows标识显示为“NT AUTHORITY \ Network Service”。 我不想像这样在WEBSERV上存储我的密码。 我必须每90天更换一次,这是一个重大的难题,而IT人员则强烈反对。 有没有办法让我的应用程序添加到我的AD组WEBSERV + ASP.NET的特定用户?
我已经按照链接https://www.iis.net/configreference/system.webserver/odbclogging并执行以下操作: 按照指示安装odbclogging 按照说明执行%windir%\ System32 \ inetsrv \ logtemp.sql 在cmd我相应地更改了值后执行以下操作: appcmd.exe设置configuration“默认网站”-section:system.webServer / odbcLogging / dataSource:“InternetDb”/提交:apphost appcmd.exe设置configuration“默认网站”-section:system.webServer / odbcLogging / tableName:“InternetLog”/提交:apphost appcmd.exe设置configuration“默认网站”-section:system.webServer / odbcLogging / userName:“InternetAdmin”/提交:apphost appcmd.exe设置configuration“默认网站”-section:system.webServer / odbcLogging /密码:“P @ ssw0rd”/提交:apphost appcmd.exe设置网站“默认网站”-logFile.logFormat:“自定义”/提交:apphost appcmd.exe设置网站“默认网站”-logFile.customLogPluginClsid:“{FF16065B-DE82-11CF-BC0A-00AA006111E0}”/ commit:apphost 然后,我点击了网站上的几个链接,检查了InternetLog表,并没有logging。 我做错了什么?
我正在构build一个部署到IIS的ASP.NET应用程序,我正在积极地开展下列必要的步骤来支持Content-Encoding: gzip 目前没有我正在部署到公共networking的服务器的计划,但我想至less调查在我的服务器上减轻ZipBomb攻击的选项。 如果我的客户决定通过公共渠道向用户提供他们的应用程序,我希望已经有了我的鸭子。 如果我能够弄清楚如何让GZ POST机构通过IIS(与SO相关的活动项目)来到,那么在没有解压文件的情况下检测未压缩内容的大小,我有什么select? 作为一个例子,如果有人在我的服务器上发布了42个内容,那么解压内容就会引爆炸弹。 是否存在任何选项来检测“这个”42kb代表4.5PB的数据并拒绝它? 如何以编程方式检测压缩内容是否分层而不引爆炸弹,以及不将内容stream式传输到固定大小的缓冲区中? (也就是说:是否有任何实用程序,服务或方法可以普遍应用于查询zip文件的内容,而无需实际打开它?)
我有一个Web服务,在正常情况下,消耗大约6-7 GB的内存。 然而有时候,消费上涨到11-12 GB,我想弄明白为什么。 为此我想做一个运行该服务的w3wp.exe的内存转储,以便我可以在脱机debugging器中分析它。 我运行一个procdump转储 procdump.exe -ma w3wp.exe 对于正常情况,它工作正常,但是当进程使用11 GB的内存时,进程将被某种针对无响应的应用程序池的IIS保护终止,并且procdump终止而不会创build任何转储文件。 我如何解决这个问题?
我安装了新安装的Win Server 2016,安装了“IIS 10”(通过“添加function” – > / guide / – > tick install IIS) 当我看着我的应用程序池,我看到有“.NET CLR版本”4.0和我的应用程序使用v4.6.x. 我不能改变任何其他版本的下拉列表中。 当我检查胜利registry(使用本指南 ) HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4 \ Full 我得到的数字表明.NET版本4.7。 那么如何升级我的IIS / App池来支持.NET FW> 4.0? 这是一个生产服务器,所以我不想在这里开始下载和安装软件包。