开发者社区> cnbird> 正文

IIS 远程日志记录

简介: 在本版本的 IIS 中,可以通过网络,使用完整的通用命名约定 (UNC) 路径将日志数据写入到远程共享上。
+关注继续查看

在本版本的 IIS 中,可以通过网络,使用完整的通用命名约定 (UNC) 路径将日志数据写入到远程共享上。例如,可将 //servername/LogFiles 指定为日志文件的存储目录,其中,servername 代表远程服务器的名称,LogFiles 代表存储日志文件的目录的名称。

远程日志记录使您能够设置集中的日志文件存储和备份;但是,它比标准的日志记录方法慢。尽管 HTTP.sys(IIS 6.0 中的内核模式驱动程序)在向日志文件中写入信息之前,先缓冲 64 KB 的日志数据,但是远程日志记录是通过网络写日志文件,这可能会降低性能。

如果日志文件目录或文件的所有者不在 Local Administrators 组中,则 HTTP.sys 将错误发布到 NT 事件日志中,并指出目录或文件的所有者不在 Local Administrators 组中,而且该站点的日志记录将被挂起,直到将所有者添加到 Local Administrators 组中,或者删除掉现有的目录或文件为止。可以通过允许 HTTP.sys 创建日志文件目录和文件来避免发生该错误。

强烈建议您在配置远程日志记录之前,在运行 IIS 的 Web 服务器和远程服务器之间启用 Internet 协议安全性 (IPSec)。IPSec 是一种开放标准的框架结构,通过使用加密安全服务来确保 Internet 协议 (IP) 网络上的安全通信。如果在运行 IIS 的 Web 服务器和远程服务器之间未启用 IPSec,在通过网络传送包含日志数据的数据包时,数据包有可能会被恶意用户和线路“嗅探”应用程序截获。

要点 要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份执行该步骤。

在远程共享上记录网站数据

  1. 在运行 IIS 的 Web 服务器的所在域中的远程服务器上创建日志文件。
  2. 更改目录属性,使之成为共享目录并为“Everyone”组指派“完全控制”权限。如果要将日志文件写入到位于其他域中的远程服务器上,请参阅本主题中的为交叉域日志记录设置空会话部分。
  3. 确保运行 IIS 的服务器对于远程共享具有“完全控制”访问权限,对于远程日志文件目录具有读取和写入权限。有关详细信息,请参阅本主题中的为远程日志记录配置权限
  4. IIS 管理器中,展开本地计算机,右键单击“网站”文件夹,然后单击“属性”。
  5. 在“网站”选项卡上,确保选中了“启用日志记录”复选框。
  6. 在“活动日志格式”列表框中,单击某个日志文件格式。有关不同日志文件格式的说明,请参阅关于记录站点活动
  7. 单击“属性”。
  8. 单击“常规”选项卡,然后在“日志文件目录”框中,键入完整的 UNC 路径。例如,//servername/LogFiles,其中,servername 代表远程服务器的名称,LogFiles 代表存储日志文件的共享位置的名称。
  9. 单击“应用”,然后单击“确定”。该目录中的所有网站开始向远程共享上记录数据。

在远程共享上,IIS 为每个网站创建唯一的目录,例如,W3SVCX,其中,X 是 IIS 生成的用于代表特定网站的随机数字。IIS 还会创建具有独占写入访问权限的日志文件,这样多台计算机就无法向同一个日志文件写入信息。

为交叉域日志记录设置空会话

要将文件远程记录到其他域中的 UNC 共享位置中,则需要将远程共享配置为空会话共享。当 IIS 试图访问远程 Microsoft Windows 服务器资源(如使用空会话的文件共享)时,如果文件共享未配置为空会话共享,或者如果在主控文件共享的服务器上设置了任何注册表、组或策略限制,则操作可能会失败。

通过几个设置来控制 Windows 上的空会话访问权限。当配置空会话共享时,必须首先通过修改每个远程资源计算机的注册表来在共享上显式启用空会话访问权限。如果按照这种方式配置共享资源,则资源不安全。Microsoft 不建议在考虑使用空会话安全性时使用该配置。

在编辑注册表之前,请确保您了解如何在发生问题时进行还原。有关如何还原注册表的信息,请参阅注册表编辑器帮助中的“还原注册表”和“还原注册表项”主题。

要点 要点 使用注册表编辑器不当可能导致需要重新安装操作系统的严重问题。因为注册表编辑器会跳过标准的安全保护(禁止您输入存在冲突或者有可能降低性能或破坏系统的设置),所以在更改注册表时一定要格外小心。Microsoft 不能保证由于错误使用注册表编辑器而出现的问题都能解决。有关如何编辑注册表的信息,请参阅注册表编辑器帮助中的更改项和值主题。

请注意,在编辑注册表之前,应该首先进行备份。如果运行的是 Microsoft® Windows® NT® 或更高版本,还应当更新紧急修复磁盘 (ERD)。

有关如何编辑注册表的信息,请参阅注册表编辑器帮助中的“更改项和值”、“在注册表中添加和删除信息”以及“编辑注册表数据”主题。

启用空会话访问权限

  1. 从“开始”菜单,单击“运行”。
  2. 在“打开”框中,键入 Regedit.exe,然后单击“确定”。
  3. 在注册表中找到下面的项并双击它:
    HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/LanmanServer/Parameters/NullSessionShares
    。请注意,NullSessionShares 是一个 REG_MULTI_SZ 值。
  4. NullSessionShares 项的新行上,键入要用空会话访问的共享的名称,例如,public
  5. 在注册表中找到下面的项并单击它:
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/LSA。
  6. 从“编辑”菜单,指向“添加”,单击“DWORD 值”,然后添加以下注册表值:
    名称: RestrictAnonymous
    类型: REG_DWORD
    数据: 0
  7. 退出注册表编辑器。
  8. 重新启动服务器。

如果在重新启动服务器之后远程共享不允许 IIS 服务器将日志文件写入到指定的共享上,则可能需要调整远程计算机上的 Windows 安全组和安全策略以启用匿名访问。

为远程日志记录配置权限

为远程日志记录配置权限

  1. 在远程计算机上,浏览到 systemroot/System32,右键单击 LogFiles 文件夹,然后单击“共享和安全”。
  2. 在“共享”选项卡上,单击“共享该文件夹”,然后单击“权限”。
  3. 单击“添加”。
  4. 单击“对象类型”。
  5. 选中“计算机”复选框,然后单击“确定”。如果您喜欢的话,可取消对所有其他选项的选择。
  6. 在“输入对象名称来选择”框中,键入对象名 — Domain/WebServer,然后单击“确定”。
  7. 在“组或用户名称”列表中,选择 Domain/WebServer 对象,并在“权限”部分选中“完全控制”旁边的“允许”复选框。
  8. 在“组或用户名称”列表中,选择“Everyone”。
  9. 在“权限”部分中,清除所有权限,然后单击“确定”。远程计算机现在具有相应的访问权限。
  10. 要设置相应的文件权限,请单击“安全”选项卡。
  11. 选择 Domain/WebServer 对象,然后在“权限”部分选中“完全控制”旁边的“允许”复选框。
  12. 单击“应用”,然后单击“确定”。
相关主题
  • 要以编程方式设置远程日志记录,请参阅 LogFileDirectory 配置数据库属性。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
心中有“树”!图文并茂介绍数据结构中常见的树(一)
提到数据结构中的树(Tree) ,大家应该都不陌生,相关书籍中都有大段篇幅的介绍,刷 Leetcode 的时候会遇到很多相关问题。很多人往往会用 “手写红黑树” 来形容面试难度很高。
10 0
心中有“树”!图文并茂介绍数据结构中常见的树(二)
计算机科学家尼古拉斯·沃斯(Niklaus Wirth)曾说过:编程=数据结构+算法 ,可见数据结构在编程中的重要性。
5 0
如何在小游戏制作工具中使用云函数
本节试图以最简单的方式带你了解如何在小程序后台申请和开通云开发服务,创建并编写第一个云函数并在小游戏制作工具中对其进行调用。
12 0
Travis CI 自动化构建 Hexo 博客
前提条件: • 必须使用一个public的项目, 然后登陆https://travis-ci.org/ 进行关联. • 已存在一个hexo的可以跑起来的项目 在你的hexo源码项目, 取出master分支中 添加配置文件.travis.yml,并推送到acc8226.github.io项目中.
7 0
在函数中使用局部变量并且通过局部变量返回函数值的方案来了
感谢小游戏可视化体验官群中的一位叫做“@天羽地王”的朋友提供的思路。本文内容主要包括如何在函数中使用局部变量并且通过局部变量来返回函数的结果值。
12 0
微信小游戏推广运营专业术语汇总
本文内容包括与微信小游戏运营推广相关的专业术语的汇总和解释。作为一个游戏开发者,不光要知道如何做游戏,也要知道如何让别人玩自己做的游戏。
5 0
心中有“树”!图文并茂介绍数据结构中常见的树(三)
在前面两篇文章中,我们简要介绍了数据结构中的各种【树】在搜索、数据库等领域的使用场景,希望对大家有所帮助。
11 0
Travis CI简介
什么是持续集成? Travis CI 提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。
9 0
Win系统 - 重装系统(微PE、MSDN镜像)【绝对纯净】
Win系统 - 重装系统(微PE、MSDN镜像)【绝对纯净】
14 0
+关注
cnbird
阿里云安全专家,主要负责阿里云云产品安全。
4035
文章
3
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载