10

我真的对保护或配置面向互联网的“实时”网络服务器一无所知,而这正是管理层分配给我的工作。除了正在安装的操作系统(和 Windows 更新),我什么都没做。我已经阅读了微软和网络上的一些指南,但它们似乎都不是非常全面/最新的。谷歌让我失望了。

我们将部署一个 MVC ASP.NET 站点。

当您准备在新的 Windows 服务器上部署应用程序时,您的个人检查是什么?

4

6 回答 6

14

这就是我们所做的一切:

  • 确保已启用 Windows 防火墙。它具有“默认关闭”策略,因此开箱即用的规则设置相当安全。但是,如果您知道自己永远不会需要它们,那么关闭其他规则永远不会有坏处。我们在公共互联网接口上禁用了除 HTTP 之外的几乎所有内容,但我们喜欢 Ping(谁不喜欢 Ping?)所以我们手动启用它,如下所示:

    netsh firewall set icmpsetting 8

  • 禁用管理员帐户。设置好并开始使用后,请授予您自己的命名帐户管理员权限。禁用默认管理员帐户有助于减少有人入侵它的机会(无论多么轻微)。(默认情况下,另一个常见的默认帐户 Guest 已被禁用。)

  • 避免在具有管理员权限的帐户下运行服务。如今,大多数信誉良好的软件对此都非常满意,但检查一下也无妨。例如,在我们最初的服务器设置中,Cruise Control 服务具有管理员权限。当我们在新服务器上重建时,我们使用的是普通帐户。这需要更多的工作(您必须只授予完成工作所需的权利,而不是一次性授予所有权限)但安全。

于 2009-03-17T01:19:56.020 回答
8

几年前我不得不锁定一个...

作为系统管理员,在项目的早期就参与开发人员。Web 应用程序的测试、部署以及操作和维护是 SDLC 的一部分。

这些指南通常适用于任何 DMZ 主机,无论是 Linux 还是 Windows 操作系统。

有几本书专门用于 IIS7 管理和强化,但归结为

  1. 决定您的防火墙架构和配置,并检查其是否合适。请记住保护您的服务器免受受感染主机的内部扫描。根据风险级别考虑使用透明的应用层网关来清理流量并使网络服务器更易于监控。

1、你把系统当做堡垒主机。锁定操作系统,减少攻击面(服务、端口安装的应用程序,即没有交互式用户或混合工作负载,配置防火墙 RPC 以仅响应指定的管理 DMZ 或内部主机)。考虑 ssh、OOB 和/或管理 LAN 访问并托管 IDS 验证程序,如 AIDE tripwire 或 osiris。如果网络服务器很敏感,除了 IIS/FW 日志外,考虑使用 argus 来监控和记录流量模式。

  1. 基线系统配置,然后定期审核基线,最小化或控制更改以保持准确。自动化它。powershell 是你的朋友。

  2. 美国 NIST 维护一个国家清单程序存储库。NIST、NSA 和 CIS 有值得研究的操作系统和网络服务器清单,即使它们是针对早期版本的。查看 apache 清单以及配置建议。查看 addison wesley 和 OReilly apache 安全书籍以掌握这些问题。

http://checklists.nist.gov/ncp.cfm?prod_category://checklists.nist.gov/ncp.cfm?prod_category http://www.nsa.gov/ia/guidance/security_configuration_guides/web_server_and_browser_guides.shtml www. cisecurity.org 为订阅者提供清单和基准测试工具。目标至少为 7 或 8。

  1. 从其他人的错误中学习(如果你犯了错误,请分享你自己的错误):列出面向公众的应用程序产品并在 NIST 的 NVD(漏洞数据库..)中监控它们(它们也聚合 CERT 和 OVAL)订阅并阅读 microsoft.public.iinetserver .iis.security 和 microsoft 安全警报。(NIST NVD 已经关注 CERT)Michael Howard 是 MS 的代码安全专家,请阅读他的博客(并确保您的开发人员也阅读过)它位于:http: //blogs.msdn.com/michael_howard/default.aspx

http://blogs.iis.net/是 IIS 团队的博客。附带说明一下,如果您是 Windows 用户,请始终阅读您使用的 MS 产品组的团队博客。

David Litchfield 写了几本关于 DB 和 Web 应用程序强化的书籍。他是一个值得倾听的人。阅读他的博客。

如果您的开发人员也需要温和地介绍(或提醒)网络安全和系统管理员!我推荐 Sverre Huseby 的“Innocent code”。自从库克的鸡蛋以来,我还没有喜欢过这样的安全书。它制定了有用的规则和原则,并从头开始解释事情。它是一个非常强大的可访问读物

  1. 您是否再次进行基线和审核?(你做了一个改变,你做了一个新的基线)。

  2. 请记住,IIS 是一个元服务(FTP.SMTP 和其他服务在其下运行)。让您的生活更轻松,并在一个盒子上一次运行一项服务。备份您的 IIS 元数据库。如果您在同一个盒子上安装应用程序服务器(如 tomcat 或 jboss),请确保它们也受到保护和锁定。为这些应用程序提供安全的 Web 管理控制台,包括 IIS。如果您也必须在盒子上安装数据库。可以以类似的方式利用这篇文章

  3. logging.an 无人关注的面向公众的服务器(无论是 http、imap smtp)是专业的失败。检查您的日志将它们泵入 RDMS 并寻找快慢和讨厌的。您的威胁几乎总是自动化的和愚蠢的。尽可能在防火墙级别阻止它们。

  4. 在获得许可的情况下,使用 P0f 和 nikto 对您的盒子进行扫描和指纹识别。使用 selenium 测试应用程序。确保 IIS和任何应用程序以受控方式谨慎处理网络服务器错误。,为 3xx、4xx 和 5xx 响应代码设置错误文档。

  5. 现在你已经完成了所有这些,你已经覆盖了你的屁股,你可以查看应用程序/网站的漏洞。对开发人员保持温和,大多数人只会在违规和声誉/信任受损之后才担心这一点。马已经狂奔,早已不复存在。现在解决这个问题。这个更便宜。与您的开发人员讨论威胁树。

  6. 考虑您对 Dos 和 DDoS 攻击的反应。从好的方面来说,考虑良好的流量/斜线和容量问题。与开发人员和营销部门联络,以处理容量问题和服务器/带宽配置,以响应活动/销售新服务。询问他们期望(或提醒)什么样的活动响应。提前计划足够的准备时间以允许配置。与您的网络人员交朋友,在短时间内讨论带宽配置。由于配置错误或性能不佳或配置不足而导致的不可用也是一个问题.. 监控系统的性能、磁盘、ram http 和 db 请求。了解正常和预期性能的指标..(上帝,有 IIS 的 apachetop 吗?;))计划适当的容量。

  7. 在这一切过程中,你可能会问自己:“我是不是太偏执了?”。错误的问题..它是“我够偏执吗?” 请记住并接受您将永远落后于安全曲线,并且此列表可能看起来很详尽,这只是一个开始。以上所有都是谨慎和勤奋的,绝不应该被认为是过度的。

被黑客入侵的网络服务器有点像野火(或这里的丛林大火),你可以做好准备,它会处理几乎所有事情,除了蓝月亮事件。计划如何监控和应对污损等。

避免成为安全狂暴者或安全达莱克/小鸡。安静地工作,并您的利益相关者和项目同事一起工作。安全是一个过程,而不是一个事件,让他们保持循环并温和地教育人们是在安全改进和接受你需要做的事情方面获得增量回报的最佳方式。避免居高临下,但请记住,如果您必须在沙子上画一条线,选择您的战斗,您只能做几次。

  1. 利润!
于 2009-03-29T07:26:23.310 回答
4

您最大的问题可能是应用程序安全性。当开发人员告诉您应用程序池身份需要是本地管理员组的成员时,请不要相信他。这是上面“不要以管理员身份运行服务”提示的一个微妙的转折。

另外两个值得注意的项目:1)确保您有办法备份此系统(并定期测试所述备份)。2) 确保您有办法修补此系统,理想情况下,在将这些补丁投入生产之前对其进行测试。尽量不要依赖自己的良好记忆力。不过,我宁愿让您将该框设置为使用 windowsupdate,也不愿将其禁用。

祝你好运。防火墙提示是无价的;保持启用状态,只允许 tcp/80 和 tcp/3389 入站。

于 2009-03-17T03:13:40.550 回答
2

相应地使用角色,您为服务帐户使用的权限越少越好,尽量不要以管理员身份运行,

于 2009-03-17T01:04:37.087 回答
1

如果您正在尝试保护 Web 应用程序,您应该及时了解OWASP上的信息。这是一个简介;

开放 Web 应用程序安全项目 (OWASP) 是一个 501c3 非营利性全球慈善组织,专注于提高应用程序软件的安全性。我们的使命是让应用程序安全可见,以便人们和组织可以就真正的应用程序安全风险做出明智的决定。每个人都可以自由参与 OWASP,我们所有的材料都可以在自由和开放的软件许可下获得。您可以在我们的 wiki 上找到有关 OWASP 的所有信息,并在我们的 OWASP 博客上找到当前信息。请随时更改和改进我们的网站。全球有数百人审查网站的更改以帮助确保质量。如果您是新手,您可能需要查看我们的入门页面。问题或意见应发送到我们的众多邮件列表之一。如果您喜欢您在此处看到的内容并希望支持我们的努力,请考虑成为会员。

对于您的部署(服务器配置、角色等),他们提供了很多很好的建议,尤其是 Bob 和 Jeff。一段时间以来,攻击者一直在使用完全基于内存的后门程序和木马程序。我们最近开发了一种验证服务器内存的新型安全产品(使用类似于 Tripwire(参见 Bob 的回答)验证文件的技术)。

它被称为BlockWatch,主要设计用于云/管理程序/VM 类型的部署,但如果您可以提取它们,也可以验证物理内存。

例如,您可以使用 BlockWatch 来验证您的内核和进程地址空间代码部分是否符合您的预期(您安装到磁盘上的合法文件)。

于 2011-04-21T06:44:44.183 回答
0

使用防火墙阻止传入端口 135、137、138、139、445。内置的就可以了。Windows server 2008 是第一个直接使用 RDP 与 ssh 一样安全的服务器。

于 2009-03-17T01:38:59.843 回答