问题背景

什么是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. SpringBoot2.0之@Configuration注解

    SpringBoot2.0之@Configuration注解 本文转载自:https://www.javaman.cn/sb2/springboot-configuration 前面我们介绍了Spri ...

  2. 手机访问电脑本地localhost网页

    项目需要用手机访问电脑本地网页,从而可以调试项目,对代码的理解的快一点 重点 确保手机和电脑在同一个局域网 可以通过手机开热点电脑连接或者电脑开便携式热点手机连接 确保电脑的防火墙是关闭的 打开apa ...

  3. python中的的异步IO

    asyncio 是干什么的? 异步网络操作 并发 协程 python3.0 时代,标准库里的异步网络模块:select(非常底层) python3.0时代,第三方异步网络库:Tornado pytho ...

  4. (10)MySQL进阶篇SQL优化(InnoDB锁-间隙锁)

    1.概述 当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁:对于键值在条件范围内但并不存在的记录,叫做"间隙(GAP)&quo ...

  5. Spring Cloud Alibaba(10)---Sentinel控制台搭建+整合SpringCloudAlibaba

    上一篇博客讲了Sentinel一些概念性的东西 Spring Cloud Alibaba(9)---Sentinel概述 这篇博客主要讲 Sentinel控制台搭建,和 整合SpringCloudAl ...

  6. XAML 属性元素,标记扩展和注释

    这节来讲一下XAML中的属性元素,标记扩展,和注释. 属性元素 一般的,我们想要对一个标签的属性赋值,可以直接在标签内部键入属性名给其赋值,如我们给button的Content属性赋值: <Bu ...

  7. 如何安装Eigen库和Sophus库

    * { font-family: "Tibetan Machine Uni", "sans-serif", STFangSong; outline: none ...

  8. .Net Core——用代码写代码?

    想要用代码写代码,肯定是绕不开反射的.反射的概念相比都不陌生,只是应用多少就因人而异,今天分享一个代码生成器的思路,仅供参考,不要过分依赖哦. 思路分析 众所周知,利用反射可以在程序运行时获取到任一对 ...

  9. ELK 在 MacOS( Big Sur) 上安装与配置步骤

    ELK学习笔记 - 安装篇 目录 ELK学习笔记 - 安装篇 1. ElasticSearch 1.1 发展历史及现状 1.2 ElasticSearch 的安装 2. Logstash 2.1 Lo ...

  10. linux操作系统故障处理-ext4文件系统超级块损坏修复

    linux操作系统故障处理-ext4文件系统超级块损坏修复   背景 前天外面出差大数据测试环境平台有7台服务器挂了,同事重启好了五台服务器,但是还有两台服务器启动不起来,第二天回来后我和同事再次去机 ...