问题背景

什么是TCP timestamps(TCP 时间戳)?

The remote host implements TCP Timestamps, as defined by RFC1323 (https://www.ietf.org/rfc/rfc1323.txt). A side effect of this feature is that the uptime of the remote host can be sometimes be computed.

以前,TCP/IP 堆栈使用每个发送数据窗口的一个示例来计算 RTT  。 计时器 (发送) 时重新传输计时器报告,直到收到确认。TCP 时间戳选项现在可以在堆栈认为 (data 和 ACK) 使用,以执行如下操作:

  • RTT computation
  • PAWS check

使用TCP 时间戳,可以使用较大的窗口准确计算 RTT。 RTT 用于计算重新传输间隔。 要获得最佳吞吐量,需要准确的 RTT 和重新传输时间。

如何来解决呢?

禁用TCP timestamps。

在Linux系统中,在 /etc/sysclt.conf 文件中添加一行 “net.ipv4.tcp_timestamps=0”, 然后再执行 “sysctl -p”指令把修改的设置附加到运行环境。

To disable TCP timestamps on linux add the line 'net.ipv4.tcp_timestamps=0' to /etc/sysclt.conf. Execute 'sysctl -p' to apply the settings at runtime.

再Windows系统中,执行 "netsh int tcp set global timestamps = disabled "

TO disable TCP timestamps on Windows execute ' netsh int tcp set global timestamps = disabled '

问题描述

在Azure App Service中部署的Web App应用,在进行安全扫描的时候,发现了TCP timestamps的问题,建议Disable TCP Timestamps。但是根据安全描述中提示的指令在App Service的Kudu(https://<yourwebapp>.scm.chinacloudsites.cn/)中执行时,提示Deny。如图:

问题解答

由于App Service是PaaS服务,用户没有权限禁用TCP Timestamp。在启用改属性后它带来的优点是能提升TCP的性能,它的弱点时被攻击者计算出系统远行的时间。

(Source:Beyond Security | Finding and Fixing Vulnerabilities in TCP Timestamps Retrieval , a Low Risk Vulnerability

而且,Azure App service实际上是在后端Worker上运行Web App的应用代码,而Worker前面有还有前端Front End和负载均衡Load Balancer来转发请求,所以客户端请求是不会直接到达Worker的。这也是Azure中PaaS服务的一种通常架构。而且在Azure中的服务天然受到Azure环境的保护。

同时,由于这是一个低等级的漏洞,考虑Web App运行在云环境中,而且如果禁用后也会影响性能等其他问题,所以它是可以忽略的。

安全性

Azure 采用一系列可靠的安全技术和实践,帮助确保 Azure 基础结构能够应对攻击,保护用户对 Azure 环境的访问,并通过加密通信、威胁管理和缓解实践 ( 包括定期渗透测试 ) 来帮助保障客户数据的安全。

附件一: TCP Timestamps扫描漏洞截图

参考资料

TCP Windows说明:https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/networking/description-tcp-features#timestamps

Finding and Fixing Vulnerabilities in TCP Timestamps Retrieval , a Low Risk Vulnerability:https://beyondsecurity.com/scan-pentest-network-vulnerabilities-tcp-timestamps-retrieval.html?cn-reloaded=1&cn-reloaded=1

RFC1323 :https://www.ietf.org/rfc/rfc1323.txt

认识 Azure安全性:https://www.trustcenter.cn/zh-cn/security/default.html

【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞的更多相关文章

  1. 【Azure 应用服务】一个 App Service 同时部署运行两个及多个 Java 应用程序(Jar包)

    问题描述 如何在一个AppService下同时部署运行多个Java 应用程序呢? 问题解答 因为App Service的默认根目录为 wwwroot.如果需要运行多个Java 应用程序,需要在 www ...

  2. Office web app server2013详细的安装和部署

    转自:http://blog.csdn.net/u011355311/article/details/9360293 SharePoint 2013集成Office web apps server20 ...

  3. sharepoint2013- Office web app server2013详细的安装和部署

    前提条件 Office web app server2013不能跟sharepoint server2013安装在同一台服务器上,如果安装在同一台服务器上将提示如下错误: 后来查询资料:  按照官方文 ...

  4. 使用 Visual Studio 2017 部署 Azure 应用服务的 Web 应用

    本快速入门介绍了如何使用 Visual Studio 2017 创建并部署 Azure Web 应用.在本教程中完成的所有操作均符合1元试用条件. 本快速入门介绍了如何使用 Visual Studio ...

  5. 【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法

    问题描述 在App Service for Windows的环境中,当前只提供了PHP 7.4 版本的选择情况下,如何实现自定义PHP Runtime的版本呢? 如 PHP Version 8.1.9 ...

  6. Microsoft Office 2010 requires 的 MSXML 版本 6.10.1129.0 be 已安装在您计算机的安装"的基于 Windows 7 的计算机上安装 Office 2010 时出现错误消息

    https://support.microsoft.com/zh-cn/kb/2290714

  7. Azure Web App (一)发布你的Net Core Web 项目

    一,引言 今天我们看一下Azure上的一个服务-----Web 应用,我们都知道云计算的三大模式:Iaas(基础设施即服务),Paas(平台即服务),Saas(软件即服务). Iass,其实就是虚拟主 ...

  8. 一键将Web应用发布到云-Azure Web App

    我们现在越来越多的传统应用,逐步向云端迁移,原先私有云的部署模式,逐步向云端PaaS IaaS转变.例如: 我们在云端Azure中申请VM虚拟机,将我们的Web应用部署到VM的IIS中,同时做云服务的 ...

  9. Azure Web App (二)使用部署槽切换部署环境

    一,引言 前天我们将到使用Azure的 Pass 服务 “Web App” 去部署我们的.NET Core Web项目,也同时有介绍到如何在VS中配置登陆中国区的Azure账号,今天接着讲,我们部署完 ...

随机推荐

  1. Day004 Scanner对象

    Scanner对象 作用 ​ 我们可以通过Scanner类来获取用户的输入 所属包 ​ java.util.Scanner java 工具类下 基本语法 Scannner s=new Scanner( ...

  2. JavaScript 中正则匹配时结果不一致的问题

    创建示例项目 考察如下场景,我们有个输入框组件,输入时同时进行校验. interface IInputProps { label: string; } function Input({ label } ...

  3. Django(7)url命名的作用

    前言 为什么我们url需要命名呢?url命名的作用是什么?我们先来看一个案例 案例 我们先在一个Django项目中,创建2个App,前台front和后台cms,然后在各自app下创建urls.py文件 ...

  4. Git 系列教程(12)- 分支的新建与合并

    实际工作场景 可能会遇到的工作流 开发某个网站 为实现某个新的用户需求,创建一个分支 在这个分支上开展新工作 正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补,你将按照如下方式来处理: 切换 ...

  5. 炸天的3D引擎OpenCASCADE的用法及案例(https://blog.csdn.net/xipengbozai/article/details/117044032?spm=1001.2014.3001.5502)

    What CASCADE?Open CASCADE(简称OCC)平台是由法国Matra Datavision公司开发的CAD/CAE/CAM软件平台,可以说是世界上最重要的几何造型基础软件平台之一.开 ...

  6. C#·对于BOM头之完全解决方案

    阅文时长 | 0.46分钟 字数统计 | 798.4字符 主要内容 | 1.引言&背景 2.使用C#写入带有/不带有BOM头的文件? 3.对于读取文件时,避免BOM头造成的异常. 4.声明与参 ...

  7. [刷题] 343 Integer Break

    要求 给定一个正数n,可将其分割成多个数字的和,求让这些数字乘积最大的分割方法(至少分成两个数) 示例 n=2,返回1(2=1+1) n=10,返回36(10=3+3+4) 实现 回溯遍历(n^2,超 ...

  8. CENTOS7network config文件不能直接bak 必须建立bak目录再bak

    CENTOS7network config文件不能直接bak 必须建立bak目录再bak

  9. 【转载】在python的class中的,self到底是什么?

    在python的class中的,self到底是什么?   答案:self可以理解为一个字典变量,内部存的就是对象的数据属性.如:{'name':'zhang','age':'18'}就是这些. 注意只 ...

  10. Linux shell sed命令在文件行首行尾添加字符

    昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...