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

一、高危漏洞:

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>

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
人事管理系统是一个比较大的项目,需要涉及到许多方面的知识和技能,包括但不限于数据库设计、后端开发、前端开发、安全性等等。在这里,我只能给你提供一个大致的架构,并提供一些关键的代码实现。 1. 数据库设计 人事管理系统的数据库设计非常重要,需要考虑到各种数据表之间的关系,以及如何最大限度地提高数据库的性能。 一个基本的数据库设计可能包括以下数据表: - Employee:员工信息表,包括员工ID、姓名、性别、出生日期、联系方式、入职日期、离职日期等字段。 - Department:部门信息表,包括部门ID、部门名称、负责人等字段。 - Position:职位信息表,包括职位ID、职位名称、所属部门等字段。 - Attendance:考勤记录表,包括考勤ID、员工ID、考勤日期、考勤时间、考勤类型等字段。 - Salary:工资记录表,包括工资ID、员工ID、工资月份、基本工资、绩效工资等字段。 2. 后端开发 后端开发主要负责处理业务逻辑,包括数据的增删改查、数据的校验、安全性等方面。下面是一个基本的后端接口设计: - 获取员工列表:GET /api/employees/ - 获取员工信息:GET /api/employees/{id} - 添加员工信息:POST /api/employees/ - 修改员工信息:PUT /api/employees/{id} - 删除员工信息:DELETE /api/employees/{id} 这里给出一个添加员工信息的代码示例: ```java @PostMapping("/api/employees") public ResponseEntity<?> addEmployee(@RequestBody Employee employee) { // 对数据进行校验 if (employee.getName() == null || employee.getName().isEmpty()) { return ResponseEntity.badRequest().body("姓名不能为空!"); } // 将数据插入到数据库中 try { employeeService.addEmployee(employee); } catch (Exception e) { e.printStackTrace(); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("添加员工信息失败!"); } return ResponseEntity.ok("添加员工信息成功!"); } ``` 3. 前端开发 前端开发主要负责构建用户界面,向后端发送请求并展示数据。下面是一个基本的前端页面设计: - 员工列表页面:展示所有员工的信息,包括姓名、性别、出生日期、联系方式、入职日期等字段。 - 员工信息页面:展示一位员工的详细信息,并允许用户进行修改和删除操作。 - 添加员工页面:允许用户输入员工的信息,并将信息发送到后端进行添加操作。 - 修改员工页面:允许用户修改一位员工的信息,并将修改后的信息发送到后端进行更新操作。 4. 安全性 人事管理系统中包含了大量的敏感信息,如员工的个人信息、薪资等,因此安全性非常重要。为了保证系统的安全性,可以采取以下措施: - 使用HTTPS协议进行通信,防止数据被窃取或篡改。 - 对用户输入的数据进行校验,防止SQL注入等攻击。 - 对重要的操作(如修改、删除)进行权限控制,防止非法操作。 - 对系统进行定期的漏洞扫描和安全测试,及时发现并修复安全漏洞。 以上仅是人事管理系统的一个基本架构,实际开发中还需要考虑到更多的细节和特殊情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值