TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
在配置IIS的时候,如果安全稍微做的好一些。就会出现各式各样的问题。比如,常见的访问网页会弹出用户名密码的登陆界面,或者是访问某种页面比如html,asp没事情,但是访问jsp或者php就有问题,显示401.3 ACL 禁止访问资源等 通常的解决办法是。
$ U8 D/ A( l: z4 ^6 x
4 L( g0 u' C, Q r0 O$ J1、错误号401.1
1 b/ t8 d$ G. h3 @ }症状:HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
! [; p; D% G K2 j4 l/ {7 j( A: e分析:
7 U" e0 ?" g4 e9 v由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。
& W- V+ [2 {. K! O解决方案:
2 Q6 I- x: v& o5 G# w(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:
: ~7 n, n& M( A% A/ T控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。) o7 U" |* P$ n- Y d6 _! ~
(2)查看本地安全策略中,IIS管理器中站点的默认匿名访问帐号或者其所属的组是否有通过网络访问服务器的权限,如果没有尝试用以下步骤赋予权限:5 C% d7 g) v, ?
开始->程序->管理工具->本地安全策略->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。
4 V& F7 W3 f) y- _注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。
+ T5 T# O. b1 r, ~5 F. l1 R: B: [4 S4 @0 ^- o
2、错误号401.2
8 d7 h' o7 ?/ V5 B症状:HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
1 T9 i3 S: Q% h: t$ K7 t原因:关闭了匿名身份验证
! }8 k! @$ K/ o7 J9 o. f解决方案:
4 Y$ J9 k- @- s, u: }运行inetmgr,打开站点属性->目录安全性->身份验证和访问控制->选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定。* S: I# J4 X u4 ~' ?+ U' y7 o3 H B
5 T' i/ C0 z* a( h8 e. a3、错误号:401.3
2 ?* P: `( B! K! \, S. R3 m# u症状:HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
7 e- E6 ]! c& g' F原因:IIS匿名用户一般属于Guests组,而我们一般把存放网站的硬盘的权限只分配给administrators组,这时候按照继承原则,网站文件夹也只有administrators组的成员才能访问,导致IIS匿名用户访问该文件的NTFS权限不足,从而导致页面无法访问。
1 L! h6 }; B+ x# B' ?' t解决方案:
( n. O! p; S3 S$ d4 C给IIS匿名用户访问网站文件夹的权限,方法:进入该文件夹的安全选项,添加IIS匿名用户,并赋予相应权限,一般是读、写。
3 \$ C% i4 h( `+ n2 G1 y您未被授权查看该页
8 f4 |0 q+ c. e您不具备使用所提供的凭据查看该目录或页的权限,因为 Web 浏览器正在发送 Web 服务器未配置接受的 WWW-Authenticate 报头字段。
9 K# I2 d6 \, F- j. E' O2 X3 `4 v& s* o, z7 U
请尝试以下操作:
i+ @- }$ ^" }1 L+ M4 ~
. Q$ c8 a. {9 n. l: m# j如果您认为自己应该能够查看该目录或页面,请与网站管理员联系。
5 ~, t7 E$ k l a单击刷新按钮,并使用其他凭据重试。
. K8 }: ?! k# @" H3 \HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
9 I5 D' ^, x5 p+ j; G- yInternet 信息服务 (IIS). Q: O6 S, m2 p
% `* Y2 b& v% H3 e/ [9 x+ D
技术信息(为技术支持人员提供)
1 q& H' t+ k! c6 F; `8 c
" N4 q% K) F, w转到 Microsoft 产品支持服务并搜索包括“HTTP”和“401”的标题。
0 w z$ P L. V, M打开“IIS 帮助”(可在 IIS 管理器 (inetmgr) 中访问),然后搜索标题为“关于安全”、“身份验证”和“关于自定义错误消息”的主题。
6 ?8 J5 b4 a' ~; V2 ~4 q8 }0 M J- x+ K+ h. W$ x; C
只要一打开WEB这个目录就不行
" A/ Q4 t, h. Z* |换个名子就可以了~!
& F" m4 `1 X) ]1 Q$ v& v$ X晕~1% ` }1 A1 ] Q4 ^% P8 t n; o. N
把WEB这个目录删了
; u) z' r6 p6 L1 b3 G* F6 l你在打
& E' o0 v7 _+ Z4 {
. D( s) Y4 K5 Z/ C0 p还是您未被授权查看该页
1 ?( z5 x) k9 V) `" b# B- ]7 F换个就可以了/~!: o; [( F4 ]8 p$ j6 ^- j3 A E
" D0 F) r M3 j9 \; Y2 IIIS特有的问题
3 S+ p h& J% S# j% `
% I+ H1 V$ d2 d2 D5 g: @; w+ b在IIS中选中这个文件夹点右键-属性-执行许可选“纯脚本”试试6 W# |) ]- k+ G" Y, P6 ?* L
) p/ q) K# f% w4 ^1 @ v: l% N* p9 |
iis里你的虚拟目录,属性-〉目录安全性-〉编辑身份验证和访问控制
8 _0 N V6 U+ h; t( m8 t8 \! C4 A- [: U! `& L1 ]7 J
网站属性里把“目录安全”-点“身分验证和访问控制”-“编辑”-去掉“启用匿名访问“钩去了就可以了
0 `( z; ^) }. B; f" [5 |5 _
1 ?! a) z& {4 ?" a2 w1 f很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,俺忙活了一下午,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙:), {, c( `4 l: Z4 ^5 j3 _4 ]
问题1:未启用父路径) C" t5 ?9 E: n2 }3 c+ L' p
症状举例:6 H2 g5 E! p% W) j3 e1 G
Server.MapPath() 错误 'ASP 0175 : 80004005'! R1 x% {/ n( |( U9 t2 G! t) W
不允许的 Path 字符
# @2 d( {9 s, \) h! q; M/0709/dqyllhsub/news/OpenDatabase.asp,行 48 N# [+ `8 S' ^5 [8 C; j4 Q; q
在 MapPath 的 Path 参数中不允许字符 '..'。
3 W( @9 _9 b! r5 N原因分析:) p% k+ R: Q% ^8 O3 U/ ]) e9 P6 B7 Y
许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。
: i- j- r; s. W9 Z% h# M1 g解决方法:% _& k- e) R0 ^; [! S# {
在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。' F# Q( ?+ h& v) m/ d% I! V: p
6 I4 W+ T- P9 U A问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
2 A% T7 R5 t0 V! h症状举例:
2 t* }0 \0 c' g' g7 MHTTP 错误 404 - 文件或目录未找到。- C* x' U& ]2 j+ {0 S
原因分析:: X2 n+ k$ t( y( r- d
在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
# z5 \& L7 }3 h解决方法:. q: y0 N) K7 G" w! S; j# y
在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
$ f8 f+ }: p/ |% f" X& Q
6 j; S9 U3 b5 ? P" o7 a问题3:身份认证配置不当
5 T+ v) a3 d* q: \2 I症状举例:8 m J: I- X* m9 j' A! w( ], y
HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。* I0 f: M; x1 W) K$ | d; w3 ~
原因分析:IIS 支持以下几种 Web 身份验证方法:! ^0 G) G7 `* V, A
匿名身份验证
- |% B8 m; _4 J+ D9 q+ YIIS 创建 IUSR_计算机名称 帐户(其中 计算机名称 是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
/ _1 ^& x, v2 x. i0 j( F基本身份验证
& @2 n7 T2 w8 y) Q* Z" J- K9 u) u使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。4 v1 B3 Z, z( j$ q1 Q
Windows 集成身份验证
5 x5 e) v4 R6 g; [/ jWindows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用。在集成的 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的 Windows 身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。7 S0 h1 Z( \6 r5 M! [% G' L
摘要身份验证
9 }/ h, M+ q2 q g% z+ Z# ~. ]7 Y摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
% Q; t$ ]) i/ ]) u& r.NET Passport 身份验证6 I' a7 q* {1 K8 L% D
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依* .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。. ?/ R) V, \. B
解决方法:1 w0 p9 } h3 h9 J8 O- X
根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。
: c6 S0 g) q6 ]: G/ Q0 p- E" n/ f4 k/ T4 t6 Z ~# S/ C5 G. I0 E
问题4:IP限制配置不当
. M6 p6 O6 d* Q症状举例:
5 Z8 i& t) a6 y$ f$ d" q' t2 nHTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。) s# H% x/ a; i z; n' L7 ]
原因分析:# I, L* |! b2 u$ P5 u: S
IIS提供了IP限制的机制,你可以通过配置来限制某㊣P不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。# ^$ q% P* V" q7 ^. R8 N) }
解决方法:3 [- e# O+ s E: _) K# L
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。0 N$ C8 X" R3 l0 O. U
( Z6 H# y+ u( u; c# q* k
问题5:IUSR账号被禁用6 T8 T1 }2 N4 x _6 u4 ~
症状举例:; e' @' g6 @/ L
HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。, ^) I; x4 @8 _' L9 D2 c1 F3 C
原因分析:* t) ], b' M5 L' o1 L8 f
由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。% |. W4 ?7 {% {5 T1 ~
解决办法:
/ n" f$ B4 ^$ ~( q4 `* h8 @控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
* ?+ Y) [! K* K, Y+ R4 k% }5 e$ n2 a; I J d+ w: P
问题6:NTFS权限设置不当
4 l$ S) V" Y. z& h症状举例:
: [9 g9 [, w3 A# J2 ~HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
# C P/ k: l4 r( ?' J原因分析:6 Q- Q9 r& |9 J! M1 t+ X; ^: e
Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。' X' _( }6 z% z- d5 m
解决办法:( L$ @, N" U X5 a- D
进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设置这里不再馈述。/ c# W8 Q+ N; h q, ]
7 T. @4 Q2 j+ d i5 z: u0 a: }
问题7:IWAM账号不同步6 Z; m+ j2 k( m" u
症状举例:: I+ C( z8 G0 v! Q/ _
HTTP 500 - 内部服务器错误3 ?$ s1 i3 u8 M6 p! g0 l2 d G
原因分析:
2 h# ]/ r" \& ~0 X3 [# H3 W( l2 TIWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
$ @1 m J D2 p/ M; Y解决办法:
- f( c; _$ C5 x: I5 p. Z7 b如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。
2 i! ]$ T7 B+ v运行c://Inetpub//AdminScripts>adsutil SET w3svc/WAMUserPass +密码 同步IIS metabase数据库密码
' m; U9 e* H: a8 a. p运行cscript c://inetpub//adminscripts//synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码: d2 ?7 Y) g& X$ F0 f1 _* ?: R
% U* M/ N9 l0 t, J) `8 o9 c/ u问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
. G& W) v) J" W! X9 ]( @症状举例:, [. H3 H4 V; L8 g. d2 H
HTTP 错误 404 - 文件或目录未找到。2 P& Y& N1 {" t0 I
原因分析:: @' A v3 p, n2 [, ?
IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。
, n4 a' x6 j4 l) t* v0 A解决方法:# J( h( Z# j: x6 M s) B
在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。. \, J7 [" R1 b" O: V& Q/ V
. g) O4 e- ?0 _( u另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。
: _7 u9 @6 J* }6 s8 p$ B& v. e w1 f
* [: \! g0 j4 P3 A! G |
|