草庐IT

记录一个等保二的项目的漏洞处理

穿林鸟 2023-04-10 原文

一、高危漏洞:

1、HTTP.sys remote code execution vulnerability(HTTP.sys 远程代码执行漏洞)

漏洞描述:

HTTP 协议栈 (HTTP.sys) 中存在一个远程执行代码漏洞,该漏洞是由于 HTTP.sys 不正确地分析特制 HTTP 请求而导致的。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。 对于 Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2 的所有受支持版本,此安全更新的评级为“严重”。

漏洞处理方式:

此漏洞属于操作系统漏洞,需要下载官方补丁,

补丁下载地址:https://www.catalog.update.microsoft.com/Search.aspx?q=KB3042553

2、TLS 1.0 enabled(报告启用了 TLS 1.0)

漏洞描述:

Web 服务器支持通过 TLS 1.0 进行加密,由于固有的安全问题,该协议已于 2021 年 3 月正式弃用。 此外,当用于保护传入或传出网站的敏感信息时,TLS 1.0 不被视为 PCI 数据安全标准 3.2(.1) 定义和要求的“强加密”。 根据 PCI 的说法,“为了满足 PCI 数据安全标准 (PCI DSS ) 用于保护支付数据。

漏洞处理方式:

IIS服务器需使用官方工具(IISCrypto.exe )进行修改

二、中危漏洞

1、TLS 1.1 enabled(报告启用了 TLS 1.1)

漏洞描述:

Web 服务器支持通过 TLS 1.1 进行加密,由于固有的安全问题,该协议已于 2021 年 3 月正式弃用。 以支付卡行业 (PCI) 数据安全标准 (DSS) 合规为目标时,建议改用 TLS 1.2 或更高版本。 根据 PCI 的说法,“为了满足 PCI 数据安全标准 (PCI DSS ) 用于保护支付数据。

漏洞处理方式:

IIS服务器需使用官方工具(IISCrypto.exe )进行修改

2、Vulnerable JavaScript libraries(易受攻击的 JavaScript 库)

漏洞描述:

JavaScript版本低了,主要是jquery-1.9.1.min.js。

漏洞处理方式:

升级到jquery-1.11.1.min.js

三、低危漏洞

1、ASP.NET debugging enabled(启用了 ASP.NET 调试)

漏洞描述:

此应用程序已启用 ASP.NET 调试。 建议在部署生产应用程序之前禁用调试模式,可能通过 ASP.NET 应用程序泄露有关 Web 服务器的敏感信息。

漏洞处理方式:

找到网站根目录下的Web.config文件,用记事本打开,将 debug 属性更改为 false 以禁用该应用程序的调试。如下:

<compilation debug="false"/>

然后保存 Web.config文件 ,回收应用池。

2、ASP.NET version disclosure(ASP.NET 版本显露)

漏洞描述:

此 Web 应用程序返回的 HTTP 响应包含一个名为 X-AspNet-Version 的标头。 Visual Studio 使用此标头的值来确定正在使用的 ASP.NET 版本。 生产站点不需要它,应该禁用它。

漏洞处理方式:

在Web.config文件中添加<httpRuntime enableVersionHeader="false" />

3、Clickjacking: X-Frame-Options header(点击劫持:X-Frame-Options 标头)

漏洞描述:

Clickjacking是一种恶意技术,它诱骗 Web 用户点击与用户认为他们正在点击的内容不同的东西,从而可能泄露机密信息或控制他们的计算机,同时 点击看似无害的网页。 服务器没有返回值为 DENY 或 SAMEORIGIN 的 X-Frame-Options 标头,这意味着该网站可能面临点击劫持攻击的风险。 X-Frame-Options HTTP 响应标头可用于指示是否应允许浏览器在框架或 iframe 内呈现页面。 网站可以使用它来避免点击劫持攻击,方法是确保其内容不会嵌入到不受信任的网站中。

漏洞处理方式:

在web.config文件中添加如下代码:

<system.webServer>

  ...​

  <httpProtocol>

    <customHeaders>

      <add name="X-Frame-Options" value="SAMEORIGIN" />

    </customHeaders>

  </httpProtocol>​

  ...
</system.webServer>

4、Cookies with missing, inconsistent or contradictory properties(具有缺失、不一致或矛盾属性的 Cookie)

漏洞描述:

至少以下 cookie 属性之一会导致 cookie 无效或与同一 cookie 的不同属性或 cookie 使用环境不兼容。虽然这本身不是漏洞,但它可能会导致 应用程序的意外行为,这反过来可能会导致次要安全问题。

漏洞处理方式:

web.config文件中增加如下代码:

<configuration>

    <system.web>

        <httpCookies sameSite="[Strict|Lax|None|Unspecified]" requireSSL="[true|false]" />

    <system.web>

<configuration>

注意: 需要安装.net fromwork 4.7.2及以上版本才支持sameSite属性

5、Cookies without Secure flag set(未设置安全标志的 Cookie)

漏洞描述:

一个或多个 cookie 没有设置安全标志。 当 cookie 设置了 Secure 标志时,它会指示浏览器 cookie 只能通过安全的 SSL/TLS 通道访问。 这是会话 cookie 的重要安全保护。Cookie 可以通过未加密的渠道发送。

漏洞处理方式:

上一条修改已经处理此问题

6、HTTP Strict Transport Security (HSTS) not implemented(未实施 HTTP 严格传输安全 (HSTS))

漏洞描述:

HTTP 严格传输安全 (HSTS) 告诉浏览器一个网站只能使用 HTTPS 访问。 检测到您的 Web 应用程序未实现 HTTP 严格传输安全 (HSTS),因为响应中缺少严格传输安全标头。

漏洞处理方式:

web.config文件中增加如下代码:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
                        redirectType="Permanent" />
                </rule>
            </rules>
            <outboundRules>
                <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
                    <match serverVariable="RESPONSE_Strict_Transport_Security"
                        pattern=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="on" ignoreCase="true" />
                    </conditions>
                    <action type="Rewrite" value="max-age=31536000" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

有关记录一个等保二的项目的漏洞处理的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  5. ruby-on-rails - 渲染另一个 Controller 的 View - 2

    我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>

  6. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  7. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  8. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  9. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  10. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

随机推荐